In deze tutorial zullen we leren over de if… else-verklaring om besluitvormingsprogramma's te maken met behulp van voorbeelden.
Bij computerprogrammering gebruiken we de if
instructie om een blokcode alleen uit te voeren als aan een bepaalde voorwaarde is voldaan.
Bijvoorbeeld het toekennen van cijfers (A, B, C) op basis van cijfers behaald door een student.
- als het percentage hoger is dan 90 , geef dan rang A
- als het percentage hoger is dan 75 , geef dan rang B
- als het percentage boven de 65 ligt , rang C toekennen
Er zijn drie soorten if… else
verklaringen in C ++.
if
uitspraakif… else
uitspraakif… else if… else
uitspraak
C ++ if Statement
De syntaxis van de if
instructie is:
if (condition) ( // body of if statement )
De if
instructie evalueert condition
de tussen haakjes ( )
.
- Als het
condition
evalueert naartrue
, wordt de code in de body vanif
uitgevoerd. - Als het
condition
evalueert naarfalse
, wordt de code in de body vanif
overgeslagen.
Opmerking: de code erin ( )
is de hoofdtekst van de if
instructie.

Voorbeeld 1: C ++ if-instructie
// Program to print positive number entered by the user // If the user enters a negative number, it is skipped #include using namespace std; int main() ( int number; cout <> number; // checks if the number is positive if (number> 0) ( cout << "You entered a positive integer: " << number << endl; ) cout << "This statement is always executed."; return 0; )
Uitgang 1
Voer een geheel getal in: 5 U hebt een positief getal ingevoerd: 5 Deze instructie wordt altijd uitgevoerd.
Wanneer de gebruiker invoert 5
, wordt de voorwaarde number> 0
geëvalueerd true
en wordt de instructie in de hoofdtekst if
uitgevoerd.
Uitgang 2
Voer een getal in: -5 Deze instructie wordt altijd uitgevoerd.
Wanneer de gebruiker invoert -5
, wordt de voorwaarde number> 0
geëvalueerd false
en wordt de instructie in de body van if
niet uitgevoerd.
C ++ als… anders
De if
instructie kan een optionele else
clausule hebben. De syntaxis is:
if (condition) ( // block of code if condition is true ) else ( // block of code if condition is false )
De if… else
instructie evalueert de condition
binnenkant van de haakjes.

Als het condition
evalueert true
,
- de code in de body van
if
wordt uitgevoerd - de code in de body van
else
wordt niet uitgevoerd
Als het condition
evalueert false
,
- de code in de body van
else
wordt uitgevoerd - de code in de body van
if
wordt niet uitgevoerd
Voorbeeld 2: C ++ if… else-instructie
// Program to check whether an integer is positive or negative // This program considers 0 as a positive number #include using namespace std; int main() ( int number; cout <> number; if (number>= 0) ( cout << "You entered a positive integer: " << number << endl; ) else ( cout << "You entered a negative integer: " << number << endl; ) cout << "This line is always printed."; return 0; )
Uitgang 1
Voer een geheel getal in: 4 U hebt een positief geheel getal ingevoerd: 4. Deze regel wordt altijd afgedrukt.
In het bovenstaande programma hebben we de aandoening number>= 0
. Als we het getal groter dan of gelijk aan 0 invoeren, evalueert de voorwaarde true
.
Hier voeren we 4 in. Dus de voorwaarde is true
. Daarom wordt de instructie in de body van if
uitgevoerd.
Uitgang 2
Voer een geheel getal in: -4 U hebt een negatief geheel getal ingevoerd: -4. Deze regel wordt altijd geprint.
Hier voeren we -4 in. Dus de voorwaarde is false
. Daarom wordt de instructie in de body van else
uitgevoerd.
C ++ if… else… else if-instructie
De if… else
instructie wordt gebruikt om een codeblok tussen twee alternatieven uit te voeren. Als we echter een keuze moeten maken tussen meer dan twee alternatieven, gebruiken we de if… else if… else
verklaring.
De syntaxis van de if… else if… else
instructie is:
if (condition1) ( // code block 1 ) else if (condition2)( // code block 2 ) else ( // code block 3 )
Hier,
- Als
condition1
resulteert intrue
,code block 1
wordt de uitgevoerd. - Als
condition1
evalueert totfalse
,condition2
wordt geëvalueerd. - Als dit het geval
condition2
istrue
,code block 2
wordt de uitgevoerd. - Als dit het geval
condition2
isfalse
,code block 3
wordt de uitgevoerd.

Opmerking: er kunnen meer dan één else if
verklaring zijn, maar slechts één if
en else
verklaringen.
Voorbeeld 3: C ++ if… else… else if
// Program to check whether an integer is positive, negative or zero #include using namespace std; int main() ( int number; cout <> number; if (number> 0) ( cout << "You entered a positive integer: " << number << endl; ) else if (number < 0) ( cout << "You entered a negative integer: " << number << endl; ) else ( cout << "You entered 0." << endl; ) cout << "This line is always printed."; return 0; )
Uitgang 1
Voer een geheel getal in: 1 U hebt een positief geheel getal ingevoerd: 1. Deze regel wordt altijd afgedrukt.
Uitgang 2
Enter an integer: -2 You entered a negative integer: -2. This line is always printed.
Output 3
Enter an integer: 0 You entered 0. This line is always printed.
In this program, we take a number from the user. We then use the if… else if… else
ladder to check whether the number is positive, negative, or zero.
If the number is greater than 0
, the code inside the if
block is executed. If the number is less than 0
, the code inside the else if
block is executed. Otherwise, the code inside the else
block is executed.
C++ Nested if… else
Sometimes, we need to use an if
statement inside another if
statement. This is known as nested if
statement.
Think of it as multiple layers of if
statements. There is a first, outer if
statement, and inside it is another, inner if
statement. Its syntax is:
// outer if statement if (condition1) ( // statements // inner if statement if (condition2) ( // statements ) )
Notes:
- We can add
else
andelse if
statements to the innerif
statement as required. - The inner
if
statement can also be inserted inside the outerelse
orelse if
statements (if they exist). - We can nest multiple layers of
if
statements.
Example 4: C++ Nested if
// C++ program to find if an integer is even or odd or neither (0) // using nested if statements #include using namespace std; int main() ( int num; cout <> num; // outer if condition if (num != 0) ( // inner if condition if ((num % 2) == 0) ( cout << "The number is even." << endl; ) // inner else condition else ( cout << "The number is odd." << endl; ) ) // outer else condition else ( cout << "The number is 0 and it is neither even nor odd." << endl; ) cout << "This line is always printed." << endl; )
Output 1
Enter an integer: 34 The number is even. This line is always printed.
Output 2
Enter an integer: 35 The number is odd. This line is always printed.
Output 3
Enter an integer: 0 The number is 0 and it is neither even nor odd. This line is always printed.
In the above example,
- We take an integer as an input from the user and store it in the variable num.
- We then use an
if… else
statement to check whether num is not equal to0
.- If
true
, then the innerif… else
statement is executed. - If
false
, the code inside the outerelse
condition is executed, which prints "The number is 0 and neither even nor odd."
- If
- The inner
if… else
statement checks whether the input number is divisible by2
.- If
true
, then we print a statement saying that the number is even. - If
false
, we print that the number is odd.
- If
Notice that 0
is also divisible by 2
, but it is actually not an even number. This is why we first make sure that the input number is not 0
in the outer if
condition.
Note: As you can see, nested if… else
makes your logic complicated. If possible, you should always try to avoid nested if… else
.
Body of if… else With Only One Statement
If the body of if… else
has only one statement, you can omit ( )
in the program. For example, you can replace
int number = 5; if (number> 0) ( cout << "The number is positive." << endl; ) else ( cout << "The number is negative." << endl; )
with
int number = 5; if (number> 0) cout << "The number is positive." << endl; else cout << "The number is negative." << endl;
The output of both programs will be the same.
Note: Although it's not necessary to use ( )
if the body of if… else
has only one statement, using ( )
makes your code more readable.
More on Decision Making
In bepaalde situaties kan een ternaire operator een if… else
instructie vervangen . Ga voor meer informatie naar C ++ Ternary Operator.
Als we op basis van een bepaalde testconditie een keuze moeten maken tussen meer dan één alternatief, kan de switch
stelling worden gebruikt. Ga voor meer informatie naar C ++ switch.
Bekijk deze voorbeelden voor meer informatie:
C ++ - programma om te controleren of het getal even of oneven is
C ++ programma om te controleren of een personage een klinker of medeklinker is.
C ++ - programma om het grootste aantal van de drie nummers te vinden