C if ... else Izjava

V tej vadnici boste s pomočjo primerov spoznali stavek if (vključno z if … else in ugnezdeni if ​​… else) v programiranju C.

C if Izjava

Sintaksa ifstavka v programiranju C je:

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

Kako, če stavek deluje?

ifIzjavo ocenjuje test izraz znotraj oklepaju ().

  • Če je testni izraz ovrednoten z true, ifse izvršijo stavki znotraj telesa .
  • Če je testni izraz ovrednoten, se stavki znotraj telesa ifne izvedejo.

Če želite izvedeti več o tem, kdaj se testni izraz oceni na true (vrednost, ki ni nič) in false (0), preverite relacijske in logične operatorje.

Primer 1: izjava if

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

Izhod 1

Vnesite celo število: -2 Vnesli ste -2. Izjava if je enostavna.

Ko uporabnik vnese -2, se testni izraz number<0oceni na true. Zato ste na zaslonu prikazali vneseno -2.

Rezultat 2

 Vnesite celo število: 5 Stavek if je enostaven.

Ko uporabnik vpiše 5, se testni izraz number<0oceni na false in stavek znotraj telesa ifne izvede

Izjava C, če … drugače

ifIzjava lahko neobvezno elseblok. Sintaksa if… elsestavka je:

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

Kako, če… druga izjava deluje?

Če je testni izraz ovrednoten z true,

  • ifse izvršijo stavki znotraj telesa .
  • stavki znotraj telesa elseso preskočeni.

Če je testni izraz ovrednoten,

  • elsese izvršijo stavki znotraj telesa
  • stavki znotraj telesa ifso preskočeni.

Primer 2: izjava if … else

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

Izhod

 Vnesite celo število: 7 7 je liho celo število.

Ko uporabnik vpiše 7, se testni izraz number%2==0oceni na false. Zato se stavek znotraj telesa elseizvrši.

C, če … drugače Lestev

if… elseIzjava izvaja dve različne oznake, odvisno od tega, ali je test izraz resnična ali neresnična. Včasih je treba izbrati več kot dve možnosti.

Lestev if … else omogoča preverjanje med več testnimi izrazi in izvajanje različnih stavkov.

Sintaksa if … else Lestev

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

Primer 3: C, če … drugače Lestev

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

Izhod

 Vnesite dve celi števili: 12 23 Rezultat: 12 <23

Gnezdi, če … drugače

if… elseIzjavo je mogoče vključiti v telo druge if… elseizjave.

Primer 4: ugnezdeni, če … drugače

Ta program je navedeno v nadaljevanju nanaša dve celi števili z uporabo obeh <, >in =podobno kot na if… elseprimer lestev je. Vendar bomo if… elseza rešitev te težave uporabili ugnezdeni stavek.

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

Če ima telo if… elsestavka samo en stavek, vam ni treba uporabljati oklepajev ().

Na primer ta koda

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

je enakovredno

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

Zanimive Članki...