Ternárny operátor C++

Ternarny Operator C



„Podmienený operátor a príkaz if-else využívajú rovnakú techniku, ale podmienený operátor robí výrazy if-else čo najkratšie, zatiaľ čo výraz if-else zaberá viac miesta. V niektorých programovacích jazykoch existuje operátor známy ako ternárny operátor, ktorý akceptuje tri operandy na rozdiel od obvyklého jedného alebo dvoch, ktoré väčšina operátorov vyžaduje. Ponúka prostriedok na kondenzáciu základného bloku if-else. V tejto príručke bude ternárny operátor v C++ popísaný pomocou príkladov. V niektorých prípadoch môže byť príkaz if else v aplikáciách C++ nahradený ternárnym operátorom, často známym ako podmienený operátor.

Syntax ternárneho operátora v C++

Pre ternárny operátor sú potrebné tri operandy: podmienený, pravdivý a nepravdivý. Keď ternárny operátor analyzuje testovaciu podmienku a v závislosti od výsledku vykoná blok kódu, syntax je:

# (exp_1) ? exp_2: exp_3

Výraz „exp“ tu predstavuje výraz. V závislosti od výsledku výrazu tento operátor vráti jednu z dvoch hodnôt. Výrazy 2 a 3 sa vyhodnotia a ich hodnoty sa vrátia ako konečné výsledky, ak sa „exp_1“ vyhodnotí ako logická pravda; inak sa vyhodnotí výraz 1 ako booleovská nepravda a výraz 2 sa vyhodnotí a jeho hodnota sa vráti ako konečný výsledok.







Príklad 1

Tu je jednoduchý príklad programu, ktorý ukazuje, ako používať ternárny operátor C++.



#include

#include

pomocou menného priestoru std ;

int hlavné ( ) {
dvojitý CGPA ;
cout <> CGPA ;

reťazec študent_výsledok = ( CGPA >= 1.5 ) ? 'prešiel' : 'nepodarilo sa' ;

cout << 'ty' << študent_výsledok << ' semester.' ;

vrátiť 0 ;
}



V programe sme naplnili sekciu hlavičky knižnicami C++. Potom sme pridali menný priestor std s kľúčovým slovom „using“. Potom bola v nej deklarovaná premenná „CGPA“ s typom údajov „double“. V ďalšom riadku sme používateľa požiadali, aby zadal CGPA vytlačením príkazu cout. Pomocou príkazu cin používatelia pridajú CGPA.





Potom sme vytvorili ďalšiu premennú „student_result“, ktorá má ternárny operátor. Ternárny operátor tu potrebuje tri výrazy. Prvým je podmienka, ktorá kontroluje, či je CGPA zadané používateľom väčšie alebo rovné „1,5“. Ak áno, vytlačí sa vyhlásenie „vyhovel“ alebo sa vytlačí tretí výraz. Výsledok sa zobrazí, keď použijete príkaz cout.

Povedzme, že používateľ zadá CGPA „3.5“. CGPA >= 1,5 sa potom vyhodnotí ako pravda, čo spĺňa kritérium. Výsledkom je teda prvý výraz „vyhovel“.



Povedzme, že používateľ zadá 1,00. Výsledkom je, že podmienka CGPA >= 1,5 je nesprávne vyhodnotená. Preto sa výsledku priradí druhý výraz „neúspešný“.

Príklad 2

Určité druhy príkazov if else v C++ možno vymeniť s ternárnym operátorom. Tento kód môžeme zmeniť ako príklad. Prvý vzorový program používa podmienku if-else a druhý vzorový program používa ternárny operátor.

#include

pomocou menného priestoru std ;

int hlavné ( ) {

int na jeden = - 3 ;
cout << 'na jeden :' < 0 )
cout << ' \n kladné celé číslo' ;
inak
cout << ' \n Záporné celé číslo!' ;

vrátiť 0 ;
}

