1. Genel Bilgiler Bu deyimler, koşullu işlem yapan deyimlerdir ve daima if deyimi ile başlar, if veya ile devam eder. if ve tek bir karşılaştırma deyimi olup kullanımı isteğe bağlıdır. Eğer bu koşul olumlu ise if den sonraki bölüm yürütülür ve den sonraki bölüm atlanır. Koşul olumsuz ise if den sonraki küme atlanır ve eğer varsa, den sonraki kümedeki işlemler gerçekleştirilir. if deyiminin yapının genel biçimi şöyledir: if(koşul) işlemler; (küme) if deyimi kullanılırken kümenin başlangıcı ve bitişini gösteren, küme parantezleri kullanılmasında kullanıcıya bir esneklik sunulmuştur. Eğer if deyiminden sonra icra edilecek deyimler tek satırdan oluşuyorsa, bu işaretlerin kullanılması zorunlu değildir. Yani, if deyimden sonra ve işaretleri kullanılmamışsa, bu deyimi takip eden sadece ilk satır işleme konur. Bu durum, if, deyimlerinde de geçerlidir. Buna göre aşağıdaki iki kullanım aynı sonucu vermektedir: if(x == y) printf("x ve y esit"); if(x == y) printf("x ve y esit"); if deyiminin ile birlikte kullanımı şu şekildedir: if(koşul) işlemler; (küme1) işlemler; (küme2) Koşul sayısı ikiden fazla olduğunda ya da koşulların açıkça belirtilmesi gerektiği durumlarda if- if- yapısı kullanılır. Bu kalıpta bir if satırı, istenilen sayıda if satırı ve isteğe bağlı olarak tanımlanan bir satırı bulunur. Yani, satırının tanımlanması şart değildir.
if kalıbının if ve deyimi ile birlikte kullanımı genel olarak aşağıdaki gibidir: if (Koşul1) if (Koşul2) if (Koşul3) if (Koşul4) satırında herhangi bir koşul olmadığına dikkat edin! 2. Karşılaştırma Operatörleri Aritmetik karşılaştırma operatörleri şunlardır: a > b a >= b a < b a <= b a == b a!= b : a değeri b değerinden büyük müdür? : a değeri b değerinden büyük ve eşit midir? : a değeri b değerinden küçük müdür? : a değeri b değerinden küçük ve eşit midir? : a değeri b değerine eşit midir? : a değeri b değerine eşit değil midir? Birden fazla koşulun bir arada kullanılması gerektiği durumlarda mantıksal karşılaştırma operatörleri kullanılır. Bunlar; a && b a b : a koşulu ve b koşulu aynı anda sağlanıyor mu? : a koşulu veya b koşullarından en az birisi doğru mudur? Atama operatörü = (tek eşittir) ile iki eşitliğin yan yana ve aralarında boşluk bırakılmadan yazılmasıyla oluşturulan eşitlik karşılaştırma operatörünü == (çift eşittir) karıştırmamaya dikkat ediniz!
3. Örnek Kodlar Klavyeden girilen bir sayının tek ya da çift olduğunu gösteren C programı #include <stdio.h> int printf("bir sayi girin: "); if (sayi % 2 == 0) printf("sayi cifttir.\n"); printf("sayi tektir.\n"); Klavyeden girilen bir sayının pozitif, negatif ya da sıfır olduğunu gösteren C programı #include <stdio.h> printf("bir sayi girin: "); if (sayi < 0) printf("sayi negatiftir.\n"); if (sayi > 0) printf("sayi pozitiftir.\n"); printf("sayi sifirdir.\n"); Klavyeden girilen bir tam sayının 10'dan büyük olup olmadığını söyleyen program printf("lütfen bir sayı giriniz> "); if( sayi > 10 ) printf("sayı 10'dan büyüktür\n"); printf("sayı 10'dan küçüktür veya 10'a eşittir\n");
Klavyeden girilen bir tam sayının 2 ye ve 3 e tam bölünüp bölünmediğini gösteren program printf("lütfen bir sayı giriniz> "); if( sayi % 2 && sayi % 3 ) printf("sayı 2 ye ve 3 e tam bolunur \n"); printf("sayı 2 ye ve 3 e tam bolunmez\n"); Klavyeden girilen 2 sayıyı, seçilen 4 işleme ( +, *, -, /) göre hesaplayan, basit hesap makinesi işlevini gerçekleyen programın C kodu. int sayi1, sayi2; char işlem; printf("1. sayiyi giriniz> "); scanf("%d",&sayi1); printf("2. sayiyi giriniz> "); scanf("%d",&sayi2); printf("yapacaginiz islemi giriniz> "); scanf("%c",&islem); if( işlem == + ) printf("bu bir toplama işlemidir. Sonuc = %d dir", sayi1 + sayi2); if (işlem == - ) printf("bu bir cikarma işlemidir. Sonuc = %d dir", sayi1 - sayi2); if (işlem == * ) printf("bu bir carpma işlemidir. Sonuc = %d dir", sayi1 * sayi2); if (işlem == / ) printf("bu bir bolme işlemidir. Sonuc = %d dir", sayi1 / sayi2); printf("gecersiz bir işlem girdiniz );
Klavyeden girilen vize ve final notuna göre öğrencinin dersten geçip geçmediğini ekranda gösteren programın C kodu. int vize, final; float ortalama; printf("vize notu giriniz> "); scanf("%d",&vize); printf("final notu giriniz> "); scanf("%d",&final); ortalama = vize * 0.4 + final * 0.6; printf("ortalamanız : %.2f", ortalama); if( ortalama >= 60) printf( Tebrikler, sınavdan geçtiniz ); printf( Üzgünüm, sınavdan kaldınız ); return 0 ; NOT! Bu örnekler ders esnasında verilen bilgileri pekiştirmek amacıyla çözülen örneklerdir. Sınav için daha fazla örnek araştırması ve uygulaması yapmanızı tavsiye ederim.