Ц иф ... елсе Изјава

У овом упутству ћете научити о наредби иф (укључујући иф … елсе и угњежђено иф … елсе) у програмирању на Ц уз помоћ примера.

Ц иф Изјава

Синтакса ifизраза у Ц програмирању је:

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

Како ако изјава функционише?

ifСаопштењу оцењује израз тест унутар заграда ().

  • Ако се тест израз израчуна на тачно, ifизвршавају се изрази унутар тела .
  • Ако се тест израз израчуна на фалсе, изрази унутар тела ifне извршавају се.

Да бисте сазнали више о томе када се тест израз израчунава на тачно (вредност која није нула) и нетачно (0), проверите релационе и логичке операторе.

Пример 1: иф изјава

 // 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; )

Резултат 1

Унесите цео број: -2 Унели сте -2. Изјава иф је лака.

Када корисник унесе -2, тест израз number<0се процењује на тачно. Стога сте на екрану приказали унесену вредност -2.

Резултат 2

 Унесите цео број: 5 Израз иф је једноставан.

Када корисник унесе 5, тест израз number<0се процењује на нетачан и израз унутар тела ifне извршава се

Ц иф… елсе Изјава

ifИзјава може имати опциони elseблок. Синтакса if… elseизјаве је:

 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прескачу се из извршења.

Ако је тест израз оцењен као нетачан,

  • elseизвршавају се изрази унутар тела
  • изјаве унутар тела ifпрескачу се из извршења.

Пример 2: иф … елсе изјава

 // 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; )

Оутпут

 Унесите цео број: 7 7 је непаран цео број.

Када корисник унесе 7, тест израз number%2==0се процењује на нетачан. Стога elseсе извршава изјава унутар тела .

Ц иф … елсе Лествица

if… elseСаопштењу извршава две различите кодове у зависности од тога да ли је израз тест истинито или лажно. Понекад се мора направити избор између више од 2 могућности.

Лествица иф … елсе омогућава вам проверу између више тестних израза и извршавање различитих израза.

Синтакса иф … елсе Лествице

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

Пример 3: Ц иф … елсе Лествица

 // 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; )

Оутпут

 Унесите две целобројне вредности: 12 23 Резултат: 12 <23

Угнијежђено ако … друго

Могуће је уврстити if… elseизјаву у тело друге if… elseизјаве.

Пример 4: Угњежђено ако … другачије

Овај програм дат у наставку односи се на две целобројне вредности користећи било који <, >и =слично if… elseпримеру лествице. Међутим, користићемо угнеждену if… elseизјаву да бисмо решили овај проблем.

 #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; )

Ако тело if… elseизјаве има само једну изјаву, не требате користити заграде ().

На пример, овај код

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

је еквивалентно са

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

Занимљиви Чланци...