Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C++-Bedingungsanweisungen meistern: if, if...else und verschachteltes if...else erklärt

C++ if, if...else und verschachteltes if...else

In diesem Tutorial lernen wir die if...else-Anweisung zur Erstellung von Entscheidungsprogrammen anhand von Beispielen kennen.

In der Computerprogrammierung verwenden wir die if...else-Anweisung, um einen Codeblock unter bestimmten Bedingungen und einen anderen Block unter anderen Bedingungen auszuführen.

Zum Beispiel die Zuweisung von Noten (A, B, C) basierend auf der Punktzahl eines Schülers.


Es gibt drei Formen von if...else-Anweisungen in C++.

  1. if-Anweisung
  2. if...else-Anweisung
  3. if...else if...else-Anweisung

C++ if-Anweisung

Die Syntax der if-Anweisung ist:

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

Die if-Anweisung wertet die condition innerhalb der Klammern ( ) aus.

Hinweis: Der Code innerhalb von { } ist der Körper der if-Anweisung.

C++-Bedingungsanweisungen meistern: if, if...else und verschachteltes if...else erklärt

Beispiel 1: C++ if-Anweisung

// Programm zur Ausgabe einer positiven, vom Benutzer eingegebenen Zahl
// Wenn der Benutzer eine negative Zahl eingibt, wird sie übersprungen
#include <iostream>
using namespace std;

int main()
{
    int number;
    cout << "Enter an integer: ";
    cin >> number;

    // prüft ob die Zahl positiv ist
    if (number > 0)
    {
        cout << "You entered a positive integer: " << number << endl;
    }

    cout << "This statement is always executed.";
    return 0;
}

Ausgabe 1

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

Wenn der Benutzer 5 eingibt, wird die Bedingung number > 0 zu true ausgewertet und die Anweisung im Körper der if ausgeführt.

Ausgabe 2

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

Wenn der Benutzer -5 eingibt, wird die Bedingung number > 0 zu false ausgewertet und die Anweisung im Körper der if nicht ausgeführt.


C++ if...else

Die if-Anweisung kann eine optionale else-Klausel haben. Ihre Syntax ist:

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

Die if..else-Anweisung wertet die condition innerhalb der Klammern aus.

C++-Bedingungsanweisungen meistern: if, if...else und verschachteltes if...else erklärt

Wenn die condition true ergibt:

Wenn die condition false ergibt:


Beispiel 2: C++ if...else-Anweisung

// Programm zur Prüfung, ob eine Ganzzahl positiv oder negativ ist
// Dieses Programm betrachtet 0 als positive Zahl
#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;
}

Ausgabe 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 eine Zahl größer oder gleich 0 eingeben, dann ergibt die Bedingung true.

Hier geben wir 4 ein. Also ist die Bedingung true. Daher wird die Anweisung im Körper der if ausgeführt.

Ausgabe 2

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

Hier geben wir -4 ein. Also ist die Bedingung false. Daher wird die Anweisung im Körper der else 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 eine Wahl zwischen mehr als zwei Alternativen treffen müssen, verwenden wir die if...else if...else-Anweisung.

Die Syntax der if...else if...else-Anweisung ist:

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

Hier:

C++-Bedingungsanweisungen meistern: if, if...else und verschachteltes if...else erklärt

Hinweis: Es kann mehr als eine else if-Anweisung geben, aber nur eine if- und else-Anweisung.


Beispiel 3: C++ if...else...else if

// Programm zur Prüfung, ob eine Ganzzahl positiv, negativ oder null ist
#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;
}

Ausgabe 1

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

Ausgabe 2

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

Ausgabe 3

Enter an integer: 0
You entered 0.
This line is always printed.

In diesem Programm nehmen wir eine Zahl vom Benutzer entgegen. Dann verwenden wir die 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, wird der Code im if-Block ausgeführt. Wenn die Zahl kleiner als 0 ist, wird der Code im else if-Block ausgeführt. Andernfalls wird der Code im else-Block ausgeführt.


C++ Verschachteltes if...else

