C++ if, if...else und Nested if...else
C++ if, if...else und Nested if...else
In diesem Tutorial lernen wir die if...else-Anweisung zum Erstellen von Entscheidungsfindungsprogrammen anhand von Beispielen kennen.
In der Computerprogrammierung verwenden wir den if...else Anweisung, einen Codeblock unter bestimmten Bedingungen und einen anderen Codeblock unter anderen Bedingungen auszuführen.
Beispielsweise die Zuweisung von Noten (A, B, C) basierend auf den von einem Schüler erzielten Noten.
- wenn der Prozentsatz über 90 liegt , vergeben Sie die Note A
- wenn der Prozentsatz über 75 liegt , vergeben Sie die Note B
- wenn der Prozentsatz über 65 liegt , vergeben Sie die Note C
Es gibt drei Formen von if...else Anweisungen in C++.
ifErklärungif...elseErklärungif...else if...elseErklärung
C++ if-Anweisung
Die Syntax des if Anweisung ist:
if (condition) {
// body of if statement
}
Die if -Anweisung wertet den condition aus innerhalb der Klammern ( ) .
- Falls die
conditionergibttrue, der Code innerhalb des Körpers vonifwird ausgeführt. - Wenn der
conditionergibtfalse, der Code im Hauptteil vonifwird übersprungen.
Hinweis: Der Code in { } ist der Körper von if Erklärung.
Beispiel 1:C++ if-Anweisung
// 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;
} Ausgang 1
Enter an integer: 5 You entered a positive number: 5 This statement is always executed.
Wenn der Benutzer 5 eingibt , die Bedingung number > 0 wird zu true ausgewertet und die Anweisung im Hauptteil von if wird ausgeführt.
Ausgang 2
Enter a number: -5 This statement is always executed.
Wenn der Benutzer -5 eingibt , die Bedingung number > 0 wird zu false ausgewertet und die Anweisung im Hauptteil von if wird nicht ausgeführt.
C++ if...else
Der if -Anweisung kann einen optionalen else haben Klausel. Seine Syntax ist:
if (condition) {
// block of code if condition is true
}
else {
// block of code if condition is false
}
Der if..else -Anweisung wertet den condition aus innerhalb der Klammer.
Wenn der condition wertet true aus ,
- der Code innerhalb des Körpers von
ifausgeführt wird - der Code innerhalb des Körpers von
elsewird von der Ausführung übersprungen
Wenn der condition wertet false aus ,
- der Code innerhalb des Körpers von
elseausgeführt wird - der Code innerhalb des Körpers von
ifwird von der Ausführung übersprungen
Beispiel 2:C++ if...else-Anweisung
// 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;
} Ausgang 1
Enter an integer: 4 You entered a positive integer: 4. This line is always printed.
Im obigen Programm haben wir die Bedingung number >= 0 . Wenn wir die Zahl größer oder gleich 0 eingeben , dann wertet die Bedingung true aus .
Hier geben wir 4 ein . Die Bedingung ist also true . Daher die Anweisung im Hauptteil von if wird ausgeführt.
Ausgang 2
Enter an integer: -4 You entered a negative integer: -4. This line is always printed.
Hier geben wir -4 ein . Die Bedingung ist also false . Daher die Anweisung im Hauptteil von else wird ausgeführt.
C++ if...else...else if-Anweisung
Die if...else -Anweisung wird verwendet, um einen Codeblock zwischen zwei Alternativen auszuführen. Wenn wir jedoch zwischen mehr als zwei Alternativen wählen müssen, verwenden wir den if...else if...else Erklärung.
Die Syntax des if...else if...else Anweisung ist:
if (condition1) {
// code block 1
}
else if (condition2){
// code block 2
}
else {
// code block 3
} Hier,
- Falls
condition1ergibttrue, dercode block 1wird ausgeführt. - Falls
condition1wird zufalseausgewertet , danncondition2ausgewertet. - Falls
condition2isttrue, dercode block 2wird ausgeführt. - Falls
condition2istfalse, dercode block 3wird ausgeführt.
Hinweis: Es kann mehr als einen else if geben -Anweisung, aber nur ein if und else Aussagen.
Beispiel 3:C++ if...else...else if
// 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;
} Ausgang 1
Enter an integer: 1 You entered a positive integer: 1. This line is always printed.
Ausgang 2
Enter an integer: -2 You entered a negative integer: -2. This line is always printed.
Ausgang 3
Enter an integer: 0 You entered 0. This line is always printed.
In diesem Programm nehmen wir eine Nummer vom Benutzer. Wir verwenden dann den if...else if...else Leiter, um zu prüfen, ob die Zahl positiv, negativ oder null ist.
Wenn die Zahl größer als 0 ist , der Code in if Block ausgeführt wird. Wenn die Zahl kleiner als 0 ist , der Code innerhalb von else if Block ausgeführt wird. Ansonsten der Code innerhalb des else Block wird ausgeführt.
C++ verschachteltes if...else
Manchmal müssen wir einen if verwenden Anweisung in einem anderen if Aussage. Dies wird als verschachteltes if bezeichnet Erklärung.
Betrachten Sie es als mehrere Schichten von if Aussagen. Es gibt einen ersten, äußeren if -Anweisung, und darin ist ein weiterer, innerer if Aussage. Seine Syntax ist:
// outer if statement
if (condition1) {
// statements
// inner if statement
if (condition2) {
// statements
}
} Hinweise:
- Wir können
elsehinzufügen undelse ifAnweisungen an den innerenifErklärung nach Bedarf. - Die innere
if-Anweisung kann auch innerhalb des äußerenelseeingefügt werden oderelse ifAnweisungen (falls vorhanden). - Wir können mehrere Ebenen von
ifverschachteln Aussagen.
Beispiel 4:C++ verschachteltes if
// 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;
} Ausgang 1
Enter an integer: 35 The number is positive. This line is always printed.
Ausgang 2
Enter an integer: -35 The number is negative. This line is always printed.
Ausgang 3
Enter an integer: 0 The number is 0 and it is neither positive nor negative. This line is always printed.
Im obigen Beispiel
- Wir nehmen eine ganze Zahl als Eingabe vom Benutzer und speichern sie in der Variablen num .
- Wir verwenden dann einen
if...elseAnweisung, um zu prüfen, ob num ungleich0ist .- Wenn
true, dann das innereif...elseAnweisung wird ausgeführt. - Wenn
false, der Code innerhalb des äußerenelseBedingung wird ausgeführt, die"The number is 0 and it is neither positive nor negative."ausgibt
- Wenn
- Das Innere
if...else-Anweisung prüft, ob die eingegebene Zahl positiv ist, dh ob num größer als 0 ist .- Wenn
true, dann drucken wir eine Anweisung, die besagt, dass die Zahl positiv ist. - Wenn
false, geben wir aus, dass die Zahl negativ ist.
- Wenn
Hinweis: Wie Sie sehen können, verschachtelte if...else macht Ihre Logik kompliziert. Wenn möglich, sollten Sie immer versuchen, verschachtelte if...else zu vermeiden .
Hauptteil von if...else mit nur einer Anweisung
Wenn der Körper von if...else nur eine Anweisung hat, können Sie { } weglassen im Programm. Beispielsweise können Sie
int number = 5;
if (number > 0) {
cout << "The number is positive." << endl;
}
else {
cout << "The number is negative." << endl;
} mit
int number = 5;
if (number > 0)
cout << "The number is positive." << endl;
else
cout << "The number is negative." << endl; Die Ausgabe beider Programme ist gleich.
Hinweis: Obwohl es nicht notwendig ist, { } zu verwenden wenn der Körper von if...else hat nur eine Anweisung mit { } macht Ihren Code lesbarer.
Mehr zur Entscheidungsfindung
In bestimmten Situationen ein ternärer Operator kann einen if...else ersetzen Aussage. Um mehr zu erfahren, besuchen Sie C++ Ternary Operator.
Wenn wir basierend auf einer gegebenen Testbedingung zwischen mehr als einer Alternative wählen müssen, wird der switch Aussage verwendet werden kann. Um mehr zu erfahren, besuchen Sie C++ switch.
Sehen Sie sich diese Beispiele an, um mehr zu erfahren:
C++-Programm zum Prüfen, ob Zahl gerade oder ungerade ist
C++-Programm zum Prüfen, ob ein Zeichen ein Vokal oder ein Konsonant ist.
C++-Programm zum Finden der größten Zahl unter drei Zahlen
C Sprache
- C# if, if...else, if...else if und verschachtelte if-Anweisung
- C++-Klassen und -Objekte
- C++-Speicherverwaltung:neu und löschen
- Öffentliche, geschützte und private Vererbung in C++
- C++ Friend-Funktion und Friend-Klassen
- Python-Anweisung, Einrückung und Kommentare
- Java verschachtelte und innere Klasse
- C++ Datum und Uhrzeit
- C++-Überladung (Operator und Funktion)
- C++-Dateien und -Streams