Ternärer C++-Operator

Ternarer C Operator



„Der Bedingungsoperator und die if-else-Anweisung verwenden beide dieselbe Technik, aber der Bedingungsoperator macht die if-else-Ausdrücke so kurz wie möglich, während der if-else-Ausdruck mehr Platz einnimmt. In einigen Programmiersprachen gibt es einen Operator, der als ternärer Operator bekannt ist und drei Operanden akzeptiert, im Gegensatz zu den üblichen ein oder zwei, die die meisten Operatoren benötigen. Es bietet eine Möglichkeit, einen einfachen if-else-Block zu komprimieren. In diesem Handbuch wird der ternäre Operator in C++ anhand von Beispielen behandelt. In einigen Fällen kann die if else-Anweisung in C++-Anwendungen durch den ternären Operator ersetzt werden, der oft als Bedingungsoperator bezeichnet wird.“

Syntax des ternären Operators in C++

Die drei Operanden werden für den ternären Operator benötigt: der Bedingungsoperator, der Wahre und der Falsche. Da der ternäre Operator die Testbedingung analysiert und abhängig vom Ergebnis einen Codeblock ausführt, lautet die Syntax:

# (exp_1) ? exp_2 : exp_3

Hier steht „exp“ für den Ausdruck. Abhängig vom Ergebnis eines Ausdrucks gibt dieser Operator einen von zwei Werten zurück. Die Ausdrücke 2 und 3 werden ausgewertet, und ihre Werte werden als Endergebnisse zurückgegeben, wenn „exp_1“ zu einem booleschen Wert „true“ ausgewertet wird; andernfalls wird Ausdruck 1 zu einem booleschen Falsch ausgewertet und Ausdruck 2 wird ausgewertet und sein Wert wird als Endergebnis zurückgegeben.







Beispiel 1

Hier ist ein einfaches Beispielprogramm, das zeigt, wie der ternäre Operator von C++ verwendet wird.



#include

#include

mit Namensraum std ;

int hauptsächlich ( ) {
doppelt CGPA ;
cout <> CGPA ;

string student_result = ( CGPA >= 1.5 ) ? 'bestanden' : 'gescheitert' ;

cout << 'Du ' << student_ergebnis << ' das Semester.' ;

Rückkehr 0 ;
}



Im Programm haben wir unseren Header-Bereich mit den C++-Bibliotheken gefüllt. Danach haben wir den Namensraum std mit dem Schlüsselwort „using“ hinzugefügt. Dann wurde die Variable „CGPA“ mit dem Datentyp „Double“ darin deklariert. In der nächsten Zeile haben wir den Benutzer aufgefordert, den CGPA einzugeben, indem wir den cout-Befehl ausgeben. Mit dem Befehl cin fügen Benutzer die CGPA hinzu.





Dann haben wir eine weitere Variable erstellt, „student_result“, die einen ternären Operator hat. Der ternäre Operator benötigt hier die drei Ausdrücke. Die erste ist die Bedingung, die prüft, ob der vom Benutzer eingegebene CGPA größer oder gleich „1,5“ ist. Wenn ja, wird die Aussage „bestanden“ oder der dritte Ausdruck gedruckt. Das Ergebnis wird angezeigt, wenn Sie den cout-Befehl verwenden.

Nehmen wir an, der Benutzer gibt den CGPA „3.5“ ein. CGPA >= 1,5 wird dann als wahr bewertet und erfüllt das Kriterium. Das Ergebnis erhält also den ersten Begriff „bestanden“.



Angenommen, der Benutzer gibt 1,00 ein. Dadurch wird die Bedingung CGPA >= 1,5 fälschlicherweise ausgewertet. Daher erhält das Ergebnis den zweiten Ausdruck „nicht bestanden“.

Beispiel 2

Bestimmte Arten von if else-Anweisungen in C++ können mit dem ternären Operator ausgetauscht werden. Wir können diesen Code als Beispiel ändern. Das erste Beispielprogramm verwendet die if-else-Bedingung und das andere Beispielprogramm verwendet den ternären Operator.

#include

mit Namensraum std ;

int hauptsächlich ( ) {

int Auf eins = - 3 ;
cout << 'Auf eins :' < 0 )
cout << ' \n Positive ganze Zahl' ;
anders
cout << ' \n Negative Ganzzahl!' ;

Rückkehr 0 ;
}

