C++ hármas operátor

C Harmas Operator



„A feltételes operátor és az if-else utasítás egyaránt ugyanazt a technikát alkalmazza, de a feltételes operátor a lehető legrövidebbé teszi az if-else kifejezéseket, míg az if-else kifejezés több helyet foglal el. Egyes programozási nyelvekben létezik egy háromtagú operátor, amely három operandust fogad el a legtöbb operátor által igényelt szokásos egy vagy kettő helyett. Eszközt kínál egy alapvető if-else blokk sűrítésére. Ebben az útmutatóban a C++ háromtagú operátorát példákon keresztül ismertetjük. Egyes esetekben az if else utasítás a C++ alkalmazásokban helyettesíthető a háromtagú operátorral, amelyet gyakran feltételes operátornak is neveznek.

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_3

Itt 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.

#include

né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.