I denne opplæringen vil vi lære om den ternære operatøren i C ++ ved hjelp av eksempler.
I C ++ kan den ternære operatøren (også kjent som den betingede operatøren ) brukes til å erstatte hvis … ellers i visse scenarier.
Ternær operatør i C ++
En ternær operatør evaluerer testtilstanden og utfører en kodeblokk basert på resultatet av tilstanden.
Dens syntaks er
condition ? expression1 : expression2;
Her condition
blir evaluert og
- hvis det
condition
ertrue
,expression1
blir utført. - Og, hvis det
condition
erfalse
,expression2
blir henrettet.
Den ternære operatøren tar 3 operander ( condition
, expression1
og expression2
). Derfor navnet ternær operatør .
Eksempel: C ++ Ternary Operator
#include #include using namespace std; int main() ( double marks; // take input from users cout <> marks; // ternary operator checks if // marks is greater than 40 string result = (marks>= 40) ? "passed" : "failed"; cout << "You " << result << " the exam."; return 0; )
Utgang 1
Skriv inn dine karakterer: 80 Du besto eksamen.
Anta at brukeren skriver inn 80 . Deretter marks>= 40
vurderes tilstanden til true
. Derfor blir det første uttrykket "passed"
tildelt resultatet.
Utgang 2
Skriv inn dine karakterer: 39.5 Du klarte ikke eksamen.
Anta nå at brukeren skriver inn 39.5 . Deretter marks>= 40
vurderes tilstanden til false
. Derfor blir det andre uttrykket "failed"
tilordnet resultatet.
Når skal jeg bruke en ternær operatør?
I C ++ kan den ternære operatøren brukes til å erstatte visse typer if… else
utsagn.
For eksempel kan vi erstatte denne koden
#include using namespace std; int main() ( // Create a variable int number = -4; if (number> 0) cout << "Positive Number"; else cout << "Negative Number!"; return 0; )
med
#include #include using namespace std; int main() ( int number = -4; string result; // Using ternary operator result = (number> 0) ? "Positive Number!" : "Negative Number!"; cout << result << endl; return 0; )
Produksjon
Negativt tall!
Her gir begge programmene den samme produksjonen. Imidlertid gjør bruken av den ternære operatøren vår kode mer lesbar og ren.
Merk: Vi bør bare bruke den ternære operatøren hvis uttalelsen er kort.
Nestede ternære operatører
Det er også mulig å bruke en ternær operatør i en annen ternær operatør. Det kalles den nestede ternære operatøren i C ++.
Her er et program for å finne ut om et tall er positivt, negativt eller null ved hjelp av den nestede ternære operatoren.
#include #include using namespace std; int main() ( int number = 0; string result; // nested ternary operator to find whether // number is positive, negative, or zero result = (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative"); cout << "Number is " << result; return 0; )
Produksjon
Antall er null
I eksemplet ovenfor, legg merke til bruken av ternære operatører,
(number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative");
Her,
(number == 0)
er den første testtilstanden som sjekker om tallet er 0 eller ikke. Hvis det er det, tildeler det strengverdien som"Zero"
skal resultat.- Ellers blir den andre testtilstanden
(number> 0)
evaluert hvis den første tilstanden erfalse
.
Merk : Det anbefales ikke å bruke nestede ternære operatører. Dette er fordi det gjør koden vår mer kompleks.