if, if-else Yapıları : Bu yapılar, koşullu işlem yapan kontrol yapılarıdırlar. if ve else tek bir karşılaştırma deyimi olup else 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 else den sonraki bölüm atlanır. Koşul olumsuz ise if den sonraki satırlar atlanır ve eğer varsa, else den sonraki işlemler gerçekleştirilir.
if yapısının genel biçimi:
if(koşul)
{
........
işlem satırı; (ifade) ........
}
#include<stdio.h> int main( void ) { int s1; //girilen sayimiz// printf("Lütfen bir tam sayı giriniz: "); scanf("%d",&s1); if( s1 > 100 ) printf("Girilen sayı 100'den büyüktürn"); return 0; }
if(koşul)
{
... işlem satırı; (ifade1)
... }
else
{
... işlem satırı; (ifade2)
...
}
#include<stdio.h> int main( void ) { int s1; printf("Lütfen bir tam sayı giriniz: "); scanf("%d",&s1); if( s1 > 100 ) printf("Girilen sayı 100'den büyüktürn"); else printf("Girilen sayı 100'den küçüktürn"); return 0; }
if (ifade)
{
işlem satırı;
. . .
işlem satırı;
}
else
{
işlem satırı;
. . .
işlem satırı;
}
Yukarıdaki örneklerde, if komut işlem satırındaki koşul doğru sonuç veriyorsa, program aynı satırda yer alan tek bir işlem satırını devreye almaktaydı. Ancak iki veya daha fazla koşul kullanımında if komut işlem satırındaki koşul doğru sonuç verdiği zaman, program if yapısının hemen devamında gelen ({ }) işaretleri arasında bulunan komut işlem satırlarından oluşan kod bloğunun gereğini yerine getirir. Eğer koşul yanlış sonuç veriyorsa, program bu kez else yapısının hemen devamında bulunan ({ }) işaretleri arasındaki komut işlem satırlarından oluşan kod bloğunun gereğini yerine getirir. Yani if ve else deyimleri tek bir işlem satırının çalışmasını sağlayabilecekleri gibi aynı anda birden fazla işlem satırının da çalışmasını sağlayabilirler. Bir if veya else satırında koşul sağlandığında, koşula bağlı olarak devreye giren kod bloğu içinde yer alan işlem satırları sıra ile çalıştırılır. C'de, if ve else deyimlerinden sonra yer alan tek bir işlem satırı ya da kod bloğu kendisi ile bağlantılı olan diğer if ya da else satırında işlem satırı ya da kod bloğu kullanılması konusunda belirleyici değildir.
#include "stdio.h" main() { int s1; printf("Bir integer deger giriniz: "); scanf("%d", &s1); if(s1%2) { printf("Girilen sayi tek bir sayidirn"); printf("Sayinin 3 kati : %d", 3 * s1); } else { printf("Girilen sayi cift bir sayidirn"); printf("Sayinin 2 kati : %d", 2 * s1); } }
if else Örnek Programlar
Üç tamsayıyı okuyan ve bu üç tamsayının en küçüğünü bulup ekrana yazdıran bir C Programı
#include <stdio.h>; int main () { int s1,s2,s3; int minValue; printf("Lutfen birinci tamsayiyi giriniz: "); scanf("%d", &s1); printf("Lutfen ikinci tamsayiyi giriniz: "); scanf("%d", &s2); printf("Lutfen ucuncu tamsayiyi giriniz: "); scanf("%d", &s3); if (s1<s2) minValue = s1; else minValue = s2; if (s3<minValue) minValue = s3; printf("En kucuk deger: %d n", minValue); return(0); }
Klavyeden girilen harfin sesli harf olup olmadığını kontrol eden bir C Programı
#include <stdio.h> #include <conio.h> void main(void) { char H = ' '; printf("n Sesli Harf Kontrolu........"); printf("n ==========================="); printf("n Bir Harf giriniz :"); scanf("%c",&H); fflush(stdin); if( H == 'A' || H == 'E' || H == 'I' || H == 'O' || H == 'U' ) printf("n %c Bir SESLI Harftir.",H); else printf("n %c Bir SESLI harf Degildir.",H); return(0); }
#include <stdio.h> main() { int y1; printf("Bir yil girin: "); scanf("%d",&y1); if( y1 % 4 == 0 && y1 % 100 != 0 || y1 % 400 == 0 ) printf("%d Artik Yiln",y1); else printf("%d Artik Yil Degiln",y1); return(0); }
Kaynak