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 ifutsagnet i C-programmering er:
if (test expression) ( // statements to be executed if the test expression is true )
Hvordan hvis uttalelse fungerer?
Den ifuttalelsen evaluerer testen uttrykket inne i parentes ().
- Hvis testuttrykket blir evaluert til sant, blir utsagn i kroppen
ifutført. - Hvis testuttrykket blir evaluert til usant, blir utsagn i kroppen
ifikke 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<0evaluert 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<0evaluert til falskt og utsagnet i kroppen av ifblir ikke utført
C if… else Erklæring
Den ifuttalelsen kan ha en valgfri elseblokk. Syntaksen for if… elseutsagnet 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
ifblir utført. - uttalelser i kroppen av
elsehoppes over fra henrettelsen.
Hvis testuttrykket blir evaluert til falsk,
- uttalelser i kroppen av
elseblir utført - uttalelser i kroppen av
ifhoppes 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==0evaluert til falskt. Derfor blir utsagnet i kroppen av elseutført.
C hvis … ellers Ladder
Den if… elseuttalelse 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… elseuttalelse i kroppen til en annen if… elseuttalelse.
Eksempel 4: Nestet hvis … annet
Dette programmet som er gitt nedenfor, relaterer to heltall som bruker begge <, >og =ligner på if… elsestigenes eksempel. Vi vil imidlertid bruke en nestet if… elseuttalelse 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… elsepå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");