Manchmal müssen wir eine if-Anweisung innerhalb einer anderen if-Anweisung verwenden. Dies ist als verschachtelte if-Anweisung bekannt.

Denken Sie daran als mehrere Ebenen von if-Anweisungen. Es gibt eine erste, äußere if-Anweisung, und darin ist eine weitere, innere if-Anweisung. Ihre Syntax ist:

// äußere if-Anweisung
if (condition1)
{
    // statements
    // innere if-Anweisung
    if (condition2)
    {
        // statements
    }
}

Hinweise:


Beispiel 4: C++ Verschachteltes if

// C++ Programm, um zu prüfen, ob eine Ganzzahl positiv, negativ oder null ist
// mit verschachtelten if-Anweisungen
#include <iostream>
using namespace std;

int main()
{
    int num;
    cout << "Enter an integer: ";
    cin >> num;

    // äußere if-Bedingung
    if (num != 0)
    {
        // innere if-Bedingung
        if (num > 0)
        {
            cout << "The number is positive." << endl;
        }
        // innere else-Bedingung
        else
        {
            cout << "The number is negative." << endl;
        }
    }
    // äußere else-Bedingung
    else
    {
        cout << "The number is 0 and it is neither positive nor negative." << endl;
    }

    cout << "This line is always printed." << endl;
    return 0;
}

Ausgabe 1

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

Ausgabe 2

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

Ausgabe 3

Enter an integer: 0
The number is 0 and it is neither positive nor negative.
This line is always printed.

Im obigen Beispiel:

Hinweis: Wie Sie sehen, macht verschachteltes if...else Ihre Logik kompliziert. Wenn möglich, sollten Sie immer versuchen, verschachteltes if...else zu vermeiden.


Körper von if...else mit nur einer Anweisung

Wenn der Körper von if...else nur eine Anweisung hat, können Sie { } im Programm weglassen. Zum Beispiel können Sie ersetzen:

int number = 5;
if (number > 0)
{
    cout << "The number is positive." << endl;
}
else
{
    cout << "The number is negative." << endl;
}

durch

int number = 5;
if (number > 0)
    cout << "The number is positive." << endl;
else
    cout << "The number is negative." << endl;

Die Ausgabe beider Programme wird dieselbe sein.

Hinweis: Obwohl es nicht notwendig ist, { } zu verwenden, wenn der Körper von if...else nur eine Anweisung hat, macht die Verwendung von { } Ihren Code lesbarer.


Mehr zur Entscheidungsfindung

In bestimmten Situationen kann ein ternärer Operator eine if...else-Anweisung ersetzen. Um mehr zu erfahren, besuchen Sie C++ Ternärer Operator.

Wenn wir eine Wahl zwischen mehr als einer Alternative basierend auf einer gegebenen Testbedingung treffen müssen, kann die switch-Anweisung verwendet werden. Um mehr zu erfahren, besuchen Sie C++ switch.


Schauen Sie sich diese Beispiele an, um mehr zu lernen:

C++ Programm zur Prüfung, ob eine Zahl gerade oder ungerade ist

C++ Programm zur Prüfung, ob ein Zeichen Vokal oder Konsonant ist

C++ Programm zum Finden der größten Zahl unter drei Zahlen

C Sprache

  1. Bedingte Logik in C# meistern: If, If-Else, If-ElseIf und verschachtelte If-Anweisungen
  2. C++ Klassen & Objekte: Praktischer Leitfaden zur objektorientierten Programmierung
  3. C++ Speicherverwaltung meistern: Experten-Einsatz von new und delete
  4. C++ Vererbung: Public, Protected & Private erklärt
  5. C++ Friend-Funktionen und Friend-Klassen: Zugriffskontrolle meistern
  6. Python-Anweisungen, Einrückung & Kommentare: Klare Anleitung
  7. Java verschachtelte und innere Klassen meistern: Typen, Beispiele und Best Practices
  8. C++ Datum & Zeit: Umfassender Leitfaden
  9. C++ Overloading: Funktionen & Operatoren erklärt
  10. C++ Datei-I/O: Lesen & Schreiben mit fstream