C++ als, als...anders en genest als...anders
C++ als, als...else en genest als...else
In deze zelfstudie leren we over de if...else-verklaring om besluitvormingsprogramma's te maken met behulp van voorbeelden.
Bij computerprogrammering gebruiken we de if...else
instructie om een codeblok onder bepaalde voorwaarden uit te voeren en een ander codeblok onder verschillende voorwaarden.
Bijvoorbeeld het toekennen van cijfers (A, B, C) op basis van cijfers behaald door een student.
- als het percentage hoger is dan 90 , geef cijfer A
- als het percentage hoger is dan 75 , geef cijfer B
- als het percentage hoger is dan 65 , geef cijfer C
Er zijn drie vormen van if...else
uitspraken in C++.
if
verklaringif...else
verklaringif...else if...else
verklaring
C++ if-statement
De syntaxis van de if
verklaring is:
if (condition) {
// body of if statement
}
De if
statement evalueert de condition
tussen haakjes ( )
.
- Als de
condition
evalueert tottrue
, de code in de hoofdtekst vanif
wordt uitgevoerd. - Als de
condition
evalueert totfalse
, de code in de hoofdtekst vanif
wordt overgeslagen.
Opmerking: De code in { }
is de hoofdtekst van de if
verklaring.

Voorbeeld 1:C++ if-statement
// Program to print positive number entered by the user
// If the user enters a negative number, it is skipped
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Enter an integer: ";
cin >> 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
Enter an integer: 5 You entered a positive number: 5 This statement is always executed.
Wanneer de gebruiker 5
. invoert , de voorwaarde number > 0
wordt geëvalueerd tot true
en de instructie in de hoofdtekst van if
wordt uitgevoerd.
Uitgang 2
Enter a number: -5 This statement is always executed.
Wanneer de gebruiker -5
. invoert , de voorwaarde number > 0
wordt geëvalueerd tot false
en de verklaring in de hoofdtekst van if
wordt niet uitgevoerd.
C++ if...else
De if
statement kan een optionele else
. hebben clausule. De syntaxis is:
if (condition) {
// block of code if condition is true
}
else {
// block of code if condition is false
}
De if..else
statement evalueert de condition
tussen haakjes.

Als de condition
evalueert true
,
- de code in de hoofdtekst van
if
wordt uitgevoerd - de code in de hoofdtekst van
else
wordt overgeslagen van uitvoering
Als de condition
evalueert false
,
- de code in de hoofdtekst van
else
wordt uitgevoerd - de code in de hoofdtekst van
if
wordt overgeslagen van uitvoering
Voorbeeld 2:C++ if...else-statement
// Program to check whether an integer is positive or negative
// This program considers 0 as a positive number
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Enter an integer: ";
cin >> 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
Enter an integer: 4 You entered a positive integer: 4. This line is always printed.
In het bovenstaande programma hebben we de voorwaarde number >= 0
. Als we het getal groter of gelijk aan 0 . invoeren , dan evalueert de voorwaarde true
.
Hier voeren we 4 . in . Dus de voorwaarde is true
. Vandaar dat de instructie in de hoofdtekst van if
wordt uitgevoerd.
Uitgang 2
Enter an integer: -4 You entered a negative integer: -4. This line is always printed.
Hier voeren we -4 . in . Dus de voorwaarde is false
. Vandaar dat de instructie in de hoofdtekst van else
wordt uitgevoerd.
C++ if...else...else if-statement
De if...else
statement 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
verklaring is:
if (condition1) {
// code block 1
}
else if (condition2){
// code block 2
}
else {
// code block 3
}
Hier,
- Als
condition1
evalueert tottrue
, decode block 1
wordt uitgevoerd. - Als
condition1
evalueert totfalse
, dancondition2
wordt geëvalueerd. - Als
condition2
istrue
, decode block 2
wordt uitgevoerd. - Als
condition2
isfalse
, decode block 3
wordt uitgevoerd.

