Ternärer C ++ - Operator (mit Beispielen)

In diesem Tutorial lernen wir anhand von Beispielen den ternären Operator in C ++ kennen.

In C ++ kann der ternäre Operator (auch als bedingter Operator bezeichnet ) verwendet werden, um if… else in bestimmten Szenarien zu ersetzen.

Ternärer Operator in C ++

Ein ternärer Operator wertet die Testbedingung aus und führt einen Codeblock basierend auf dem Ergebnis der Bedingung aus.

Die Syntax lautet

 condition ? expression1 : expression2;

Hier conditionwird ausgewertet und

  • wenn conditionist true, expression1wird ausgeführt.
  • Und wenn conditionja false, expression2wird ausgeführt.

Der ternäre Operator akzeptiert 3 Operanden ( condition, expression1und expression2). Daher der Name ternärer Operator .

Beispiel: Ternärer C ++ - Operator

 #include #include using namespace std; int main() ( double marks; // take input from users cout <> marks; // ternary operator checks if // marks is greater than 40 string result = (marks>= 40) ? "passed" : "failed"; cout << "You " << result << " the exam."; return 0; )

Ausgabe 1

 Geben Sie Ihre Noten ein: 80 Sie haben die Prüfung bestanden.

Angenommen, der Benutzer gibt 80 ein . Dann ergibt sich die Bedingung marks>= 40zu true. Daher wird der erste Ausdruck "passed"dem Ergebnis zugewiesen.

Ausgabe 2

 Geben Sie Ihre Noten ein: 39.5 Sie haben die Prüfung nicht bestanden.

Angenommen, der Benutzer gibt 39.5 ein . Dann ergibt sich die Bedingung marks>= 40zu false. Daher wird der zweite Ausdruck "failed"dem Ergebnis zugewiesen.

Wann wird ein ternärer Operator verwendet?

In C ++ kann der ternäre Operator verwendet werden, um bestimmte Arten von if… elseAnweisungen zu ersetzen .

Zum Beispiel können wir diesen Code ersetzen

 #include using namespace std; int main() ( // Create a variable int number = -4; if (number> 0) cout << "Positive Number"; else cout << "Negative Number!"; return 0; )

mit

 #include #include using namespace std; int main() ( int number = -4; string result; // Using ternary operator result = (number> 0) ? "Positive Number!" : "Negative Number!"; cout << result << endl; return 0; )

Ausgabe

 Negative Zahl!

Hier geben beide Programme die gleiche Ausgabe. Die Verwendung des ternären Operators macht unseren Code jedoch lesbarer und sauberer.

Hinweis: Wir sollten den ternären Operator nur verwenden, wenn die resultierende Anweisung kurz ist.

Verschachtelte ternäre Operatoren

Es ist auch möglich, einen ternären Operator innerhalb eines anderen ternären Operators zu verwenden. Es wird in C ++ als verschachtelter ternärer Operator bezeichnet.

Hier ist ein Programm, mit dem Sie mithilfe des verschachtelten ternären Operators ermitteln können, ob eine Zahl positiv, negativ oder null ist.

 #include #include using namespace std; int main() ( int number = 0; string result; // nested ternary operator to find whether // number is positive, negative, or zero result = (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative"); cout << "Number is " << result; return 0; )

Ausgabe

 Nummer ist Null

Beachten Sie im obigen Beispiel die Verwendung von ternären Operatoren.

 (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative");

Hier,

  • (number == 0)ist die erste Testbedingung, die prüft, ob die Zahl 0 ist oder nicht. Wenn dies der Fall ist, weist es dem "Zero"Ergebnis den Zeichenfolgenwert zu.
  • Andernfalls wird die zweite Testbedingung (number> 0)bewertet, wenn die erste Bedingung vorliegt false.

Hinweis : Es wird nicht empfohlen, verschachtelte ternäre Operatoren zu verwenden. Dies liegt daran, dass unser Code dadurch komplexer wird.

Interessante Beiträge...