Ternarni operater C++

Ternarni Operater C



»Pogojni operator in stavek if-else uporabljata isto tehniko, vendar pogojni operator naredi izraze if-else čim krajše, medtem ko izraz if-else zavzame več prostora. V nekaterih programskih jezikih obstaja operator, znan kot ternarni operator, ki sprejme tri operande v nasprotju z običajnim enim ali dvema, ki jih zahteva večina operaterjev. Ponuja sredstvo za zgoščevanje osnovnega bloka if-else. V tem priročniku bo ternarni operater v C++ obravnavan s primeri. V nekaterih primerih lahko stavek if else v aplikacijah C++ nadomestimo s ternarnim operatorjem, pogosto znanim kot pogojni operator.«

Sintaksa ternarnega operaterja v C++

Za ternarni operator so potrebni trije operandi: pogojni, pravi in ​​lažni. Ker ternarni operater analizira testni pogoj in glede na rezultat izvede blok kode, je sintaksa naslednja:

# (exp_1)? exp_2 : exp_3

Tukaj 'exp' predstavlja izraz. Odvisno od rezultata izraza ta operator vrne eno od dveh vrednosti. Izraza 2 in 3 sta ovrednotena, njune vrednosti pa so vrnjene kot končni rezultati, če je »exp_1« ovrednoten kot logična vrednost true; sicer je izraz 1 ovrednoten na logično vrednost false, izraz 2 pa je ovrednoten in njegova vrednost je vrnjena kot končni rezultat.







Primer 1

Tukaj je preprost primer programa, ki prikazuje, kako uporabljati ternarni operater C++.



#include

#include

uporaba imenskega prostora std ;

int glavni ( ) {
dvojno CGPA ;
cout <> CGPA ;

niz študent_rezultat = ( CGPA >= 1.5 ) ? 'opravil' : 'ni uspelo' ;

cout << 'ti' << študent_rezultat << 'semester.' ;

vrnitev 0 ;
}



V programu smo razdelek glave napolnili s knjižnicami C++. Po tem smo dodali imenski prostor std s ključno besedo »using«. Nato je bila v njej deklarirana spremenljivka »CGPA« z vrsto podatkov »double«. V naslednji vrstici smo prosili uporabnika, da vnese CGPA tako, da natisne ukaz cout. Z ukazom cin uporabniki dodajo CGPA.





Nato smo ustvarili drugo spremenljivko, »student_result«, ki ima ternarni operator. Ternarni operater tukaj potrebuje tri izraze. Prvi je pogoj, ki preverja, ali je CGPA, ki ga vnese uporabnik, večji ali enak '1,5'. Če je tako, bo natisnjena izjava »uspešno« ali pa tretji izraz. Rezultat bo prikazan, ko uporabite ukaz cout.

Recimo, da uporabnik vnese CGPA »3.5«. CGPA >= 1,5 se nato oceni kot resnično, kar izpolnjuje merilo. Torej, rezultat je podan s prvim izrazom 'opravljen'.



Recimo, da uporabnik vnese 1.00. Posledično je pogoj CGPA >= 1,5 napačno ovrednoten. Zato se rezultatu dodeli drugi izraz, »neuspešno«.

Primer 2

Določene vrste stavkov if else v C++ je mogoče zamenjati s ternarnim operaterjem. To kodo lahko spremenimo kot primer. Prvi primer programa uporablja pogoj if-else, drugi primer programa pa uporablja ternarni operator.

#include

uporaba imenskega prostora std ;

int glavni ( ) {

int na enem = - 3 ;
cout << 'na enem:' < 0 )
cout << ' \n Pozitivno celo število' ;
drugače
cout << ' \n Negativno celo število!' ;

vrnitev 0 ;
}

Razglasili in inicializirali smo spremenljivko podatkovnega tipa int »num« z vrednostjo negativnega celega števila. Nato se z ukazom cout natisne vrednost 'num'. Potem imamo pogoj if-else. Znotraj pogoja “if” smo določili pogoj, da mora biti spremenljivka “num” večja od vrednosti nič. Če pogoj postane resničen, bo natisnjen ukaz cout takoj za pogojem »if«. Če pogoj postane napačen, bo natisnjen stavek else cout.

Ker je število negativna vrednost, postane pogoj if napačen in pogoj

Nato smo izvedli zgornji program s ternarnim operaterjem. Preverimo, ali imata pogoj if-else in ternarni operator enake učinke.

#include

#include

uporaba imenskega prostora std ;

int glavni ( ) {

int MyNum = - 7 ;
cout << 'Celo število:' << MyNum < 0 ) ? 'Pozitivno celo število!' : 'Negativno celo število!' ;
cout << Izid << konec ;

vrnitev 0 ;
}

Razglasili smo spremenljivko 'MyNum' in jo inicializirali z negativno vrednostjo. Negativno vrednost smo natisnili s klicem spremenljivke »MyNum« znotraj ukaza cout. Nato nastavimo drugo spremenljivko kot »Izid« z vrsto niza. Spremenljivka rezultata prevzame operacijo ternarnega operaterja. Prvič, imamo pogoj, da mora biti »MyNum« večje od nič. Po tem postavimo ternarni operator “?”. Druga dva izraza bosta izvedena glede na rezultat pogoja.

Ker je vrednost celega števila '-7', tretji izraz, 'Negative Integer!' se natisne na poziv. Tu je rezultat obeh aplikacij enak. Ternarni operater pa izboljša berljivost in čistost naše kode.

Primer 3

Poleg tega se lahko ternarni operaterji uporabljajo eden v drugem. Z ugnezdenim ternarnim operatorjem preverite, ali je vrednost pozitivna, negativna ali nič v naslednjem programu.

#include

#include

uporaba imenskega prostora std ;

int glavni ( ) {
int celo število = 0 ;
niz Rezultat ;

Rezultat = ( celo število == 0 ) ? 'nič' : ( ( celo število > 0 ) ? 'pozitivno' : 'Negativno' ) ;

cout << 'Celo število je ' << Rezultat ;

vrnitev 0 ;
}

Začnite z glavno metodo programa. V int main() smo ustvarili spremenljivko z imenom 'integer' in njeno vrednost nastavili na nič. Nato smo definirali drugo spremenljivko, »Rezultat«, z nizom podatkovnega tipa. Nastavili smo spremenljivko »Rezultat« in jo zaobšli ternarni operator. Pogoj je, da mora biti vrednost spremenljivke 'celo število' enaka nič 'celo število == 0'. Začetni pogoj (celo število == 0) določa, ali je dano celo število nič ali ne. Če je tako, se rezultatu dodeli vrednost niza »Nič«. če je odgovor pravi. V nasprotnem primeru, če je prvi pogoj napačen, se preuči drugi pogoj (celo število > 0).

Da, podano celo število je nič, kot je prikazano v skriptu. Izhod ustvari 'Celo število je nič'.

Zaključek

Zavedamo se, da je pogojni operator ternarni operator. S pomočjo tega operaterja lahko preverimo stanje in se ravnamo v skladu z njim. Enako lahko dosežemo z uporabo pogojev if-else namesto ternarnega operatorja. Ta vadnica za C++ nas je naučila, kako uporabljati ternarni operater prek njegove sintakse in primerov programov. Upoštevajte, da je treba ternarni operator uporabiti le, če je končni stavek jedrnat.