Etiket Arşivi kod

do – while döngüsü

Bu yazıda do – while döngüsünden bahsetmeye çalışacağım. do – while, while döngüsüne benzer, fakat koşul ile çalışacak kodların yeri farklıdır. Yani yazım şekli şöyledir:

do{
//calisacak kodlar
}
while(kosul);

Burada, dikkat edilmesi gereken while’dan sonra “;”ün unutulmamasıdır. Örneğin girilen beş sayının ortalamasını alan bir kod yazalım:

#include
#include

int main()
{
    int sayac = 0;
    int toplam = 0;
    int puan = 0;

    do
    {
        printf("Puan girin : ");
        scanf("%d", &puan);

        toplam = toplam + puan;
        sayac++;

        }

        while(sayac < 5);

        printf("\n-------------------\n\nSinif ortalamasi : %.2f", float(toplam)/5.0);

        getch();
        return 0;
}

Kodu kısaca inceleyecek olursak, ilk önce değişkenlerimizi tanımladık. “sayac” değişkeni döngünün kaç kez döndüğünü kontrol ediyor. “toplam” değişkeni, girilen sayıların toplamını tutuyor. “puan” değişkeni ise girilen puanları “scanf” ile aldığımız değişken.

do’nun içini incelersek;
İlk önce kullanıcıdan puan girmesi isteniyor. Girilen puan “puan” isimli değişkene aktarılıyor. Ardından, “toplam” değişkenine girilen puan ekleniyor, tekrar “puan” değişkenine atanıyor. “sayac” değeri bir arttırılıyor. Daha sonra koşul kontrol ediliyor. “sayac” değeri 5’ten küçük olduğu sürece, yani “0,1,2,3,4” değerlerinde olmak üzere döngü beş kez dönüyor. Ardından “sayac” değeri 5 olduğunda 5<5 olmadığı için döngüden çıkılıyor.

Sıra geldi sonucu ekrana bastırmaya. “printf”i incelersek; ilk olarak “\n” ile bir satır aşağı indik. “————-” şeklinde girilen değerlerle sonucu ayırmak için bir çizgi çektik. “\n\n” ile iki satır daha aşağı indik. “%.2f” ile, bastırılacak değişkenin “float” tipinde olduğunu, ve “f”ten önce gelen “.2” ile de virgülden sonra iki basamak bastırmak istediğimizi belirttik.

Gelelim bastırılacak değişkenin hesaplanmasına: öncelikle elde etmek istediğimiz sonuç “float” tipinde olduğu için, bu tipi sadece float’u float’a bölerek elde ederiz. Bu nedenle “float(toplam)” ile int tipinde olan “toplam” değişkeni float’a dönüştürüldü. “5.0” yazmamızın nedeni de yine float olması. “5” yazsaydık bu integer olarak kabul edilecekti. Sonuç olarak float’a dönüştürdüğümüz “toplam” değişkenini yine float olan “5.0” a böldüğümüzde sonucumuzu elde ederiz, bunu da “%.2f” ile ekrana basarız.

Share

for

C dilinde kullanılan bir diğer döngü for döngüsüdür. Mantık olarak while’dan hiçbir farkı yoktur. Sadece yazılış şekli biraz değişiktir. Kod yazana kolaylık sağlar while’a göre. Pekçok kişi for’u öğrendiğinde sevmez, while kullanmaya devam eder. Fakat bir süre sonra alışınca while’ın yüzüne bile bakmaz. (Buna ben de dahilim.) Yazım şekli genel olarak şöyledir:

for(kontrol edilecek değişken ve başlangıç değeri ; koşul ; değişkenin artış/azalış miktarı)
{…}

for(i = 0 ; i <= 10 ; i++)
printf("%d", i * i);

şeklinde bir kod, while’da yaptığımız örneğin for ile yazılmış şeklidir. i değişkenini tanımlarken 0 ile ilklendirmeme gerek kalmaz. While’dan çıkmadan hemen önce i’yi arttırmama da gerek kalmamış olur, çünkü hepsini for’un içinde hallediyorum.

for’un üç tane bileşeni var: ilk değer, koşul, artış miktarı. Bunlardan koşul dışındakileri yazmak zorunda değiliz. Şöyle ki;

for( ; i <= 10 ; )
printf("%d", i * i);

Bu durumda for’umuz while gibi işlem yapar. Yine if ve while’da olduğu gibi altta çalışacak kod birden fazla satırdan oluşuyorsa süslü parantez kullanmak durumundayız.

Share

if

C’de sıkça kullanılan “statement”lardandır. if komutu, bir koşulun gerçekleşip gerçekleşmediğine bağlı olarak birtakım kodların çalışmasını sağlar. Yazım şekli şöyledir:

if(koşul)
{koşul gerçekleştiğinde çalışacak kodlar}
else
{koşul gerçekleşmediğinde çalışcak kodlar}

Koşulu kontrol etmek için bazı matematiksel semboller kullanmamız gerekir.

==     Eşittir
!=      Eşit değil
<       Küçüktür
>       Büyüktür
<=    Küçük veya eşit
>=    Büyük veya eşit

Sonraki Sayfa »

Share