Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C++ conditionele statements: if, if...else en geneste if...else uitgelegd

C++ if, if...else en Geneste if...else

In deze tutorial leren we over het if...else statement om decision making programma's te maken met behulp van voorbeelden.

In computer programmeren gebruiken we het if...else statement om één codeblok onder bepaalde condities uit te voeren en een ander codeblok onder andere condities.

Bijvoorbeeld, cijfers (A, B, C) toekennen op basis van behaalde punten door een student.

  • als het percentage boven 90 is, geef cijfer A
  • als het percentage boven 75 is, geef cijfer B
  • als het percentage boven 65 is, geef cijfer C

Er zijn drie vormen van if...else statements in C++.

  1. if statement
  2. if...else statement
  3. if...else if...else statement

C++ if Statement

De syntaxis van het if statement is:

 if (condition) { // body of if statement }

Het if statement evalueert de condition binnen de haakjes ( ).

  • Als de condition evalueert naar true, wordt de code binnen de body van if uitgevoerd.
  • Als de condition evalueert naar false, wordt de code binnen de body van if overgeslagen.

Let op: De code binnen { } is de body van het if statement.

C++ conditionele statements: if, if...else en geneste if...else uitgelegd

Voorbeeld 1: C++ if Statement

 // Programma om positief getal van de gebruiker te printen // Als de gebruiker een negatief getal invoert, wordt het overgeslagen #include <iostream> using namespace std; int main() { int number; cout << "Enter an integer: "; cin >> number; // controleert of het getal positief is if (number > 0) { cout << "You entered a positive integer: " << number << endl; } cout << "This statement is always executed."; return 0; }

Output 1

 Enter an integer: 5 You entered a positive number: 5 This statement is always executed.

Wanneer de gebruiker 5 invoert, evalueert de conditie number > 0 naar true en wordt het statement binnen de body van if uitgevoerd.

Output 2

 Enter a number: -5 This statement is always executed.

Wanneer de gebruiker -5 invoert, evalueert de conditie number > 0 naar false en wordt het statement binnen de body van if niet uitgevoerd.


C++ if...else

Het if statement kan een optionele else clause hebben. De syntaxis is:

 if (condition) { // block of code if condition is true } else { // block of code if condition is false }

Het if..else statement evalueert de condition binnen de haakjes.

C++ conditionele statements: if, if...else en geneste if...else uitgelegd

Als de condition true evalueert,

  • de code binnen de body van if wordt uitgevoerd
  • de code binnen de body van else wordt overgeslagen

Als de condition false evalueert,

  • de code binnen de body van else wordt uitgevoerd
  • de code binnen de body van if wordt overgeslagen

Voorbeeld 2: C++ if...else Statement

 // Programma om te controleren of een integer positief of negatief is // Dit programma beschouwt 0 als positief #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; }

Output 1

 Enter an integer: 4 You entered a positive integer: 4. This line is always printed.

In het bovenstaande programma hebben we de conditie number >= 0. Als we een getal groter of gelijk aan 0 invoeren, evalueert de conditie true.

Hier voeren we 4 in. Dus de conditie is true. Daarom wordt het statement binnen de body van if uitgevoerd.

Output 2

 Enter an integer: -4 You entered a negative integer: -4. This line is always printed.

Hier voeren we -4 in. Dus de conditie is false. Daarom wordt het statement binnen de body van else uitgevoerd.


C++ if...else...else if statement

Het if...else statement wordt gebruikt om een codeblok uit te voeren tussen twee alternatieven. Als we echter een keuze moeten maken tussen meer dan twee alternatieven, gebruiken we het if...else if...else statement.

De syntaxis van het if...else if...else statement is:

 if (condition1) { // code block 1 } else if (condition2){ // code block 2 } else { // code block 3 }

Hier,

  • Als condition1 evalueert naar true, wordt code block 1 uitgevoerd.
  • Als condition1 evalueert naar false, dan wordt condition2 geëvalueerd.
  • Als condition2 true is, wordt code block 2 uitgevoerd.
  • Als condition2 false is, wordt code block 3 uitgevoerd.
C++ conditionele statements: if, if...else en geneste if...else uitgelegd

Let op: Er kunnen meer dan één else if statements zijn maar slechts één if en else statements.


Voorbeeld 3: C++ if...else...else if

 // Programma om te controleren of een integer positief, negatief of nul is #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; }

Output 1

 Enter an integer: 1 You entered a positive integer: 1. This line is always printed.

Output 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 dit programma nemen we een getal 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, wordt de code binnen de if block uitgevoerd. Als het getal kleiner is dan 0, wordt de code binnen de else if block uitgevoerd. Anders wordt de code binnen de else block uitgevoerd.


C++ Geneste if...else

Soms moeten we een if statement binnen een ander if statement gebruiken. Dit heet genest if statement.

See het als meerdere lagen van if statements. Er is een eerste, outer if statement, en daarin zit een inner if statement. De syntaxis is:

 // outer if statement if (condition1) { // statements // inner if statement if (condition2) { // statements } }

Notities:

  • We kunnen else en else if statements toevoegen aan de inner if statement zoals vereist.
  • De inner if statement kan ook in de outer else of else if statements geplaatst worden (als ze bestaan).
  • We kunnen meerdere lagen van if statements nesten.

Voorbeeld 4: C++ Geneste if

 // C++ programma om te vinden of een integer positief, negatief of nul is // met geneste 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; }

Output 1

 Enter an integer: 35 The number is positive. This line is always printed.

Output 2

 Enter an integer: -35 The number is negative. This line is always printed.

Output 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 integer als input 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 aan 0.
    • Als true, dan wordt de inner if...else statement uitgevoerd.
    • Als false, wordt de code binnen de outer else conditie uitgevoerd, wat print "The number is 0 and it is neither positive nor negative."
  • De inner if...else statement controleert of het invoergetal positief is i.e. als num groter is dan 0.
    • Als true, printen we een statement dat zegt dat het getal positief is.
    • Als false, printen we dat het getal negatief is.

Let op: Zoals je ziet, maakt geneste if...else je logica gecompliceerd. Als mogelijk, moet je altijd proberen geneste if...else te vermijden.


Body van if...else Met Slechts Één Statement

Als de body van if...else slechts één statement heeft, kun je { } weglaten in het programma. Bijvoorbeeld, je kunt vervangen

 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 output van beide programma's zal hetzelfde zijn.

Let op: Hoewel het niet nodig is om { } te gebruiken als de body van if...else slechts één statement heeft, maakt het gebruik van { } je code leesbaarder.


Meer over Decision Making

In bepaalde situaties kan een ternary operator een if...else statement vervangen. Voor meer info, bezoek C++ Ternary Operator.

Als we een keuze moeten maken tussen meer dan één alternatief op basis van een gegeven testconditie, kan het switch statement gebruikt worden. Voor meer info, bezoek C++ switch.


Bekijk deze voorbeelden om meer te leren:

C++ Programma om te Controleren of Getal Even of Oneven is

C++ Programma om te Controleren of een Karakter Klinker of Medeklinker is.

C++ Programma om het Grootste Getal Onder Drie Getallen te Vinden

C Taal

  1. Conditionele Logica in C#: If, If-Else, If-ElseIf en Geneste If Statements
  2. C++ while en do-while loops: herhaling in je code beheersen
  3. C++ klassen & objecten: praktische gids voor object-georiënteerd programmeren
  4. C++ Geheugenbeheer meesteren: Expert gebruik van new en delete
  5. C++ Overerving Beheersen: Public, Protected & Private Uitgelegd
  6. C++ Friend Functies en Friend Classes: Toegangscontrole Beheersen
  7. Uitgebreide Gids voor Datum en Tijd in C++
  8. C++ Overloading Beheersen: Functies & Operators Uitgelegd
  9. File I/O in C++ Beheersen: Lezen en Schrijven met fstream
  10. Python Statements, Indentatie en Comments: Een duidelijke gids
  11. Java geneste en inner classes meesteren: typen, voorbeelden en best practices