Operator ternar C ++ (cu exemple)

În acest tutorial, vom afla despre operatorul ternar în C ++ cu ajutorul unor exemple.

În C ++, operatorul ternar (cunoscut și sub numele de operator condițional ) poate fi folosit pentru a înlocui if … else în anumite scenarii.

Operator ternar în C ++

Un operator ternar evaluează starea testului și execută un bloc de cod pe baza rezultatului stării.

Sintaxa sa este

 condition ? expression1 : expression2;

Aici, conditioneste evaluat și

  • dacă conditioneste true, expression1este executat.
  • Și, dacă conditioneste false, expression2este executat.

Operatorul ternar ia 3 operanzi ( condition, expression1și expression2). De aici, numele operator ternar .

Exemplu: Operator ternar C ++

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

Ieșire 1

 Introduceți notele: 80 Ați promovat examenul.

Să presupunem că utilizatorul introduce 80 . Apoi, condiția se marks>= 40evaluează la true. Prin urmare, prima expresie "passed"este atribuită rezultatului.

Ieșire 2

 Introduceți notele: 39.5 Ați eșuat la examen.

Acum, să presupunem că utilizatorul introduce 39.5 . Apoi, condiția se marks>= 40evaluează la false. Prin urmare, a doua expresie "failed"este atribuită rezultatului.

Când se folosește un operator ternar?

În C ++, operatorul ternar poate fi utilizat pentru a înlocui anumite tipuri de if… elseinstrucțiuni.

De exemplu, putem înlocui acest cod

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

cu

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

Ieșire

 Număr negativ!

Aici, ambele programe oferă aceeași ieșire. Cu toate acestea, utilizarea operatorului ternar face codul nostru mai lizibil și mai curat.

Notă: ar trebui să folosim operatorul ternar numai dacă declarația rezultată este scurtă.

Operatori ternari imbricati

De asemenea, este posibil să utilizați un operator ternar în interiorul altui operator ternar. Se numește operator ternar imbricat în C ++.

Iată un program pentru a afla dacă un număr este pozitiv, negativ sau zero folosind operatorul ternar imbricat.

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

Ieșire

 Numărul este zero

În exemplul de mai sus, observați utilizarea operatorilor ternari,

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

Aici,

  • (number == 0)este prima condiție de test care verifică dacă numărul este 0 sau nu. Dacă este, atunci atribuie valoarea șirului "Zero"rezultatului.
  • Altfel, a doua condiție de testare (number> 0)este evaluată dacă prima condiție este false.

Notă : Nu se recomandă utilizarea operatorilor ternari cuibăriți. Acest lucru se datorează faptului că face codul nostru mai complex.

Articole interesante...