C kui ... muidu avaldus

Selles õpetuses saate näidete abil teada C-programmeerimises if-lause (sh if … else ja pesastatud, kui … else).

C kui avaldus

ifC-programmeerimise lause süntaks on:

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

Kuidas siis, kui avaldus töötab?

ifAvaldus hindab test väljend sulgudes ().

  • Kui testi avaldise väärtuseks on seatud tõene, iftäidetakse kehasisesed avaldused .
  • Kui testi avaldise väärtus on vale, siis kehas olevaid väiteid ifei täideta.

Kui soovite lisateavet selle kohta, millal testväljendi väärtus on tõene (nullväärtusest erinev) ja väär (0), kontrollige relatsioonilisi ja loogilisi operaatoreid.

Näide 1: if lause

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

Väljund 1

Sisestage täisarv: -2 sisestasite -2. Kui avaldus on lihtne.

Kui kasutaja sisestab -2, number<0hinnatakse testväljend tõeseks. Seega kuvatakse ekraanil Sisestatud -2.

Väljund 2

 Sisestage täisarv: 5 if-lause on lihtne.

Kui kasutaja sisestab 5, number<0hinnatakse testväljend valeks ja keha sisulist lauset ifei täideta

C kui … muidu avaldus

ifAvaldus võib olla vabatahtlik elseblokeerida. Avalduse süntaks if… elseon:

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

Kuidas siis, kui muidu lause töötab?

Kui testi avaldise väärtus on tõene,

  • avaldused keha sees iftäidetakse.
  • kehasisesed avaldused elsejäetakse täitmisest kõrvale.

Kui testväljend on väär,

  • avaldused keha sees elsetäidetakse
  • kehasisesed avaldused ifjäetakse täitmisest kõrvale.

Näide 2: kui … muu lause

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

Väljund

 Sisestage täisarv: 7 7 on paaritu täisarv.

Kui kasutaja sisestab 7, number%2==0hinnatakse testväljend valeks. Seega täidetakse lause keha sees else.

C kui … muidu Redel

if… elseAvalduse täidab kahte erinevat koodid sõltuvalt sellest, kas test väljend on õige või vale. Mõnikord tuleb valida rohkem kui kahe võimaluse vahel.

Kui… muu redel võimaldab teil kontrollida mitut testväljendit ja täita erinevaid väiteid.

Kui … muidu redeli süntaks

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

Näide 3: C, kui… muidu Redel

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

Väljund

 Sisestage kaks täisarvu: 12 23 Tulemus: 12 <23

Pesastatud, kui … muidu

Lauset on võimalik lisada if… elseteise if… elselause kehasse .

Näide 4: Pesitud, kui … muul juhul

See programm allpool käsitleb kahe täisarvu kasutades kas <, >ja =sarnane if… elseredel eeskuju. if… elseSelle probleemi lahendamiseks kasutame aga pesastatud lauset.

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

Kui if… elseavaldise kehas on ainult üks lause, ei pea te sulgusid kasutama ().

Näiteks see kood

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

on samaväärne

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

Huvitavad Artiklid...