Bilgisayar Programlama/C/If-Else Blokları

From Wikiversity
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