Bilgisayar Programlama/C/If-Else Blokları
Appearance
Eğitim seviyesi Bu öğrenim kaynağı yükseköğrenim (üniversite) seviyesindedir. |
C dilinde koşullara göre yürütülecek kodlar if, else ve else if blokları ile belirtilmektedir.
if
[edit]Belirli bir koşulda çalıştırılacak kodun yazıldığı bloktur. Aşağıdaki örnekte girilen iki sayı eşit olduğunda ekrana Sayılar eşittir yazdıran programın kodu verilmiştir.
Örnek:
#include <stdio.h> int main() { int sayi1, sayi2; printf("Sayı 1: "); scanf("%i", &sayi1); /* Birinci sayı girişi */ printf("Sayı 2: "); scanf("%i", &sayi2); /* İkinci sayı girişi */ if (sayi1 == sayi2) /* Girilen iki sayı eşit ise */ { printf("Sayılar eşittir\n"); } return 0; }
Dönüş:
Sayı 1: 24 Sayı 2: 24 Sayılar eşittir
else
[edit]Yukarıda verilen if bloğunun belirttiği koşulun dışında yürütülecek kod bu bloğa yazılır.
Örnek:
#include <stdio.h> int main() { int sayi1, sayi2; printf("Sayı 1: "); scanf("%i", &sayi1); /* Birinci sayı girişi */ printf("Sayı 2: "); scanf("%i", &sayi2); /* İkinci sayı girişi */ if (sayi1 == sayi2) /* Girilen iki sayı eşit ise */ { printf("Sayılar eşittir\n"); } else /* Sayılar eşit değilse */ { printf("Sayılar eşit değildir\n"); } return 0; }
Dönüş 1: (if)
Sayı 1: 33 Sayı 2: 33 Sayılar eşittir
Dönüş 2: (else)
Sayı 1: 41 Sayı 2: 33 Sayılar eşit değildir
else if
[edit]Birden fazla koşul belirtmek için kullanılan kod bloğudur. if ve else bloklarının aksine birden fazla bulunabilir. İlki if bloğundan sonra, sonrakiler ise öncekinden hemen sonra yazılır.
Örnek 1: (else bloğu olmadan)
#include <stdio.h> int main() { int sayi1, sayi2; printf("Sayı 1: "); scanf("%i", &sayi1); printf("Sayı 2: "); scanf("%i", &sayi2); if (sayi1 == sayi2) /* Girilen iki sayı eşit ise */ { printf("Sayılar eşittir\n"); } else if (sayi1 < sayi2) /* İlk girilen sayı ikincisinden küçük ise */ { printf("Birinci sayı ikinci sayıdan küçüktür\n"); } return 0; }
Dönüş 1: (if)
Sayı 1: 22 Sayı 2: 22 Sayılar eşittir
Dönüş 2: (else if)
Sayı 1: 34 Sayı 2: 48 Birinci sayı ikinci sayıdan küçüktür
Örnek 2: (else bloğu dahil)
#include <stdio.h> int main() { int sayi1, sayi2; printf("Sayı 1: "); scanf("%i", &sayi1); printf("Sayı 2: "); scanf("%i", &sayi2); if (sayi1 == sayi2) /* Girilen iki sayı eşit ise */ { printf("Sayılar eşittir\n"); } else if (sayi1 < sayi2) /* İlk girilen sayı ikincisinden küçük ise */ { printf("Birinci sayı ikinci sayıdan küçüktür\n"); } else /* Yukarıdaki koşullar sağlanmazsa */ { printf("Birinci sayı ikinci sayıdan büyüktür\n"); } return 0; }
Dönüş 1: (if)
Sayı 1: 14 Sayı 2: 14 Sayılar eşittir
Dönüş 2: (else if)
Sayı 1: 12 Sayı 2: 13 Birinci sayı ikinci sayıdan küçüktür
Dönüş 3: (else)
Sayı 1: 19 Sayı 2: 18 Birinci sayı ikinci sayıdan büyüktür