C if ... else İfadesi

Bu eğitimde, örnekler yardımıyla C programlamasında if ifadesi (if … else ve nested if … else dahil) hakkında bilgi edineceksiniz.

C if İfadesi

ifC programlamada ifadenin sözdizimi şöyledir:

 if (test expression) ( // statements to be executed if the test expression is true )

İfade nasıl çalışır?

ifİfadesi parantez içindeki deney ifadesini değerlendirir ().

  • Test ifadesi doğru olarak değerlendirilirse, gövdesi içindeki ifadeler ifçalıştırılır.
  • Test ifadesi yanlış olarak değerlendirilirse, gövdesi içindeki ifadeler ifçalıştırılmaz.

Test ifadesinin ne zaman doğru (sıfır olmayan değer) ve yanlış (0) olarak değerlendirildiği hakkında daha fazla bilgi edinmek için ilişkisel ve mantıksal operatörleri kontrol edin.

Örnek 1: if ifadesi

 // Program to display a number if it is negative #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // true if number is less than 0 if (number < 0) ( printf("You entered %d.", number); ) printf("The if statement is easy."); return 0; )

Çıkış 1

Bir tam sayı girin: -2 -2 girdiniz. İf ifadesi kolaydır.

Kullanıcı -2 girdiğinde, test ifadesi number<0doğru olarak değerlendirilir. Dolayısıyla ekranda -2 girdiniz görüntülenir.

Çıkış 2

 Bir tam sayı girin: 5 İf ifadesi kolaydır.

Kullanıcı 5 girdiğinde, test ifadesi number<0yanlış olarak değerlendirilir ve gövdesinin içindeki ifade ifçalıştırılmaz.

C if… else İfadesi

ifİfadesi isteğe bağlı olabilir elsebloğu. İfadenin sözdizimi if… elseşöyledir:

 if (test expression) ( // statements to be executed if the test expression is true ) else ( // statements to be executed if the test expression is false )

If… else ifadesi nasıl çalışır?

Test ifadesi doğru olarak değerlendirilirse,

  • gövdesinin içindeki ifadeler ifyürütülür.
  • gövdesinin içindeki ifadeler elseyürütmeden atlanır.

Test ifadesi yanlış olarak değerlendirilirse,

  • gövdesinin içindeki ifadeler elseyürütülür
  • gövdesinin içindeki ifadeler ifyürütmeden atlanır.

Örnek 2: if… else ifadesi

 // Check whether an integer is odd or even #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // True if the remainder is 0 if (number%2 == 0) ( printf("%d is an even integer.",number); ) else ( printf("%d is an odd integer.",number); ) return 0; )

Çıktı

 Bir tam sayı girin: 7 7 tek bir tamsayıdır.

Kullanıcı 7 girdiğinde, test ifadesi number%2==0yanlış olarak değerlendirilir. Bu nedenle, gövdesinin içindeki ifade elseçalıştırılır.

C eğer … yoksa Merdiven

if… elseİfadesi Test ifade doğru ya da yanlış olmasına bağlı olarak iki farklı kod yürütür. Bazen 2'den fazla olasılık arasından seçim yapılması gerekir.

If… else merdiveni, birden çok test ifadesi arasında kontrol yapmanızı ve farklı ifadeler yürütmenizi sağlar.

İf… else Ladder sözdizimi

 if (test expression1) ( // statement(s) ) else if(test expression2) ( // statement(s) ) else if (test expression3) ( // statement(s) )… else ( // statement(s) )

Örnek 3: C if… else Ladder

 // Program to relate two integers using =,> or < symbol #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); //checks if the two integers are equal. if(number1 == number2) ( printf("Result: %d = %d",number1,number2); ) //checks if number1 is greater than number2. else if (number1> number2) ( printf("Result: %d> %d", number1, number2); ) //checks if both test expressions are false else ( printf("Result: %d < %d",number1, number2); ) return 0; )

Çıktı

 İki tam sayı girin: 12 23 Sonuç: 12 <23

İç içe, eğer … değilse

Başka bir if… elseifadenin gövdesine bir ifade eklemek mümkündür if… else.

Örnek 4: İç içe geçmiş, if… else

Bu program, aşağıdaki kullanılarak iki tamsayı ile ilgilidir <, >ve =benzer if… elsemerdivenin örneğin. Ancak, if… elsebu sorunu çözmek için iç içe geçmiş bir ifade kullanacağız.

 #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); if (number1>= number2) ( if (number1 == number2) ( printf("Result: %d = %d",number1,number2); ) else ( printf("Result: %d> %d", number1, number2); ) ) else ( printf("Result: %d < %d",number1, number2); ) return 0; )

Bir if… elseifadenin gövdesinde yalnızca bir ifade varsa, köşeli parantez kullanmanıza gerek yoktur ().

Örneğin, bu kod

 if (a> b) ( print("Hello"); ) print("Hi");

eşdeğerdir

 if (a> b) print("Hello"); print("Hi"); 

Ilginç makaleler...