C ++ háromkezes kezelő (példákkal)

Ebben az oktatóanyagban példák segítségével megismerhetjük a C ++ verzióban lévő háromszintű operátort.

A C ++ - ban a háromfázisú operátor (más néven feltételes operátor ) használható helyettesítésre, ha… más esetben bizonyos esetekben.

Ternary Operator C ++ nyelven

A háromszintű operátor kiértékeli a tesztfeltételt és végrehajt egy kódblokkot a feltétel eredménye alapján.

Szintaxisa az

 condition ? expression1 : expression2;

Itt conditionértékelik és

  • ha conditionvan true, expression1akkor végrehajtják.
  • És ha conditionvan false, expression2akkor végrehajtják.

A hármas operátor 3 operandusot vesz fel ( condition, expression1és expression2). Ezért a háromlagos operátor neve .

Példa: 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; )

1. kimenet

 Írja be a pontszámait: 80 letette a vizsgát.

Tegyük fel, hogy a felhasználó 80-at ír be . Ezután az állapot marks>= 40kiértékelődik true. Ezért az első kifejezés "passed"az eredményhez van rendelve.

2. kimenet

 Írja be a pontszámokat: 39.5 Nem sikerült a vizsga.

Tegyük fel, hogy a felhasználó a 39.5-et írja be . Ezután az állapot marks>= 40kiértékelődik false. Ezért a második kifejezést "failed"az eredményhez rendeljük.

Mikor kell használni a Ternary Operator-t?

A C ++ nyelven a háromszintű operátor használható bizonyos típusú if… elseutasítások helyettesítésére .

Például kicserélhetjük ezt a kódot

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

val vel

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

Kimenet

 Negatív szám!

Itt mindkét program ugyanazt a kimenetet adja. A háromszintű operátor használata azonban kódunkat olvashatóbbá és tisztábbá teszi.

Megjegyzés: Csak akkor használjuk a hármas operátort, ha az eredményül kapott utasítás rövid.

Beágyazott terner operátorok

Lehetőség van arra is, hogy egy hármas operátort használjon egy másik hármas operátoron belül. C ++ - ban beágyazott ternáris operátornak hívják.

Itt van egy program, amely a beágyazott ternáris operátor segítségével megállapítja, hogy egy szám pozitív, negatív vagy nulla.

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

Kimenet

 A szám nulla

A fenti példában vegye figyelembe a hármas operátorok használatát,

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

Itt,

  • (number == 0)az első tesztfeltétel, amely ellenőrzi, hogy a szám 0-e vagy sem. Ha igen, akkor "Zero"az eredményhez hozzárendeli a karakterlánc értékét .
  • Egyébként a második tesztfeltételt (number> 0)értékelik, ha az első feltétel teljesül false.

Megjegyzés : Nem ajánlott beágyazott terner operátorokat használni. Ennek oka, hogy bonyolultabbá teszi a kódunkat.

érdekes cikkek...