C ++ ternär operatör (med exempel)

I denna handledning lär vi oss om den ternära operatören i C ++ med hjälp av exempel.

I C ++ kan den ternära operatören (även känd som den villkorliga operatören ) användas för att ersätta om … annars i vissa scenarier.

Ternär operatör i C ++

En ternär operatör utvärderar testvillkoret och utför ett kodblock baserat på resultatet av tillståndet.

Dess syntax är

 condition ? expression1 : expression2;

Här conditionutvärderas och

  • om så conditionär fallet true, expression1körs.
  • Och, om så conditionär fallet false, expression2körs.

Den ternära operatören tar tre operander ( condition, expression1och expression2). Därför namnet ternär operatör .

Exempel: 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; )

Utgång 1

 Ange dina betyg: 80 Du klarade provet.

Antag att användaren anger 80 . Därefter marks>= 40utvärderas tillståndet till true. Därför "passed"tilldelas det första uttrycket resultatet.

Utgång 2

 Ange dina betyg: 39.5 Du klarade inte provet.

Antag nu att användaren anger 39.5 . Därefter marks>= 40utvärderas tillståndet till false. Följaktligen "failed"tilldelas det andra uttrycket resultatet.

När ska jag använda en ternär operatör?

I C ++ kan den ternära operatören användas för att ersätta vissa typer av if… elseuttalanden.

Till exempel kan vi ersätta den här koden

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

med

 #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; )

Produktion

 Negativt tal!

Här ger båda programmen samma resultat. Användningen av den ternära operatören gör dock vår kod mer läsbar och ren.

Obs! Vi bör endast använda den ternära operatören om det resulterande uttalandet är kort.

Kapslade ternära operatörer

Det är också möjligt att använda en ternär operatör i en annan ternär operatör. Det kallas den kapslade ternära operatören i C ++.

Här är ett program för att hitta om ett tal är positivt, negativt eller noll med hjälp av den kapslade ternära operatören.

 #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; )

Produktion

 Antalet är noll

I exemplet ovan märker du användningen av ternära operatörer,

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

Här,

  • (number == 0)är det första testvillkoret som kontrollerar om antalet är 0 eller inte. Om det är så tilldelar det strängvärdet som "Zero"ska resultat.
  • Annars (number> 0)utvärderas det andra testvillkoret om det första villkoret är false.

Obs! Det rekommenderas inte att använda kapslade ternära operatörer. Detta beror på att det gör vår kod mer komplex.

Intressanta artiklar...