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++.
ifverklaringif...elseverklaringif...else if...elseverklaring
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
conditionevalueert tottrue, de code in de hoofdtekst vanifwordt uitgevoerd. - Als de
conditionevalueert totfalse, de code in de hoofdtekst vanifwordt 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
ifwordt uitgevoerd - de code in de hoofdtekst van
elsewordt overgeslagen van uitvoering
Als de condition evalueert false ,
- de code in de hoofdtekst van
elsewordt uitgevoerd - de code in de hoofdtekst van
ifwordt 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
condition1evalueert tottrue, decode block 1wordt uitgevoerd. - Als
condition1evalueert totfalse, dancondition2wordt geëvalueerd. - Als
condition2istrue, decode block 2wordt uitgevoerd. - Als
condition2isfalse, decode block 3wordt 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
elseadd toevoegen enelse ifinstructies naar de innerlijkeifverklaring zoals vereist. - De innerlijke
ifstatement kan ook worden ingevoegd in de buitensteelseofelse ifverklaringen (als ze bestaan). - We kunnen meerdere lagen van
ifnest 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...elsestatement om te controleren of num niet gelijk is aan0.- Als
true, dan de binnensteif...elseinstructie wordt uitgevoerd. - Als
false, de code in de buitensteelsevoorwaarde wordt uitgevoerd, die"The number is 0 and it is neither positive nor negative.". afdrukt
- Als
- De innerlijke
if...elsestatement 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