C ++ Ternary Operator (met voorbeelden)

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 conditionwordt geëvalueerd en

  • als conditionis true, expression1wordt uitgevoerd.
  • En, als conditionis false, expression2wordt uitgevoerd.

De ternaire operator heeft 3 operanden ( condition, expression1en 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>= 40evalueert 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>= 40evalueert 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… elseinstructies 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 is false.

Opmerking : het wordt niet aanbevolen om geneste ternaire operatoren te gebruiken. Dit komt omdat het onze code complexer maakt.

Interessante artikelen...