C İf Else

0 237

C Kodlarında, karar verme işlemlerinde sıralamayı ve çalışma yolunu belirtir. Bu makalemizde C dilinde kullanılan karar verme görevini üstlenen İf Else ifadesine yer vereceğiz.

C İf İfadesi

if (testExpression) 
{
   // statement(s)
}

İf İfadesi Nasıl Çalışır?

İf ifadesi parantez içerisine alınan test ifadesini inceler. Test ifadesi true (sıfır olmayan) olarak karar verirse, if’nin içerisideki ifadeler uygulanır.
Test ifadesi false (0) olarak karar verirse, if’nin gövdesi içindeki ifadeleri yürütmeden atlanır.

Örnek 1: if ifadesi

#include <stdio.h>
int main()
{
    int number;

    printf("Bir sayi giriniz: ");
    scanf("%d", &number);

    // Sayı 0'dan küçükse test ifadesi doğrudur
    if (number < 0)
    {
        printf("girdiğin sayı:  %d.\n", number);
    }

    printf("İf ifadesi kolaydır.");

    return 0;
}

Çıktı 1 :

Bir tamsayı girin: -5
girdiğin sayı: -5.
İf ifadesi kolaydır.

Kullanıcı -5 değerini girdiğinde, test ifadesi (sayı <0) true olarak karar verir. Dolayısıyla girdiğiniz -5 ekranda görüntülenir.

Çıktı 2 :

Bir tamsayı girin: 8
İf ifadesi kolaydır.

Kullanıcı 8 girdiğinde, test ifadesi (sayı <0) false olarak değerlendirilir ve içeirisinde bulunan tüm kodlar atlanır.

C İf Else İfadesi

İf ifadesinin isteğe bağlı başka bir bloğu olabilir. İf..else deyiminin sözdizimi şöyledir:

if (testExpression) {
    // if bünyesindeki ifadeler
}
else {
    // else bünyesindeki ifadeler
}

İf Else İfadesi Nasıl Çalışır ?

Test ifadesi true olarak karar verilirse;
– if ifadesinin içerisindeki kodlar yürütülür.
– else ifadesinin içerisindeki kodlar yürütmeden atlanır.

Test ifadesi false olarak karar verilirse;
– else ifadesinin içerisindeki kodlar çalıştırılır
– if ifadesinin içerisindeki kodlar atlanır.

Örnek 2: if else ifadesi

#include <stdio.h>
int main()
{
    int number;
    printf("Bir sayi giriniz: ");
    scanf("%d",&number);

    // Kalan 0 ise doğru
    if( number%2 == 0 )
        printf("%d çift sayıdır.",number);
    else
        printf("%d tek sayıdır.",number);
    return 0;
}

Çıktısı :

Bir tamsayı girin: 9
9 tek sayıdır.

Kullanıcı 9 girdiğinde, test ifadesi (sayı% 2 == 0) false olarak karar verir. Bu sebeple, else ifadesinin gövdesi içindeki ifade printf (“% d tek bir tamsayıdır”); çalışır ve if ifadesinin içerisindeki kodlar atlanır.

if else – if else İfadeleri

İf … else ifadesi, test ifadesinin doğru veya yanlış olmasına bağlı olarak iki farklı kod yürütür. Bazen, 2’den fazla olasılıktan bir seçim yapılması gerekir. Bunun için birden fazla kullanıp karar vermede doğru kararı bulmanıza yardımcı olur.

if (testExpression1) 
{
   // statement(s)
}
else if(testExpression2) 
{
   // statement(s)
}
else if (testExpression 3) 
{
   // statement(s)
}
.
.
else 
{
   // statement(s)
}

Yukarıda görüldüğü üzere birden fazla İf Else kullanılarak çok seçenekli sorunlarda karar vermeyi kullanabiliyoruz.

Örnek 3 : if else if else

#include <stdio.h>
int main()
{
    int number1, number2;
    printf("İki tam sayı girin: ");
    scanf("%d %d", &number1, &number2);

    //İki tamsayının eşit olup olmadığını kontrol eder.
    if(number1 == number2)
    {
        printf("Sonuç: %d = %d",number1,number2);
    }

    //numara1'in numara2'den büyük olup olmadığını kontrol eder.
    else if (number1 > number2)
    {
        printf("Sonuç: %d > %d", number1, number2);
    }

    // her iki test ifadesi de yanlışsa
    else
    {
        printf("Sonuç: %d < %d",number1, number2);
    }

    return 0;
}

Çıktısı :

İki tam sayı girin: 21
34
Sonuç: 21 < 34

İç İçe if else

İf … else ifadesini başka bir gövdenin içine if … else ifadesine dahil etmek mümkündür. Bu durumlara İç İçe İf Else denir. İç içe alınarak ilk İf gövdesine başka bir karar verme eklenerek oluşturulur. Ve tabi aynı durum Else için de geçerlidir.

Örnek 4 : İç İçe if Else Örneği :

#include <stdio.h>
int main()
{
    int number1, number2;
    printf("İki tam sayı girin: ");
    scanf("%d %d", &number1, &number2);

    if (number1 >= number2)
    {
      if (number1 == number2) 
      {
        printf("Sonuç: %d = %d",number1,number2);
      }
      else 
      {
        printf("Sonuç: %d > %d", number1, number2);
      }
    }
    else
    {
        printf("Sonuç: %d < %d",number1, number2);
    }

    return 0;
}

Cevap bırakın

E-posta hesabınız yayımlanmayacak.