C ++ Ternær operatør (med eksempler)

I denne vejledning lærer vi om den ternære operatør i C ++ ved hjælp af eksempler.

I C ++ kan den ternære operator (også kendt som den betingede operator ) bruges til at erstatte hvis … ellers i visse scenarier.

Ternær operatør i C ++

En ternær operatør evaluerer testtilstanden og udfører en kodeblok baseret på resultatet af tilstanden.

Dens syntaks er

 condition ? expression1 : expression2;

Her conditionevalueres og

  • hvis det conditioner true, expression1udføres.
  • Og hvis det conditioner false, expression2udføres.

Den ternære operatør tager 3 operander ( condition, expression1og expression2). Derfor navnet ternær operatør .

Eksempel: C ++ ternær operatør

 #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; )

Udgang 1

 Indtast dine karakterer: 80 Du bestod eksamen.

Antag at brugeren indtaster 80 . Derefter marks>= 40vurderes tilstanden til true. Derfor "passed"tildeles det første udtryk resultatet.

Udgang 2

 Indtast dine karakterer: 39.5 Du bestod ikke eksamen.

Antag nu, at brugeren indtaster 39.5 . Derefter marks>= 40vurderes tilstanden til false. Derfor "failed"tildeles det andet udtryk resultatet.

Hvornår skal jeg bruge en ternær operatør?

I C ++ kan den ternære operatør bruges til at erstatte bestemte typer if… elseudsagn.

For eksempel kan vi erstatte denne kode

 #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; )

Produktion

 Negativt antal!

Her giver begge programmer den samme output. Imidlertid gør brugen af ​​den ternære operatør vores kode mere læsbar og ren.

Bemærk: Vi skal kun bruge den ternære operatør, hvis den resulterende erklæring er kort.

Indlejrede ternære operatører

Det er også muligt at bruge en ternær operatør inden for en anden ternær operatør. Det kaldes den indlejrede ternære operatør i C ++.

Her er et program til at finde ud af, om et tal er positivt, negativt eller nul ved hjælp af den indlejrede ternære operator.

 #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; )

Produktion

 Nummeret er nul

I ovenstående eksempel bemærk brugen af ​​ternære operatører,

 (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative");

Her,

  • (number == 0)er den første testbetingelse, der kontrollerer, om antallet er 0 eller ikke. Hvis det er tilfældet, tildeler det strengværdien "Zero"til resultatet.
  • Ellers (number> 0)evalueres den anden testtilstand, hvis den første betingelse er false.

Bemærk : Det anbefales ikke at bruge indlejrede ternære operatører. Dette skyldes, at det gør vores kode mere kompleks.

Interessante artikler...