C if ... else Uttalande

I den här handledningen lär du dig om if-uttalande (inklusive om … annars och kapslat om … annat) i C-programmering med hjälp av exempel.

C om uttalande

Syntaksen för ifuttalandet i C-programmering är:

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

Hur om uttalande fungerar?

Det ifuttalandet utvärderar test uttryck inom parentes ().

  • Om testuttrycket utvärderas till sant ifutförs uttalanden i kroppen .
  • Om testuttrycket utvärderas till falskt ifutförs inte påståenden i kroppen .

För att lära dig mer om när testuttryck utvärderas till sant (icke-nollvärde) och falskt (0), kontrollera relations- och logiska operatorer.

Exempel 1: if uttalande

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

Utgång 1

Ange ett heltal: -2 Du angav -2. If-uttalandet är enkelt.

När användaren anger -2 number<0utvärderas testuttrycket till sant. Därför har du angett -2 visas på skärmen.

Utgång 2

 Ange ett heltal: 5 If-uttalandet är enkelt.

När användaren anger 5 number<0utvärderas testuttrycket till falskt och uttalandet inuti kroppen ifexekveras inte

C if… else Uttalande

Det ifuttalandet kan ha ett valfritt elseblock. Syntaxen för if… elseuttalandet är:

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

Hur om … annars uttalande fungerar?

Om testuttrycket utvärderas till sant,

  • uttalanden inuti kroppen ifutförs.
  • uttalanden inuti kroppen elsehoppas över från utförandet.

Om testuttrycket utvärderas till falskt,

  • uttalanden inuti kroppen elseutförs
  • uttalanden inuti kroppen ifhoppas över från utförandet.

Exempel 2: om … annars uttalande

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

Produktion

 Ange ett heltal: 7 7 är ett udda heltal.

När användaren anger 7 number%2==0utvärderas testuttrycket till falskt. Därför elseutförs uttalandet inuti kroppen .

C om … annars stege

Det if… elseuttalandet utför två olika koder beroende på om test uttrycket är sant eller falskt. Ibland måste ett val göras från mer än två möjligheter.

Stegen if … else låter dig kontrollera mellan flera testuttryck och utföra olika uttalanden.

Syntax för if … else Ladder

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

Exempel 3: C om … annars stege

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

Produktion

 Ange två heltal: 12 23 Resultat: 12 <23

Inkapslad om … annars

Det är möjligt att inkludera ett if… elseuttalande i kroppen av ett annat if… elseuttalande.

Exempel 4: Kapslat om … annars

Detta program som ges nedan relaterar till två heltal med endera <, >och =liknar if… elsestegeexemplet. Vi kommer dock att använda ett kapslat if… elseuttalande för att lösa detta 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; )

Om kroppen i ett if… elseuttalande bara har ett uttalande behöver du inte använda parenteser ().

Till exempel den här koden

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

är ekvivalent med

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

Intressanta artiklar...