C dacă ... altfel Declarație

În acest tutorial, veți afla despre declarația if (inclusiv if … else și imbricată if … else) în programarea C cu ajutorul exemplelor.

Declarație C if

Sintaxa ifdeclarației din programarea C este:

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

Cum funcționează declarația?

ifDeclarația evaluează expresia de test din interiorul paranteza ().

  • Dacă expresia testului este evaluată la adevărată, ifse execută instrucțiunile din interiorul corpului .
  • Dacă expresia testului este evaluată ca fiind falsă, declarațiile din corpul lui ifnu sunt executate.

Pentru a afla mai multe despre momentul în care expresia testului este evaluată la adevărat (valoare diferită de zero) și falsă (0), verificați operatorii relaționali și logici.

Exemplul 1: declarație 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; )

Ieșire 1

Introduceți un număr întreg: -2 Ați introdus -2. Afirmația if este ușoară.

Când utilizatorul introduce -2, expresia testului number<0este evaluată la adevărat. Prin urmare, ați introdus -2 este afișat pe ecran.

Ieșire 2

 Introduceți un număr întreg: 5 Instrucțiunea if este ușoară.

Când utilizatorul introduce 5, expresia testului number<0este evaluată la fals și declarația din corpul lui ifnu este executată

C dacă … altfel Declarație

ifDeclarația poate avea un opțional elsebloc. Sintaxa if… elsedeclarației este:

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

Cum dacă … altfel funcționează declarația?

Dacă expresia testului este evaluată la adevărată,

  • declarațiile din interiorul corpului ifsunt executate.
  • declarațiile din interiorul corpului elsesunt omise de la executare.

Dacă expresia testului este evaluată la fals,

  • declarațiile din interiorul corpului elsesunt executate
  • declarațiile din interiorul corpului ifsunt omise de la executare.

Exemplul 2: declarație dacă … 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; )

Ieșire

 Introduceți un număr întreg: 7 7 este un număr impar.

Când utilizatorul introduce 7, expresia testului number%2==0este evaluată ca fiind falsă. Prin urmare, declarația din interiorul corpului elseeste executată.

C dacă … altfel Scară

Instrucțiunea if… elseexecută două coduri diferite, în funcție de faptul dacă expresia testului este adevărată sau falsă. Uneori, trebuie făcută o alegere din mai mult de 2 posibilități.

Scara if … else vă permite să verificați între mai multe expresii de test și să executați instrucțiuni diferite.

Sintaxa lui if … else Scara

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

Exemplul 3: C dacă … altfel Scară

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

Ieșire

 Introduceți două numere întregi: 12 23 Rezultat: 12 <23

Cuibărit dacă … altfel

Este posibil să includeți o if… elsedeclarație în corpul unei alte if… elsedeclarații.

Exemplul 4: cuibărit dacă … altfel

Acest program de mai jos se referă două numere întregi folosind fie <, >și =similar cu if… elseexemplul scara lui. Cu toate acestea, vom folosi o if… elsedeclarație imbricată pentru a rezolva această problemă.

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

Dacă corpul unei if… elseinstrucțiuni are o singură instrucțiune, nu trebuie să utilizați paranteze ().

De exemplu, acest cod

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

este echivalent cu

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

Articole interesante...