Deklarovali sme a inicializovali premennú dátového typu int „num“ s hodnotou záporného celého čísla. Potom sa pomocou príkazu cout vytlačí hodnota „num“. Potom máme podmienku if-other. Vo vnútri podmienky „if“ sme zadali podmienku, že premenná „num“ má byť väčšia ako nula. Ak sa podmienka stane pravdivou, vytlačí sa príkaz cout hneď za podmienkou „if“. Ak sa podmienka stane nepravdivou, vytlačí sa príkaz else cout.

Keďže číslo je záporná hodnota, podmienka if sa stane nepravdivou a

Ďalej sme spustili vyššie uvedený program s ternárnym operátorom. Pozrime sa, či podmienka if-else a ternárny operátor majú rovnaké účinky.

#include

#include

pomocou menného priestoru std ;

int hlavné ( ) {

int MyNum = - 7 ;
cout << 'Celé číslo:' << MyNum < 0 ) ? 'Pozitívne celé číslo!' : 'Záporné celé číslo!' ;
cout << Výsledok << endl ;

vrátiť 0 ;
}

Deklarovali sme premennú „MyNum“ a inicializovali sme ju so zápornou hodnotou. Zápornú hodnotu sme vytlačili volaním premennej „MyNum“ v príkaze cout. Potom nastavíme ďalšiu premennú ako „Výsledok“ s typom reťazca. Výsledná premenná má operáciu ternárneho operátora. Po prvé, máme podmienku, že „MyNum“ by malo byť väčšie ako nula. Potom vložíme ternárny operátor „?“. Ďalšie dva výrazy sa vykonajú na základe výsledku podmienky.

Keďže hodnota celého čísla je „-7“, tretí výraz „Záporné celé číslo!“ je vytlačená vo výzve. Tu je výstup z oboch aplikácií rovnaký. Ternárny operátor však zlepšuje čitateľnosť a čistotu nášho kódu.

Príklad 3

Okrem toho môžu byť ternárne operátory použité jeden v druhom. Pomocou vnoreného ternárneho operátora skontrolujte, či je hodnota v nasledujúcom programe kladná, záporná alebo nulová.

#include

#include

pomocou menného priestoru std ;

int hlavné ( ) {
int celé číslo = 0 ;
reťazec Výsledok ;

Výsledok = ( celé číslo == 0 ) ? 'nula' : ( ( celé číslo > 0 ) ? 'pozitívny' : 'negatívny' ) ;

cout << 'Celé číslo je' << Výsledok ;

vrátiť 0 ;
}

Stačí začať s hlavnou metódou programu. V int main() sme vytvorili premennú s názvom „integer“ a nastavili jej hodnotu na nulu. Potom sme definovali ďalšiu premennú „Výsledok“ s reťazcom typu údajov. Nastavili sme premennú „Výsledok“ a vynechali sme ternárny operátor. Podmienkou je, že hodnota premennej „celé číslo“ by sa mala rovnať nule „celé číslo == 0“. Počiatočná podmienka (celé číslo == 0) určuje, či dané celé číslo je alebo nie je nula. Ak áno, výsledok dostane hodnotu reťazca „nula“. ak je odpoveď správna. V opačnom prípade, ak je prvá podmienka nepravdivá, preskúma sa druhá podmienka (celé číslo > 0).

Áno, zadané celé číslo je nula, ako je uvedené v skripte. Výstup generuje „Celé číslo je nula“.

Záver

Sme si vedomí toho, že podmienený operátor je ternárny operátor. Pomocou tohto operátora môžeme skontrolovať stav a konať v súlade s ním. To isté môžeme dosiahnuť pomocou podmienok if-else namiesto ternárneho operátora. Tento tutoriál C++ nás naučil, ako používať ternárny operátor prostredníctvom jeho syntaxe a vzorových programov. Majte na pamäti, že trojčlenný operátor sa musí použiť iba vtedy, ak je konečné vyhlásenie stručné.