C Programlama | Ders 3 | Matematiksel İşlemler (1/2)

1 Temmuz 2013 Pazartesi
Tags:

8 yorum:

  1. Merhaba, videoları izlemeye başladım. Öncelikle bu dersleriniz için teşekkür etmek istiyorum. Birde bu derste anlattığınız tip dönüşümleri ile ilgili bir sorum olacak. Ben bir tane ortalama hesaplayan c programı yazdım.

    #include
    #include

    main()
    {
    int a,b,osayi;
    float toplam,ortalama;

    toplam=0;
    printf("ogrenci sayisi : "); scanf("%d",&osayi);
    for(b=1; b<=osayi; b++)
    {
    printf("sayi gir: "); scanf("%d",&a);
    toplam=toplam+a;
    }
    ortalama=toplam/osayi;
    printf("Ortalama: %.1f", ortalama);
    getch();
    }

    burda tip dönüşümü yapmadığım hâlde program hata vermiyor ve doğru sonuç veriyor. Bunun nedeni nedir?

    YanıtlaSil
    Yanıtlar
    1. Merhabalar.
      sizin yapmış olduğunuz yalnızca int veritipindeki değerlerinin sonucunu float olarak vermişsiniz. Bu durumda tip dönüşümüne pek ihtiyaç duyulmaz. Ancak farklı iki ya da daha fazla veritipinde değerleri tek bir veritipinde göstermek istiyorsanız bu durumda veritipi dönüşümü yapmanız gerekir.

      Örn;
      int a,b; float b; gibi farklı değişkenler tanımlayıp sonucu float türünde vermek isterseniz a ve b değişkenlerinde veritipi dönüşümü yapmanız gerekir.
      iyi çalışmalar

      Sil
  2. Peki bu dönüşüm sadece bölme işlemi için mi gerekiyor? Örneğin;
    #include
    main()
    {
    int sayi1=5, sayi2=7;
    float toplam=sayi1+sayi2;
    float bolum=(float)sayi1/(float)sayi2;

    printf("%f\n",toplam);
    printf("%f",bolum);

    }

    programında toplam için tip dönüşümü yapılmasını istemiyor. Ama bolum için gerekiyor.

    YanıtlaSil
    Yanıtlar
    1. Bir nevi denilebilir. Ancak veritipi yalnızca bölme işlemlerinde kullanılmaz elbette. aynı türde fakat bellekte farklı alanlar kaplayan tipler üzerinde de yapılabilir. örneğin büyük sayıları bellekte tutan bigint türündeki bir değişkeni int veritipine dönüştürüp veritipleri arasında da yer değişimi yapılabilir. Burada daha önce tanımlamış olduğunuz bigint türünde bir verinin çok fazla yer kapladığını düşünüyorsanız programın ilerleyen adımlarında veritipi dönüşümü yaparak int veritipine dönüştürebilirsiniz. Böylece bellekte fazladan yer kaplayan bigint türündeki değişkeni int'a çevirerek belleğin gereksiz kullanılmasını önleyebilirsiniz.

      Sil
  3. Yorumlarınız için teşekkür ederim. Birde C derslerinin devamı var mı?

    YanıtlaSil
    Yanıtlar
    1. Fonksiyonlar konusuna kadar mevcut. En kısa zamanda yeni kayıtları ekleyeceğim.

      Sil
  4. int sayi1,sayi2,toplam;
    printf("Birinci sayiyi giriniz: "); scanf("%d",&sayi1);
    printf("Ikinci sayiyi giriniz: "); scanf("%d",&sayi2);
    toplam=sayi1+sayi2;
    printf("Sayilarin Toplami: ",toplam);

    Bunlar yazdıktan sonra derle/calıstır yapıyorum.birinci ve ikinci sayıyı yazıyorum fakat toplamı karsıma vermiyor?Nerede hata yaptım acaba?

    YanıtlaSil
    Yanıtlar
    1. printf("Sayilarin Toplami: %d ",toplam); şeklinde yazmayı unutmuşsunuz.

      Sil

Yorumunuz onaylandıktan sonra yayınlanacaktır.