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

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.


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

  1. if Erklärung
  2. if...else Erklärung
  3. if...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 ( ) .

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 ergibt true , der code block 1 wird ausgeführt.
  • Falls condition1 wird zu false ausgewertet , dann condition2 ausgewertet.
  • Falls condition2 ist true , der code block 2 wird ausgeführt.
  • Falls condition2 ist false , der code 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 und else if Anweisungen an den inneren if Erklärung nach Bedarf.
  • Die innere if -Anweisung kann auch innerhalb des äußeren else eingefügt werden oder else 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 ungleich 0 ist .
    • Wenn true , dann das innere if...else Anweisung wird ausgeführt.
    • Wenn false , der Code innerhalb des äußeren else Bedingung wird ausgeführt, die "The number is 0 and it is neither positive nor negative." ausgibt
  • 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.

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

ersetzen
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

  1. C# if, if...else, if...else if und verschachtelte if-Anweisung
  2. C++-Klassen und -Objekte
  3. C++-Speicherverwaltung:neu und löschen
  4. Öffentliche, geschützte und private Vererbung in C++
  5. C++ Friend-Funktion und Friend-Klassen
  6. Python-Anweisung, Einrückung und Kommentare
  7. Java verschachtelte und innere Klasse
  8. C++ Datum und Uhrzeit
  9. C++-Überladung (Operator und Funktion)
  10. C++-Dateien und -Streams