I denne opplæringen vil du lære om uttalelse (inkludert hvis … annet og nestet hvis … annet) i C-programmering ved hjelp av eksempler.
C hvis uttalelse
Syntaksen for if
utsagnet i C-programmering er:
if (test expression) ( // statements to be executed if the test expression is true )
Hvordan hvis uttalelse fungerer?
Den if
uttalelsen evaluerer testen uttrykket inne i parentes ()
.
- Hvis testuttrykket blir evaluert til sant, blir utsagn i kroppen
if
utført. - Hvis testuttrykket blir evaluert til usant, blir utsagn i kroppen
if
ikke utført.
For å lære mer om når testuttrykk blir evaluert til sant (ikke-nullverdi) og usant (0), sjekk relasjonelle og logiske operatorer.
Eksempel 1: if uttalelse
// 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; )
Utgang 1
Skriv inn et heltall: -2 Du skrev inn -2. Hvis uttalelsen er enkel.
Når brukeren angir -2, blir testuttrykket number<0
evaluert til sant. Derfor, Du skrev inn -2 vises på skjermen.
Utgang 2
Skriv inn et heltall: 5 if-setningen er enkel.
Når brukeren skriver inn 5, blir testuttrykket number<0
evaluert til falskt og utsagnet i kroppen av if
blir ikke utført
C if… else Erklæring
Den if
uttalelsen kan ha en valgfri else
blokk. Syntaksen for if… else
utsagnet er:
if (test expression) ( // statements to be executed if the test expression is true ) else ( // statements to be executed if the test expression is false )
Hvordan hvis … annet uttalelse fungerer?
Hvis testuttrykket blir vurdert til sant,
- uttalelser i kroppen av
if
blir utført. - uttalelser i kroppen av
else
hoppes over fra henrettelsen.
Hvis testuttrykket blir evaluert til falsk,
- uttalelser i kroppen av
else
blir utført - uttalelser i kroppen av
if
hoppes over fra henrettelsen.
Eksempel 2: hvis … annet uttalelse
// 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; )
Produksjon
Skriv inn et heltall: 7 7 er et oddetall.
Når brukeren skriver inn 7, blir testuttrykket number%2==0
evaluert til falskt. Derfor blir utsagnet i kroppen av else
utført.
C hvis … ellers Ladder
Den if… else
uttalelse utfører to forskjellige koder, avhengig av hvorvidt testen uttrykket er sant eller usant. Noen ganger må det tas et valg fra mer enn to muligheter.
Stigen if … else lar deg sjekke mellom flere testuttrykk og utføre forskjellige utsagn.
Syntaks for hvis … ellers Ladder
if (test expression1) ( // statement(s) ) else if(test expression2) ( // statement(s) ) else if (test expression3) ( // statement(s) )… else ( // statement(s) )
Eksempel 3: C hvis … ellers Ladder
// 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; )
Produksjon
Skriv inn to heltall: 12 23 Resultat: 12 <23
Nestet hvis … annet
Det er mulig å inkludere en if… else
uttalelse i kroppen til en annen if… else
uttalelse.
Eksempel 4: Nestet hvis … annet
Dette programmet som er gitt nedenfor, relaterer to heltall som bruker begge <
, >
og =
ligner på if… else
stigenes eksempel. Vi vil imidlertid bruke en nestet if… else
uttalelse for å løse dette problemet.
#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; )
Hvis if… else
påstanden i en uttalelse bare har én påstand, trenger du ikke bruke parentes ()
.
For eksempel denne koden
if (a> b) ( print("Hello"); ) print("Hi");
tilsvarer
if (a> b) print("Hello"); print("Hi");