Implementieren Sie die if-Anweisung mit mehreren Bedingungen in C++

Aditya Raj 12 Oktober 2023
  1. Implementieren Sie die if-Anweisung mit mehreren Bedingungen in C++
  2. Implementieren Sie die if-Anweisung mit mehreren Bedingungen unter Verwendung des logischen Operators && in C++
  3. Implementieren Sie die if-Anweisung mit mehreren Bedingungen unter Verwendung des || Logischer Operator in C++
  4. Implementieren Sie die if-Anweisung mit mehreren Bedingungen unter Verwendung von && und || Logische Operatoren in C++
  5. Abschluss
Implementieren Sie die if-Anweisung mit mehreren Bedingungen in C++

Die logischen C++-Operatoren && oder || können in den if-Anweisungen verwendet werden, um gleichzeitig auf mehrere Bedingungen zu prüfen.

In diesem Artikel wird ausführlich erläutert, wie wir die if-Anweisungen mit mehreren Bedingungen in C++ verwenden können, zusammen mit relevanten Beispielen.

Implementieren Sie die if-Anweisung mit mehreren Bedingungen in C++

In C++ können wir mehrere if-Anweisungen auf zwei Arten haben. Es können verschachtelte if-Anweisungen und mehrere if-Anweisungen in einem Programm vorhanden sein, um auf unterschiedliche Bedingungen zu prüfen.

Lassen Sie uns die beiden Fälle im Detail besprechen.

Es kann eine Situation geben, in der wir mehrere Bedingungen mit einer verschachtelten if-Anweisung überprüfen müssen. Angenommen, wir möchten prüfen, ob eine Zahl zwischen 45 und 60 liegt.

Der Code zum Überprüfen der gegebenen Bedingung mit einer verschachtelten if-Anweisung ist unten dargestellt:

// C++ program demonstrating nested if-statement

#include <iostream>
using namespace std;

int main() {
  cout << "Enter a number: ";
  int num;
  cin >> num;

  if (num > 45) {
    if (num < 60) {
      cout << "Entered number is between 45 and 60";
    }

    else {
      "Entered number is not in between 45 and 60";
    }
  }

  else
    cout << "Entered number is not in between 45 and 60";

  return 0;
}

Hier haben wir für jede Bedingung eine if-Anweisung in Form einer verschachtelten if-Anweisung verwendet. In verschachtelten if-Anweisungen müssen wir ein längeres Stück Code schreiben.

Stattdessen können wir mehrere logische &&-Operatoren in einer einzigen if-Anweisung verwenden, um unseren Code einfacher zu machen und das Schreiben unnötiger Codezeilen zu vermeiden.

Implementieren Sie die if-Anweisung mit mehreren Bedingungen unter Verwendung des logischen Operators && in C++

Lassen Sie uns besprechen, wie man if-Anweisungen mit dem logischen &&-Operator verwendet, um in C++ nach mehreren Bedingungen zu suchen.

Der logische Operator && ist ein binärer Operator. Es nimmt zwei boolesche Werte oder Ausdrücke, die einen booleschen Wert als seine Operanden auswerten.

Nach der Ausführung gibt dieser Operator wahr zurück, wenn alle Operanden in der if-Anweisung wahr sind; andernfalls wird false zurückgegeben.

Wenn beispielsweise im folgenden Code beide Bedingungen (num_1 < num_2) und (num_2 > num_3) als wahr ausgewertet werden, gibt der Operator && wahr zurück und die Anweisungen im Block if werden ausgeführt . Wenn ein Operand falsch ist, wird der gesamte Ausdruck als falsch ausgewertet und der Code innerhalb des if-Blocks wird nicht ausgeführt.

int num_1 = 5;
int num_2 = 12;
int num_3 = 10;

