Ternarni operater C ++ (z primeri)

V tej vadnici bomo s pomočjo primerov spoznali ternarni operater v jeziku C ++.

V C ++ lahko ternarni operator (znan tudi kot pogojni operator ) nadomesti, če … v nekaterih scenarijih.

Ternarni operater v jeziku C ++

Ternarni operater oceni testno stanje in na podlagi rezultata pogoja izvede blok kode.

Njegova skladnja je

 condition ? expression1 : expression2;

Tu conditionse oceni in

  • če conditionje true, expression1se izvrši.
  • In če conditionje false, expression2se izvrši.

Ternarni operator sprejme 3 operande ( condition, expression1in expression2). Zato ime trojni operater .

Primer: Ternarni operater 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; )

Izhod 1

 Vpišite svoje ocene: 80 Izpit ste opravili.

Recimo, da uporabnik vnese 80 . Nato stanje marks>= 40oceni na true. Zato je prvi izraz "passed"dodeljen rezultatu.

Rezultat 2

 Vpišite svoje ocene: 39,5 Izpit vam ni uspel.

Recimo, da uporabnik vnese 39,5 . Nato stanje marks>= 40oceni na false. Zato je drugi izraz "failed"dodeljen rezultatu.

Kdaj uporabiti ternarnega operaterja?

V jeziku C ++ lahko ternarni operator nadomestimo nekatere vrste if… elsestavkov.

To kodo lahko na primer nadomestimo

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

Izhod

 Negativna številka!

Tu imata oba programa enak izhod. Vendar uporaba ternarnega operaterja naredi našo kodo bolj berljivo in čisto.

Opomba: Ternarni operator moramo uporabljati samo, če je izid, ki je rezultat, kratek.

Vgnezdeni ternarni operaterji

Možno je uporabiti tudi enega ternarnega operaterja znotraj drugega ternarnega operaterja. V C ++ se imenuje ugnezdeni ternarni operator.

Tukaj je program za ugotavljanje, ali je število pozitivno, negativno ali nič z uporabo ugnezdenega ternarnega operatorja.

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

Izhod

 Število je nič

V zgornjem primeru opazite uporabo ternarnih operatorjev,

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

Tukaj,

  • (number == 0)je prvi preskusni pogoj, ki preveri, ali je število 0 ali ne. Če je, potem dodeli vrednost niza "Zero"rezultatu.
  • V nasprotnem primeru se oceni drugi testni pogoj (number> 0), če je prvi pogoj false.

Opomba : Ni priporočljivo uporabljati ugnezdenih ternarnih operatorjev. To je zato, ker je naša koda bolj zapletena.

Zanimive Članki...