İf else Kontrol Yapıları
İf else Seçim Yapıları
Genel ifadeler, programa yazıldıkları sırada teker teker çalışırlar. Buna sıralı çalışma denir. Bazı özel C komutları bu sırayı değiştirmemize yardımcı olur. Böylece, sıradaki ifade yerine istenen ifadenin çalıştırması sağlanabilir
İf Kontrol Yapısı
Seçme yapısı; seçenekli bir ifadenin seçeneklerinde birini seçmek için kullanılır. Bir dersi geçme notunu 50 olduğunu varsayalım,
Eğer (if) öğrencinin notu 50’dan büyükse yada 50′ eşitse “Geçtiniz” yazar.
Eğer kodu C dilinde yazılmak istenirse
if (not>=60) printf (“Gectiniz\n);
şeklinde yazılır. if kodunun algoritması algoritma bölümünde gösterilmiştir.Bakınız.
İf/else Kontrol Yapısı
if yapısı, koşul doğru ise belirlenen iş yapıyor, yanlış ise belirlenen iş atlıyordu if/else yapısı, programcıya koşul doğruysa belli işleri, yanlış ise başka koşulları yapabilme fırsatı verir.
Eğer (if) öğrencinin notu, 50 yada daha büyükse
“Geçtiniz” yazdırır
aksi durumda (else)
“Kaldınız” yazdırır
Yukarıdaki sahte kod ile notu 50 yada 50’den büyük olan öğrenciler için Geçtiniz mesajı, 50’den küçük olan öğrenciler için Kaldınız mesajı yazdırılacaktır.
C programlama dilinde kodlanacak olursa:
if (not >=60) printf (“Geçtiniz\n); else printf (“Kaldınız\n”);
C’ de if/else yapısına oldukça benzeyen koşul operatörünü (?:) kullanmamıza imkan sağlar. Bu operatör, üç operant alır. İlk operant ve operatör, koşullu deyimi oluşturur. İlk operant koşulun kendisidir. İkinci operant koşul doğru ise tüm koşullu deyimin değeri, üçüncü operant koşul yanlış ise tüm koşullu deyimin değeridir. Örneğin, aşağıdaki, printf ifadesi:
printf(“%s\n”, not>=60 ? ” Geçtiniz ” : “Kaldınız” );
“not >= 60” koşulu doğru ise “Geçtiniz” bilgisi yazılır yanlış ise “Kadınız” bilgisini yazdırır. İfadedeki %s ifadesi ekrana karakter yazılacağını belirtir.
İç İçe İf/else Yapıları
İç içe if/else yapıları içerisine başka if/else yapıları yerleştirerek birden fazla koşula aynı anda test etmemizi sağlar.
Eğer (if) öğrencinin notu 90’a eşit yada 90’dan büyükse
“A” yazdır
Değilse (else)
Eğer (if) öğrencinin notu 80’e eşit yada 80’den büyükse
“B” yazdır
Değilse (else)
Eğer (if) öğrencinin notu 70’e eşit yada 70’den büyükse
“C” yazdır
Değilse (else)
Eğer (if) öğrencinin notu 60’a eşit yada 60’dan büyükse
“D” yazdır
Değilse (else)
“F” yazdır
Yukarıdaki sahte kodu C dilinde yazacak olursak:
if (not>=90) printf(“A\n”); else if (not>=80) printf(“B\n); else if(not>=70) printf(“C\n”); else if(not<=60) printf(“D\n”); else printf(“F\n”);
Eğer not 90′a eşit yada 90′dan büyükse ilk dört durumun tümü birden doğru ancak sadece ilk karşılaştırmadan sonraki printf çalıştırılacaktır. Bu printf uygulandıktan sonra, if/else yapısının en dıştaki else kısmı atlanacaktır.
İf seçim yapısı, gövdesinde yalnızca tek bir ifade bekler. Bir İf yapısının gövdesinde, birden fazla ifade bulundurmak istiyorsak bu ifadeleri küme parantezinin içine almamız gerekir. ( {}) Küme parantezinin içinde yer alan ifadeler birleşik ifade denir.
if (not>=60) printf(“Geçtiniz\n); else { printf(“Kaldınız\n); printf(“Bu dersi tekrar almalısınız\n); }
Bu durumda not 60’dan küçük olduğunda program else yapısının gövdesindeki iki printf ifadesini de çalıştıracak. Küme parantezi olmadan
printf (” Bu dersi tekrar almalısınız\n”);
İfadesi if/else yapısının else kısmının gövdesinin dışında kalacak ve notu 60’tan küçük yada büyük olmasına bakmaksızın çalıştıracaktır.