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 condition
wird ausgewertet und
- wenn
condition
isttrue
,expression1
wird ausgeführt. - Und wenn
condition
jafalse
,expression2
wird ausgeführt.
Der ternäre Operator akzeptiert 3 Operanden ( condition
, expression1
und 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>= 40
zu 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>= 40
zu 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… else
Anweisungen 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 vorliegtfalse
.
Hinweis : Es wird nicht empfohlen, verschachtelte ternäre Operatoren zu verwenden. Dies liegt daran, dass unser Code dadurch komplexer wird.