Wir haben die int-Datentypvariable „num“ mit dem negativen ganzzahligen Wert deklariert und initialisiert. Danach wird mit dem cout-Befehl der „num“-Wert ausgegeben. Dann haben wir die if-else-Bedingung. Innerhalb der „if“-Bedingung haben wir die Bedingung angegeben, dass die Variable „num“ größer als der Wert Null sein soll. Wenn die Bedingung wahr wird, wird der cout-Befehl direkt nach der „if“-Bedingung ausgegeben. Wenn die Bedingung falsch wird, wird die else cout-Anweisung ausgegeben.

Da die Zahl ein negativer Wert ist, wird die if-Bedingung falsch und die

Als nächstes haben wir das obige Programm mit dem ternären Operator ausgeführt. Lassen Sie uns prüfen, ob die if-else-Bedingung und der ternäre Operator die gleichen Auswirkungen haben.

#include

#include

mit Namensraum std ;

int hauptsächlich ( ) {

int MeineNum = - 7 ;
cout << 'Ganze Zahl:' << MeineNum < 0 ) ? 'Positive ganze Zahl!' : 'Negative ganze Zahl!' ;
cout << Ergebnis << Ende ;

Rückkehr 0 ;
}

Wir haben die Variable „MyNum“ deklariert und mit einem negativen Wert initialisiert. Wir haben den negativen Wert ausgegeben, indem wir die Variable „MyNum“ innerhalb des cout-Befehls aufgerufen haben. Dann setzen wir eine weitere Variable als „Ergebnis“ mit dem String-Typ. Die Ergebnisvariable übernimmt die ternäre Operatoroperation. Zunächst haben wir die Bedingung, dass „MyNum“ größer als Null sein soll. Danach setzen wir einen ternären Operator „?“. Die anderen beiden Ausdrücke werden nach dem Ergebnis der Bedingung ausgeführt.

Da der ganzzahlige Wert „-7“ ist, wird der dritte Ausdruck „Negative Integer!“ wird auf der Eingabeaufforderung gedruckt. Hier ist die Ausgabe beider Anwendungen gleich. Der ternäre Operator verbessert jedoch die Lesbarkeit und Sauberkeit unseres Codes.

Beispiel 3

Außerdem können ternäre Operatoren ineinander verwendet werden. Verwenden Sie den verschachtelten ternären Operator, um im folgenden Programm zu prüfen, ob ein Wert positiv, negativ oder null ist.

#include

#include

mit Namensraum std ;

int hauptsächlich ( ) {
int ganze Zahl = 0 ;
Zeichenfolge Ergebnis ;

Ergebnis = ( ganze Zahl == 0 ) ? 'Null' : ( ( ganze Zahl > 0 ) ? 'Positiv' : 'Negativ' ) ;

cout << 'Ganzzahl ist' << Ergebnis ;

Rückkehr 0 ;
}

Beginnen Sie einfach mit der Hauptmethode des Programms. In der int main() haben wir die Variable mit dem Namen „integer“ angelegt und ihren Wert auf Null gesetzt. Dann haben wir eine weitere Variable „Result“ mit dem Datentyp String definiert. Wir haben die Variable „Ergebnis“ gesetzt und dabei den ternären Operator umgangen. Bedingung ist, dass der Wert der Variable „Integer“ gleich Null „Integer == 0“ sein soll. Die Anfangsbedingung (Ganzzahl == 0) bestimmt, ob eine gegebene Ganzzahl Null ist oder nicht. Wenn dies der Fall ist, erhält das Ergebnis den Zeichenfolgenwert „Null“. ob die Antwort stimmt. Andernfalls, wenn die erste Bedingung falsch ist, wird die zweite Bedingung (Ganzzahl > 0) untersucht.

Ja, die angegebene Ganzzahl ist Null, wie im Skript gezeigt. Der Ausgang erzeugt „Integer is Zero“.

Fazit

Wir wissen, dass der Bedingungsoperator der ternäre Operator ist. Mit Hilfe dieses Operators können wir eine Bedingung überprüfen und entsprechend handeln. Wir können dasselbe erreichen, indem wir if-else-Bedingungen anstelle des ternären Operators verwenden. Dieses C++-Tutorial hat uns gezeigt, wie man den Ternären Operator durch seine Syntax und Beispielprogramme verwendet. Denken Sie daran, dass der ternäre Operator nur verwendet werden darf, wenn die abschließende Anweisung prägnant ist.