A hármas operátor szintaxisa C++ nyelven
A hármas operátorhoz három operandus szükséges: a feltételes, az igaz és a hamis. Mivel a hármas operátor elemzi a tesztfeltételt, és az eredménytől függően egy kódblokkot hajt végre, a szintaxis a következő:
# (exp_1) ? exp_2 : exp_3Itt az „exp” a kifejezést jelenti. A kifejezés eredményétől függően ez az operátor két érték egyikét adja vissza. A 2. és 3. kifejezést a rendszer kiértékeli, és az értékeket végső eredményként adja vissza, ha az „exp_1” logikai igaz értékre van kiértékelve; egyébként az 1. kifejezést logikai hamisra, a 2. kifejezést pedig kiértékeli, és az értéke a végeredményként kerül visszaadásra.
1. példa
Itt van egy egyszerű példaprogram, amely bemutatja, hogyan kell használni a C++ Ternary Operator-ját.
#include
#include
névtér std használatával ;
int fő- ( ) {
kettős CGPA ;
cout <> CGPA ;
string diák_eredmény = ( CGPA >= 1.5 ) ? 'átment' : 'nem sikerült' ;
cout << 'Ön ' << tanuló_eredménye << ' a szemeszter.' ;
Visszatérés 0 ;
}
A programban a fejléc részünket a C++ könyvtárakkal töltöttük fel. Ezt követően hozzáadtuk az std névteret a „using” kulcsszóval. Ezután a „CGPA” változó a „double” adattípussal deklarálva van benne. A következő sorban arra kértük a felhasználót, hogy írja be a CGPA-t a cout parancs kinyomtatásával. A cin paranccsal a felhasználók hozzáadják a CGPA-t.
Ezután létrehoztunk egy másik változót, a „student_result”, amelynek háromtagú operátora van. A háromtagú operátornak itt a három kifejezésre van szüksége. Az első az a feltétel, amely ellenőrzi, hogy a felhasználó által megadott CGPA nagyobb-e vagy egyenlő-e „1,5”-el. Ha igen, akkor a „megfelelt” utasítás kerül kinyomtatásra, különben a harmadik kifejezés kerül kinyomtatásra. Az eredmény a cout parancs használatakor jelenik meg.
Tegyük fel, hogy a felhasználó beírja a „3.5” CGPA-t. A CGPA >= 1,5, majd igazra értékeli, ami teljesíti a feltételt. Tehát az eredmény az első „megfelelt” kifejezést kapja.
Tegyük fel, hogy a felhasználó 1.00-at ír be. Ennek eredményeként a CGPA >= 1,5 feltétel hamisan kerül kiértékelésre. Ezért az eredmény a második kifejezést kapja, a „sikertelen”.
2. példa
Bizonyos típusú if else utasítások a C++-ban kicserélhetők a háromtagú operátorral. Ezt a kódot példaként módosíthatjuk. Az első példaprogram az if-else feltételt használja, a másik példaprogram pedig a háromtagú operátort.
#includenévtér std használatával ;
int fő- ( ) {
int az egyiken = - 3 ;
cout << 'egyen:' < 0 )
cout << ' \n Pozitív egész szám' ;
más
cout << ' \n Negatív egész!' ;
Visszatérés 0 ;
}
Deklaráltuk és inicializáltuk a „num” int adattípusú változót negatív egész számmal. Ezt követően a cout paranccsal a „num” érték kerül kinyomtatásra. Akkor megvan az if-else feltétel. Az „if” feltételen belül megadtuk azt a feltételt, hogy a „szám” változónak nagyobbnak kell lennie a nullánál. Ha a feltétel igaz lesz, akkor az „if” feltétel után közvetlenül a cout parancs kerül kinyomtatásra. Ha a feltétel hamis lesz, akkor az else cout utasítás kerül kinyomtatásra.
Mivel a szám negatív érték, az if feltétel hamis lesz, és a
Ezután végrehajtottuk a fenti programot a háromtagú operátorral. Nézzük meg, hogy az if-else feltételnek és a háromtagú operátornak ugyanaz a hatása.
#include#include
névtér std használatával ;
int fő- ( ) {
int MyNum = - 7 ;
cout << 'Egész szám:' << MyNum < 0 ) ? 'Pozitív egész szám!' : 'Negatív egész szám!' ;
cout << Eredmény << endl ;
Visszatérés 0 ;
}
Deklaráltuk a „MyNum” változót, és negatív értékkel inicializáltuk. A negatív értéket úgy nyomtattuk ki, hogy meghívtuk a „MyNum” változót a cout parancson belül. Ezután egy másik változót állítunk be „Eredmény” néven a karakterlánc típusával. Az eredményváltozó a háromtagú operátor műveletét veszi fel. Először is az a feltételünk, hogy a „MyNum”-nak nagyobbnak kell lennie nullánál. Ezt követően egy háromtagú „?” operátort teszünk. A másik két kifejezés a feltétel eredménye alapján kerül végrehajtásra.
Mivel az egész szám értéke „-7”, a harmadik kifejezés: „Negatív egész!” rá van nyomtatva a promptra. Itt mindkét alkalmazás kimenete ugyanaz. A hármas operátor azonban javítja kódunk olvashatóságát és tisztaságát.
3. példa
Ezenkívül háromtagú operátorok egymáson belül is alkalmazhatók. Használja a beágyazott háromtagú operátort annak ellenőrzésére, hogy egy érték pozitív, negatív vagy nulla a következő programban.
#include#include
névtér std használatával ;
int fő- ( ) {
int egész szám = 0 ;
karakterlánc Eredmény ;
Eredmény = ( egész szám == 0 ) ? 'Nulla' : ( ( egész szám > 0 ) ? 'Pozitív' : 'Negatív' ) ;
cout << 'Az egész szám' << Eredmény ;
Visszatérés 0 ;
}
Kezdje a program fő módszerével. Az int main()-ban létrehoztuk az „integer” nevű változót, és az értékét nullára állítottuk. Ezután definiáltunk egy másik változót, az „Eredményt” az adattípus karakterláncával. Beállítottuk az „Eredmény” változót, megkerülve a hármas operátort. A feltétel az, hogy az „integer” változó értéke nulla „integer == 0” legyen. A kezdeti feltétel (egész == 0) határozza meg, hogy egy adott egész szám nulla-e vagy sem. Ha igen, az eredmény a „Zero” karakterlánc értéket kapja. ha helyes a válasz. Ellenkező esetben, ha az első feltétel hamis, a második feltétel (egész > 0) kerül vizsgálatra.
Igen, a megadott egész szám nulla, ahogy a szkript is mutatja. A kimenet az „Integer is Zero” értéket generálja.
Következtetés
Tudjuk, hogy a feltételes operátor a háromtagú operátor. Ennek az operátornak a segítségével ellenőrizhetünk egy állapotot, és ennek megfelelően járhatunk el. Ugyanezt megvalósíthatjuk if-else feltételekkel a hármas operátor helyett. Ez a C++ oktatóanyag megtanította nekünk a Ternary Operator használatát a szintaxison és példaprogramokon keresztül. Ne feledje, hogy a háromtagú operátort csak akkor szabad használni, ha a végső nyilatkozat tömör.