C ++ ternární operátor (s příklady)

V tomto tutoriálu se pomocí příkladů dozvíme o ternárním operátoru v C ++.

V jazyce C ++ lze ternární operátor (také známý jako podmíněný operátor ) použít k nahrazení, pokud… v určitých scénářích.

Ternární operátor v C ++

Ternární operátor vyhodnotí podmínku testu a provede blok kódu na základě výsledku podmínky.

Jeho syntaxe je

 condition ? expression1 : expression2;

Zde conditionse hodnotí a

  • pokud conditionje true, expression1je provedeno.
  • A pokud conditionano false, expression2je proveden.

Ternární operátor vezme 3 operandy ( condition, expression1a expression2). Proto název ternární operátor .

Příklad: C ++ ternární 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

 Zadejte své známky: 80 Úspěšně jste složili zkoušku.

Předpokládejme, že uživatel zadá 80 . Poté se stav marks>= 40vyhodnotí jako true. Proto je první výraz "passed"přiřazen k výsledku.

Výstup 2

 Zadejte své známky: 39,5 Zkoušeli jste neúspěšně.

Nyní předpokládejme, že uživatel zadá 39.5 . Poté se stav marks>= 40vyhodnotí jako false. Proto je druhému výrazu "failed"přiřazen výsledek.

Kdy použít ternárního operátora?

V jazyce C ++ lze ternární operátor použít k nahrazení určitých typů if… elsepříkazů.

Například můžeme tento kód nahradit

 #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ýstup

 Záporné číslo!

Zde oba programy poskytují stejný výstup. Díky použití ternárního operátoru je však náš kód čitelnější a čistější.

Poznámka: Ternární operátor bychom měli používat pouze v případě, že je výsledný příkaz krátký.

Vnořené ternární operátory

Je také možné použít jeden ternární operátor uvnitř jiného ternárního operátoru. V C ++ se nazývá vnořený ternární operátor.

Zde je program, který pomocí vnořeného ternárního operátoru zjistí, zda je číslo kladné, záporné nebo nulové.

 #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ýstup

 Číslo je nula

Ve výše uvedeném příkladu si všimněte použití ternárních operátorů,

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

Tady,

  • (number == 0)je první testovací podmínka, která kontroluje, zda je číslo 0 nebo ne. Pokud ano, přiřadí hodnotu řetězce "Zero"k výsledku.
  • Jinak se druhá podmínka testu (number> 0)vyhodnotí, pokud je první podmínka false.

Poznámka : Nedoporučuje se používat vnořené ternární operátory. Je to proto, že náš kód je složitější.

Zajímavé články...