Opmerking: Er kan meer dan één else if
. zijn statement maar slechts één if
en else
verklaringen.
Voorbeeld 3:C++ als...anders...anders als
// Program to check whether an integer is positive, negative or zero
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Enter an integer: ";
cin >> 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
Enter an integer: 1 You entered a positive integer: 1. This line is always printed.
Uitgang 2
Enter an integer: -2 You entered a negative integer: -2. This line is always printed.
Uitgang 3
Enter an integer: 0 You entered 0. This line is always printed.
In dit programma nemen we een nummer van de gebruiker. We gebruiken dan de if...else if...else
ladder om te controleren of het getal positief, negatief of nul is.
Als het getal groter is dan 0
, de code in de if
blok wordt uitgevoerd. Als het getal kleiner is dan 0
, de code in de else if
blok wordt uitgevoerd. Anders wordt de code in de else
blok wordt uitgevoerd.
C++ genest als...else
Soms moeten we een if
. gebruiken statement binnen een andere if
uitspraak. Dit staat bekend als geneste if
verklaring.
Zie het als meerdere lagen van if
verklaringen. Er is een eerste, buitenste if
statement, en daarbinnen is een andere, innerlijke if
uitspraak. De syntaxis is:
// outer if statement
if (condition1) {
// statements
// inner if statement
if (condition2) {
// statements
}
}
Opmerkingen:
- We kunnen
else
add toevoegen enelse if
instructies naar de innerlijkeif
verklaring zoals vereist. - De innerlijke
if
statement kan ook worden ingevoegd in de buitensteelse
ofelse if
verklaringen (als ze bestaan). - We kunnen meerdere lagen van
if
nest nesten verklaringen.
Voorbeeld 4:C++ genest als
// C++ program to find if an integer is positive, negative or zero
// using nested if statements
#include <iostream>
using namespace std;
int main() {
int num;
cout << "Enter an integer: ";
cin >> num;
// outer if condition
if (num != 0) {
// inner if condition
if (num > 0) {
cout << "The number is positive." << endl;
}
// inner else condition
else {
cout << "The number is negative." << endl;
}
}
// outer else condition
else {
cout << "The number is 0 and it is neither positive nor negative." << endl;
}
cout << "This line is always printed." << endl;
return 0;
}
Uitgang 1
Enter an integer: 35 The number is positive. This line is always printed.
Uitgang 2
Enter an integer: -35 The number is negative. This line is always printed.
Uitgang 3
Enter an integer: 0 The number is 0 and it is neither positive nor negative. This line is always printed.
In het bovenstaande voorbeeld,
- We nemen een geheel getal als invoer van de gebruiker en slaan het op in de variabele num .
- We gebruiken dan een
if...else
statement om te controleren of num niet gelijk is aan0
.- Als
true
, dan de binnensteif...else
instructie wordt uitgevoerd. - Als
false
, de code in de buitensteelse
voorwaarde wordt uitgevoerd, die"The number is 0 and it is neither positive nor negative."
. afdrukt
- Als
- De innerlijke
if...else
statement controleert of het ingevoerde getal positief is, d.w.z. als num is groter dan 0 .- Als
true
, dan drukken we een verklaring af waarin staat dat het getal positief is. - Als
false
, drukken we af dat het getal negatief is.
- Als
Opmerking: Zoals je kunt zien, geneste if...else
maakt je logica ingewikkeld. Probeer, indien mogelijk, altijd geneste if...else
. te vermijden .
Body of if...else met slechts één verklaring
Als de hoofdtekst van if...else
slechts één instructie heeft, kunt u { }
weglaten op het programma. U kunt bijvoorbeeld
int number = 5;
if (number > 0) {
cout << "The number is positive." << endl;
}
else {
cout << "The number is negative." << endl;
}
met
int number = 5;
if (number > 0)
cout << "The number is positive." << endl;
else
cout << "The number is negative." << endl;
De uitvoer van beide programma's zal hetzelfde zijn.
Opmerking: Hoewel het niet nodig is om { }
. te gebruiken als de hoofdtekst van if...else
heeft slechts één instructie, met behulp van { }
maakt uw code leesbaarder.
Meer over besluitvorming
In bepaalde situaties kan een ternaire operator kan een if...else
. vervangen uitspraak. Ga voor meer informatie naar C++ Ternary Operator.
Als we een keuze moeten maken tussen meer dan één alternatief op basis van een bepaalde testconditie, zal de switch
verklaring kan 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 teken klinker of medeklinker is.
C++-programma om het grootste getal tussen drie getallen te vinden
C Taal
- C# if, if...else, if...else if en Nested if Statement
- C++ while en do...while Loop
- C++ klassen en objecten
- C++ Geheugenbeheer:nieuw en verwijderen
- C++ Openbare, beschermde en privé-erfenis
- C++ vriend Functie en vriend Klassen
- Python-verklaring, inspringing en opmerkingen
- Java geneste en innerlijke klasse
- C++ Datum en tijd
- C++ overbelasting (operator en functie)
- C++-bestanden en -streams