In deze tutorial leren we met behulp van voorbeelden over de ternaire operator in C ++.
In C ++ kan de ternaire operator (ook bekend als de voorwaardelijke operator ) worden gebruikt om if… else in bepaalde scenario's te vervangen.
Ternaire operator in C ++
Een ternaire operator evalueert de testconditie en voert een codeblok uit op basis van het resultaat van de conditie.
De syntaxis is
condition ? expression1 : expression2;
Hier condition
wordt geëvalueerd en
- als
condition
istrue
,expression1
wordt uitgevoerd. - En, als
condition
isfalse
,expression2
wordt uitgevoerd.
De ternaire operator heeft 3 operanden ( condition
, expression1
en expression2
). Vandaar de naam ternaire operator .
Voorbeeld: C ++ Ternary 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; )
Uitgang 1
Voer uw cijfers in: 80 U bent geslaagd voor het examen.
Stel dat de gebruiker 80 invoert . Vervolgens marks>= 40
evalueert de toestand naar true
. Daarom wordt de eerste uitdrukking "passed"
toegewezen aan resultaat.
Uitgang 2
Voer uw cijfers in: 39,5 U bent gezakt voor het examen.
Stel nu dat de gebruiker 39.5 invoert . Vervolgens marks>= 40
evalueert de toestand naar false
. Daarom wordt de tweede uitdrukking "failed"
toegewezen aan resultaat.
Wanneer gebruik je een ternaire operator?
In C ++ kan de ternaire operator worden gebruikt om bepaalde soorten if… else
instructies te vervangen .
We kunnen deze code bijvoorbeeld vervangen
#include using namespace std; int main() ( // Create a variable int number = -4; if (number> 0) cout << "Positive Number"; else cout << "Negative Number!"; return 0; )
met
#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; )
Uitvoer
Negatief nummer!
Hier geven beide programma's dezelfde output. Het gebruik van de ternaire operator maakt onze code echter leesbaarder en overzichtelijker.
Opmerking: we moeten de ternaire operator alleen gebruiken als de resulterende instructie kort is.
Geneste ternaire operators
Het is ook mogelijk om een ternaire operator binnen een andere ternaire operator te gebruiken. Het wordt de geneste ternaire operator genoemd in C ++.
Hier is een programma om te bepalen of een getal positief, negatief of nul is met behulp van de geneste ternaire operator.
#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; )
Uitvoer
Nummer is nul
Let in het bovenstaande voorbeeld op het gebruik van ternaire operatoren,
(number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative");
Hier,
(number == 0)
is de eerste testconditie die controleert of het getal 0 is of niet. Als dit het geval is, wordt de tekenreekswaarde"Zero"
aan resultaat toegewezen.- Anders wordt de tweede testvoorwaarde
(number> 0)
geëvalueerd als de eerste voorwaarde dat isfalse
.
Opmerking : het wordt niet aanbevolen om geneste ternaire operatoren te gebruiken. Dit komt omdat het onze code complexer maakt.