if( (num_1 < num_2) && (num_2 > num_3) //if condition1 "and" condition2 is true
   {
  statement_1;  // then execute the statements
  statement_2;
  ..............statement_n;
    }

Betrachten Sie das folgende Beispiel mit dem logischen Operator && in einer if-Anweisung, um zu prüfen, ob eine Zahl zwischen 45 und 60 liegt:

// C++ program demonstrating the use of Logical "and" (&&) operator

#include <iostream>
using namespace std;

int main() {
  cout << "Enter a number: ";
  int num;
  cin >> num;

  if (num > 45 && num < 60)
    cout << "Entered number is between 45 and 60";
  else
    cout << "Entered number is not in between 45 and 60";

  return 0;
}

Im obigen Beispiel prüft der logische Operator &&, ob die angegebene Zahl größer als 45 oder kleiner als 60 ist. Wenn beide Operanden wahr sind, werden die Anweisungen unter der if-Bedingung ausgeführt und die Ausgabe lautet:

Entered number is between 45 and 60

Wenn eines der Operandenergebnisse falsch ist, wird die Anweisung im Abschnitt else ausgeführt, und die Ausgabe lautet:

Entered number is not in between 45 and 60

Beim logischen &&-Operator wird die Bedingung mit höherer Wahrscheinlichkeit als erster Operand bevorzugt. Wenn einer der Operanden falsch ist, wird kein anderer Operand im Ausdruck überprüft, und daher wird die Rechenzeit des Programms reduziert.

Daher sollte ein Operand mit hoher Ausfallwahrscheinlichkeit zuerst in der if-Bedingung deklariert werden, um die Rechenzeit zu reduzieren.

Im obigen Beispiel mussten wir überprüfen, ob alle Ausdrücke der if-Anweisungen wahr sind. Es kann jedoch Situationen geben, in denen wir nur prüfen müssen, ob eine der Bedingungen zutrifft.

Betrachten Sie zum Beispiel das Würfelbeispiel, bei dem das Erhalten von 2 oder 5 in einem Würfelwurf das Match gewinnt.

#include <iostream>
using namespace std;

int main() {
  cout << "Enter number on the dice: ";
  int num_1;
  cin >> num_1;

  if (num_1 == 2) {
    cout << "Game is Won";
    return 0;
  }

  if (num_1 == 5) {
    cout << "Game is Won";
    return 0;
  }

  else
    cout << "Game is Lost";

  return 0;
}

Auch wenn hier eine der Bedingungen (num_1 == 2) und (num_1 == 5) wahr ist, ist das Spiel gewonnen. In solchen Fällen können wir das logische || Operatoren anstelle mehrerer if-Anweisungen in C++.

Implementieren Sie die if-Anweisung mit mehreren Bedingungen unter Verwendung des || Logischer Operator in C++

Lassen Sie uns über die Verwendung von || sprechen Operatoren statt mehrfacher if-Anweisungen.

Das logische || Der Operator (||) ist ebenfalls binär. Es nimmt zwei boolesche Werte oder Ausdrücke, die einen booleschen Wert als seine Operanden auswerten.

Nach der Ausführung gibt dieser Operator wahr zurück, wenn irgendwelche Operanden in der if-Anweisung wahr sind. Andernfalls wird false zurückgegeben.

Lassen Sie uns die Syntax des || besprechen Operator in einer if-Anweisung anhand eines Beispiels:

int num_1;
int num_2;
int num_3;

if ((num_1 == 0) || (num_2 == 0) || (num_3) == 0)  // if any condition is true
{
  statement_1;  // then execute the statements
  statement_2;
  ..............statement_n;
}

Hier ist der gesamte Ausdruck (num_1 == 0) || (num_2 == 0) || (num_3)==0) wird als wahr ausgewertet, wenn eine der Bedingungen (num_1 == 0), (num_2 == 0) und (num_3 == 0) als wahr ausgewertet wird. Die Anweisungen innerhalb des if-Blocks werden ausgewertet.

Wenn alle Ausdrücke als falsch ausgewertet werden, wird der gesamte Ausdruck nur als falsch ausgewertet. Die Anweisungen innerhalb der if-Anweisung werden nicht ausgeführt.

Betrachten Sie das folgende Beispiel, das die Verwendung des logischen || erklärt. Operator anstelle mehrerer if-Anweisungen in C++.

// C++ program demonstrating the use of Logical "or" (||) operator

#include <iostream>
using namespace std;

