Ternárny operátor C ++ (s príkladmi)

V tomto tutoriále sa pomocou príkladov dozvieme o ternárnom operátore v C ++.

V C ++ možno ternárny operátor (tiež známy ako podmienený operátor ) použiť na nahradenie, ak … v iných scenároch.

Ternárny operátor v C ++

Ternárny operátor vyhodnotí podmienku testu a na základe výsledku podmienky vykoná blok kódu.

Jeho syntax je

 condition ? expression1 : expression2;

Tu conditionsa hodnotí a

  • ak conditionje true, expression1je vykonaný.
  • A ak conditionje false, expression2je vykonaný.

Ternárny operátor má 3 operandy ( condition, expression1a expression2). Preto názov ternárny operátor .

Príklad: C ++ ternárny operátor

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

Výstup 1

 Zadajte svoje známky: 80 Zložili ste skúšku.

Predpokladajme, že používateľ zadá 80 . Potom sa stav marks>= 40vyhodnotí ako true. Preto je prvému výrazu "passed"priradený výsledok.

Výstup 2

 Zadajte svoje známky: 39.5 Skúšku ste neuspeli.

Teraz predpokladajme, že používateľ zadá 39.5 . Potom sa stav marks>= 40vyhodnotí ako false. Preto je druhému výrazu "failed"priradený výsledok.

Kedy použiť ternárneho operátora?

V C ++ možno ternárny operátor použiť na nahradenie určitých typov if… elsepríkazov.

Tento kód môžeme napríklad nahradiť

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

s

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

Výkon

 Záporné číslo!

Tu obidva programy poskytujú rovnaký výstup. Použitie ternárneho operátora však robí náš kód čitateľnejším a čistším.

Poznámka: Ternárny operátor by sme mali používať iba v prípade, že je výsledný príkaz krátky.

Vnorené ternárne operátory

Je tiež možné použiť jeden ternárny operátor vo vnútri iného ternárneho operátora. V C ++ sa nazýva vnorený ternárny operátor.

Tu je program na zistenie, či je číslo kladné, záporné alebo nulové pomocou vnoreného ternárneho operátora.

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

Výkon

 Číslo je nula

Vo vyššie uvedenom príklade si všimnite použitie ternárnych operátorov,

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

Tu,

  • (number == 0)je prvá testovacia podmienka, ktorá kontroluje, či je číslo 0 alebo nie. Ak je, priraďuje "Zero"výsledku hodnotu reťazca .
  • Inak (number> 0)sa vyhodnotí druhá podmienka testu, ak je splnená prvá podmienka false.

Poznámka : Neodporúča sa používať vnorené ternárne operátory. Je to preto, že náš kód je zložitejší.

Zaujímavé články...