C if... else-verklaring
C if...else-statement
In deze tutorial leer je met behulp van voorbeelden over het if-statement (inclusief if...else en genest if..else) in C-programmering.
Video:C if else-statement
C if-statement
De syntaxis van de if
statement in C-programmering is:
if (test expression)
{
// code
}
Hoe werkt een if-statement?
De if
statement evalueert de testuitdrukking tussen haakjes ()
.
- Als de testuitdrukking wordt geëvalueerd als waar, instructies binnen de hoofdtekst van
if
worden uitgevoerd. - Als de testuitdrukking wordt geëvalueerd als onwaar, worden instructies in de hoofdtekst van
if
worden niet uitgevoerd.

Als u meer wilt weten over wanneer testexpressie wordt geëvalueerd als waar (niet-nulwaarde) en onwaar (0), controleert u relationele en logische operators.
Voorbeeld 1:if-statement
// Program to display a number if it is negative
#include <stdio.h>
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.\n", number);
}
printf("The if statement is easy.");
return 0;
}
Uitgang 1
Enter an integer: -2 You entered -2. The if statement is easy.
Wanneer de gebruiker -2 invoert, wordt de testuitdrukking number<0
wordt beoordeeld als waar. Daarom
Je hebt -2 ingevoerd
wordt weergegeven op het scherm.
Uitgang 2
Enter an integer: 5 The if statement is easy.
Wanneer de gebruiker 5 invoert, wordt de testuitdrukking number<0
wordt geëvalueerd als onwaar en de instructie in de hoofdtekst van if
wordt niet uitgevoerd
C if...else-statement
De if
statement kan een optionele else
. hebben blok. De syntaxis van de if..else
verklaring is:
if (test expression) {
// run code if test expression is true
}
else {
// run code if test expression is false
}
Hoe werkt het if...else statement?
Als de testuitdrukking wordt geëvalueerd als waar,
- statements in de hoofdtekst van
if
worden uitgevoerd. - statements in de hoofdtekst van
else
worden overgeslagen van uitvoering.
Als de testuitdrukking wordt geëvalueerd als onwaar,
- statements in de hoofdtekst van
else
worden uitgevoerd - statements in de hoofdtekst van
if
worden overgeslagen van uitvoering.

Voorbeeld 2:if...else-statement
// Check whether an integer is odd or even
#include <stdio.h>
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;
}
Uitvoer
Enter an integer: 7 7 is an odd integer.
Wanneer de gebruiker 7 invoert, wordt de testuitdrukking number%2==0
wordt beoordeeld als onwaar. Vandaar dat de instructie in de hoofdtekst van else
wordt uitgevoerd.
C if...else ladder
De if...else
instructie voert twee verschillende codes uit, afhankelijk van of de testuitdrukking waar of onwaar is. Soms moet er een keuze gemaakt worden uit meer dan 2 mogelijkheden.
Met de if...else ladder kunt u tussen meerdere testuitdrukkingen controleren en verschillende instructies uitvoeren.
Syntax van if...else ladder
if (test expression1) {
// statement(s)
}
else if(test expression2) {
// statement(s)
}
else if (test expression3) {
// statement(s)
}
.
.
else {
// statement(s)
}
Voorbeeld 3:C if...else ladder
// Program to relate two integers using =, > or < symbol
#include <stdio.h>
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;
}
Uitvoer
Enter two integers: 12 23 Result: 12 < 23
Genest als...else
Het is mogelijk om een if...else
. op te nemen statement in de body van een andere if...else
verklaring.
Voorbeeld 4:Genest als...else
Dit onderstaande programma relateert twee gehele getallen met behulp van <
, >
en =
vergelijkbaar met de if...else
voorbeeld van een ladder. We gebruiken echter een geneste if...else
verklaring om dit probleem op te lossen.
#include <stdio.h>
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;
}
Als de hoofdtekst van een if...else
statement heeft maar één statement, je hoeft geen haakjes te gebruiken {}
.
Bijvoorbeeld deze code
if (a > b) {
printf("Hello");
}
printf("Hi");
is gelijk aan
if (a > b)
printf("Hello");
printf("Hi");
C Taal