int main() {
  cout << "Enter number on the dice: ";
  int num_1;
  cin >> num_1;

  if (num_1 == 2 || num_1 == 5)
    cout << "Game is Won";
  else
    cout << "Game is Lost";

  return 0;
}

In diesem Beispiel ist das || Der Operator prüft, ob die angegebene Zahl 2 oder 5 ist. Wenn irgendwelche Operanden wahr sind, wird die Anweisung unter der Bedingung wenn ausgeführt und das Spiel ist gewonnen.

Wenn alle Operanden als falsch ausgewertet werden, wird die Anweisung im Abschnitt else ausgeführt und das Game is lost.

Die Bedingung mit der höchsten Wahrscheinlichkeit, dass sie wahr ist, sollte im ersten Operanden genannt werden. Wenn eines der Operandenergebnisse wahr ist, ist die if-Bedingung wahr, und die restlichen Bedingungen werden nicht geprüft.

Auf diese Weise kann die Rechenzeit des Programms reduziert werden.

Beide logischen Operatoren sind linksassoziativ; daher werden sie in der Reihenfolge von links nach rechts ausgeführt. Der zweite Operand && wird jedoch nicht ausgewertet, wenn der erste Operand falsch ist.

Bei || wird der zweite Operand nicht ausgewertet, wenn der erste Operand wahr ist.

Implementieren Sie die if-Anweisung mit mehreren Bedingungen unter Verwendung von && und || Logische Operatoren in C++

Wir können auch && und || verwenden in einer einzigen if-Anweisung, um mehrere Bedingungen in C++ zu prüfen. Wenn wir beide Operatoren in einer if-Anweisung verwenden, um mehrere Bedingungen zu prüfen, muss die Auswertung in der richtigen Reihenfolge erfolgen.

Der Operator mit dem höchsten Vorrang wird mit dem Operanden an erster Stelle in einem Ausdruck gruppiert. Dann wird der nächsthöhere Operator mit dem Operanden gruppiert.

Die Rangfolge der logischen Operatoren ist in der folgenden Tabelle angegeben:

Logischer Operator Vorrang
NICHT (!) Hoch
UND (&&) Mittel
ODER (`

Aus der Tabelle können Sie Folgendes entnehmen:

  • Das logische ! Der Operator hat die höchste Priorität im Ausdruck und wird zuerst ausgewertet.
  • Der logische Operator && hat im Ausdruck den mittleren Vorrang und wird nach dem ! ausgewertet. Operator.
  • Das logische || Der Operator hat die niedrigste Priorität im Ausdruck und wird nach dem Operator && ausgewertet.

Betrachten Sie zum besseren Verständnis den folgenden Code:

if (num > 45 || num < 60 && num != 100) {
  cout << num;
}

Betrachten wir num = 50, dann ist das Ergebnis des obigen Codes wahr, weil:

  1. Zahl < 60 && Zahl ! = 100 wird ausgewertet, da && Vorrang hat. Diese Bewertung wird wahr sein.
  2. Der Ausdruck ( num > 45 || TRUE ) wird ausgewertet und als Ergebnis erhalten wir wahr.

Abschluss

In diesem Artikel haben wir die Verwendung von if-Anweisungen mit mehreren Bedingungen in C++ besprochen. Wir haben die Syntax logischer Operatoren in einer if-Anweisung, ihre Wahrheitstabelle, Assoziativität und Rangfolge im Detail sowie einige Beispiele kennengelernt.

Autor: Aditya Raj
Aditya Raj avatar Aditya Raj avatar

Aditya Raj is a highly skilled technical professional with a background in IT and business, holding an Integrated B.Tech (IT) and MBA (IT) from the Indian Institute of Information Technology Allahabad. With a solid foundation in data analytics, programming languages (C, Java, Python), and software environments, Aditya has excelled in various roles. He has significant experience as a Technical Content Writer for Python on multiple platforms and has interned in data analytics at Apollo Clinics. His projects demonstrate a keen interest in cutting-edge technology and problem-solving, showcasing his proficiency in areas like data mining and software development. Aditya's achievements include securing a top position in a project demonstration competition and gaining certifications in Python, SQL, and digital marketing fundamentals.

GitHub

Verwandter Artikel - C++ Operator