Bilgisayar Programlama/C/If-Else Blokları
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
editBelirli 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
editYukarı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
editBirden 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