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.

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