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++.
if
Erklärungif...else
Erklärungif...else if...else
Erklä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
condition
ergibttrue
, der Code innerhalb des Körpers vonif
wird ausgeführt. - Wenn der
condition
ergibtfalse
, der Code im Hauptteil vonif
wird ü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
if
ausgeführt wird - der Code innerhalb des Körpers von
else
wird von der Ausführung übersprungen
Wenn der condition
wertet false
aus ,
- der Code innerhalb des Körpers von
else
ausgeführt wird - der Code innerhalb des Körpers von
if
wird 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
condition1
ergibttrue
, dercode block 1
wird ausgeführt. - Falls
condition1
wird zufalse
ausgewertet , danncondition2
ausgewertet. - Falls
condition2
isttrue
, dercode block 2
wird ausgeführt. - Falls
condition2
istfalse
, dercode block 3
wird 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
else
hinzufügen undelse if
Anweisungen an den innerenif
Erklärung nach Bedarf. - Die innere
if
-Anweisung kann auch innerhalb des äußerenelse
eingefügt werden oderelse if
Anweisungen (falls vorhanden). - Wir können mehrere Ebenen von
if
verschachteln 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...else
Anweisung, um zu prüfen, ob num ungleich0
ist .- Wenn
true
, dann das innereif...else
Anweisung wird ausgeführt. - Wenn
false
, der Code innerhalb des äußerenelse
Bedingung 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