C++ ternarni operator

C Ternarni Operator



“Uvjetni operator i if-else naredba koriste istu tehniku, ali uvjetni operator čini if-else izraze što je moguće kraćim dok if-else izraz zauzima više prostora. U nekim programskim jezicima postoji operator poznat kao ternarni operator koji prihvaća tri operanda za razliku od uobičajenog jednog ili dva koje većina operatora zahtijeva. Nudi način sažimanja osnovnog if-else bloka. U ovom vodiču, ternarni operator u C++ će biti pokriven kroz primjere. U nekim slučajevima, if else naredba u C++ aplikacijama može se zamijeniti ternarnim operatorom, često poznatim kao uvjetni operator.”

Sintaksa ternarnog operatora u C++

Za ternarni operator potrebna su tri operanda: uvjetni, istiniti i lažni. Budući da ternarni operator analizira testni uvjet i, ovisno o ishodu, izvršava blok koda, sintaksa je:

# (exp_1) ? eksp_2 : eksp_3

Ovdje 'exp' predstavlja izraz. Ovisno o rezultatu izraza, ovaj operator vraća jednu od dvije vrijednosti. Izrazi 2 i 3 se vrednuju, a njihove se vrijednosti vraćaju kao konačni rezultati ako se “exp_1” procijeni na Booleovu vrijednost true; inače, izraz 1 se procjenjuje na Boolean false, a izraz 2 se procjenjuje i njegova se vrijednost vraća kao konačni rezultat.







Primjer 1

Evo jednostavnog primjera programa koji pokazuje kako koristiti C++ ternarni operator.



#include

#include

koristeći prostor imena std ;

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

string student_rezultat = ( CGPA >= 1.5 ) ? 'prošao' : 'neuspjeh' ;

cout << 'ti' << student_rezultat << ' semestar.' ;

povratak 0 ;
}



U programu smo napunili naš odjeljak zaglavlja s C++ bibliotekama. Nakon toga smo dodali namespace std s ključnom riječi 'using'. Zatim je unutar nje deklarirana varijabla “CGPA” s tipom podataka “double”. U sljedećem smo retku tražili od korisnika da unese CGPA ispisivanjem naredbe cout. Naredbom cin korisnici dodaju CGPA.





Zatim smo stvorili drugu varijablu, 'student_result', koja ima ternarni operator. Ternarni operator ovdje treba tri izraza. Prvi je uvjet koji provjerava je li CGPA koji je unio korisnik veći ili jednak '1,5'. Ako je tako, bit će ispisan iskaz 'prošlo' ili će se u protivnom ispisati treći izraz. Ishod će biti prikazan kada upotrijebite naredbu cout.

Recimo da korisnik upiše CGPA '3.5'. CGPA >= 1,5 tada se procjenjuje na istinito, ispunjavajući kriterij. Dakle, rezultat je dat prvi izraz 'prošao'.



Recimo da korisnik upiše 1.00. Kao rezultat toga, uvjet CGPA >= 1,5 se pogrešno procjenjuje. Stoga se ishodu daje drugi izraz, 'nije uspjelo'.

Primjer 2

Određene vrste if else naredbi u C++-u mogu se zamijeniti ternarnim operatorom. Možemo promijeniti ovaj kod kao primjer. Prvi primjer programa koristi if-else uvjet, a drugi primjer programa koristi ternarni operator.

#include

koristeći prostor imena std ;

int glavni ( ) {

int na jedan = - 3 ;
cout << 'na jedan :' < 0 )
cout << ' \n Pozitivan cijeli broj' ;
drugo
cout << ' \n Negativan cijeli broj!' ;

povratak 0 ;
}

Deklarirali smo i inicijalizirali int varijablu tipa podataka 'num' s negativnom cijelobrojnom vrijednošću. Nakon toga se naredbom cout ispisuje vrijednost “num”. Zatim, imamo if-else uvjet. Unutar uvjeta “if” naveli smo uvjet da varijabla “num” treba biti veća od vrijednosti nula. Ako uvjet postane istinit, tada će se ispisati naredba cout neposredno nakon uvjeta 'if'. Ako uvjet postane lažan, ispisat će se naredba else cout.

Budući da je broj negativna vrijednost, if uvjet postaje lažan i

Zatim smo izvršili gornji program s ternarnim operatorom. Provjerimo imaju li uvjet if-else i ternarni operator iste učinke.

#include

#include

koristeći prostor imena std ;

int glavni ( ) {

int MojBroj = - 7 ;
cout << 'Cijeli broj:' << MojBroj < 0 ) ? 'Pozitivan cijeli broj!' : 'Negativan cijeli broj!' ;
cout << Ishod << endl ;

povratak 0 ;
}

Deklarirali smo varijablu “MyNum” i inicijalizirali je negativnom vrijednošću. Ispisali smo negativnu vrijednost pozivanjem varijable “MyNum” unutar naredbe cout. Zatim postavljamo drugu varijablu kao 'Ishod' s vrstom niza. Varijabla ishoda preuzima operaciju ternarnog operatora. Prvo, imamo uvjet da 'MyNum' treba biti veći od nule. Nakon toga stavljamo ternarni operator “?”. Druga dva izraza će se izvršiti nakon rezultata uvjeta.

Budući da je vrijednost cijelog broja '-7', treći izraz, 'Negativan cijeli broj!' ispisuje se na upitu. Ovdje je izlaz iz obje aplikacije isti. Ternarni operator, međutim, poboljšava čitljivost i čistoću našeg koda.

Primjer 3

Dodatno, ternarni operatori mogu se koristiti jedan unutar drugog. Koristite ugniježđeni ternarni operator da provjerite je li vrijednost pozitivna, negativna ili nula u sljedećem programu.

#include

#include

koristeći prostor imena std ;

int glavni ( ) {
int cijeli broj = 0 ;
string Rezultat ;

Proizlaziti = ( cijeli broj == 0 ) ? 'Nula' : ( ( cijeli broj > 0 ) ? 'Pozitivan' : 'Negativan' ) ;

cout << 'Cijeli broj je ' << Proizlaziti ;

povratak 0 ;
}

Samo započnite s glavnom metodom programa. U int main(), stvorili smo varijablu s imenom 'integer' i postavili njenu vrijednost na nulu. Zatim smo definirali drugu varijablu, 'Rezultat', s vrstom podataka niz. Postavili smo varijablu 'Rezultat', zaobilazeći joj ternarni operator. Uvjet je da vrijednost varijable “integer” bude jednaka nuli “integer == 0”. Početni uvjet, (cijeli broj == 0), određuje je li dati cijeli broj nula ili nije. Ako je tako, rezultatu se daje vrijednost niza 'nula'. ako je odgovor točan. Inače, ako je prvi uvjet netočan, ispituje se drugi uvjet (cijeli broj > 0).

Da, navedeni cijeli broj je nula, kao što je prikazano u skripti. Izlaz generira 'cijeli broj je nula'.

Zaključak

Svjesni smo da je uvjetni operator ternarni operator. Uz pomoć ovog operatora možemo provjeriti stanje i djelovati u skladu s njim. Možemo postići istu stvar korištenjem if-else uvjeta umjesto ternarnog operatora. Ovaj C++ vodič naučio nas je kako koristiti ternarni operator kroz njegovu sintaksu i primjere programa. Imajte na umu da se ternarni operator smije koristiti samo ako je konačna izjava sažeta.