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 if
uttalandet i C-programmering är:
if (test expression) ( // statements to be executed if the test expression is true )
Hur om uttalande fungerar?
Det if
uttalandet utvärderar test uttryck inom parentes ()
.
- Om testuttrycket utvärderas till sant
if
utförs uttalanden i kroppen . - Om testuttrycket utvärderas till falskt
if
utfö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<0
utvä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<0
utvärderas testuttrycket till falskt och uttalandet inuti kroppen if
exekveras inte
C if… else Uttalande
Det if
uttalandet kan ha ett valfritt else
block. Syntaxen för if… else
uttalandet ä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
if
utförs. - uttalanden inuti kroppen
else
hoppas över från utförandet.
Om testuttrycket utvärderas till falskt,
- uttalanden inuti kroppen
else
utförs - uttalanden inuti kroppen
if
hoppas ö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==0
utvärderas testuttrycket till falskt. Därför else
utförs uttalandet inuti kroppen .
C om … annars stege
Det if… else
uttalandet 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… else
uttalande i kroppen av ett annat if… else
uttalande.
Exempel 4: Kapslat om … annars
Detta program som ges nedan relaterar till två heltal med endera <
, >
och =
liknar if… else
stegeexemplet. Vi kommer dock att använda ett kapslat if… else
uttalande 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… else
uttalande 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");