C ++ ternarni operator (s primjerima)

U ovom uputstvu naučit ćemo o ternarnom operatoru u C ++ uz pomoć primjera.

U C ++-u se ternarni operator (poznat i kao uvjetni operator ) može koristiti za zamjenu if … else u određenim scenarijima.

Ternarni operator u C ++

Ternarni operater procjenjuje stanje testa i izvršava blok koda na temelju rezultata uvjeta.

Sintaksa mu je

 condition ? expression1 : expression2;

Ovdje conditionse ocjenjuje i

  • ako conditionjest true, expression1izvršava se.
  • I ako conditionje false, expression2izvršava se.

Ternarni operator uzima 3 operanda ( condition, expression1i expression2). Otuda naziv ternarni operator .

Primjer: Ternarni operater C ++

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

Izlaz 1

 Unesite ocjene: 80 Položili ste ispit.

Pretpostavimo da korisnik unese 80 . Zatim se stanje marks>= 40procjenjuje na true. Stoga je prvi izraz "passed"dodijeljen rezultatu.

Izlaz 2

 Unesite ocjene: 39,5 Niste pali na ispitu.

Sada, pretpostavimo da korisnik unese 39.5 . Zatim se stanje marks>= 40procjenjuje na false. Stoga je drugi izraz "failed"dodijeljen rezultatu.

Kada koristiti ternarnog operatora?

U C ++-u se ternarni operator može koristiti za zamjenu određenih vrsta if… elseizraza.

Na primjer, možemo zamijeniti ovaj kod

 #include using namespace std; int main() ( // Create a variable int number = -4; if (number> 0) cout << "Positive Number"; else cout << "Negative Number!"; return 0; )

s

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

Izlaz

 Negativni broj!

Ovdje oba programa daju isti izlaz. Međutim, upotreba ternarnog operatora čini naš kôd čitljivijim i čistijim.

Napomena: Ternarni operator trebali bismo koristiti samo ako je rezultirajuća izjava kratka.

Ugniježđeni ternarni operateri

Također je moguće koristiti jedan ternarni operator unutar drugog ternarnog operatora. U C ++ se naziva ugniježđeni ternarni operator.

Evo programa za pronalaženje pozitivnog, negativnog ili nula broja pomoću ugniježđenog ternarnog operatora.

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

Izlaz

 Broj je Nula

U gornjem primjeru, primijetite upotrebu ternarnih operatora,

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

Ovdje,

  • (number == 0)je prvi test uvjet koji provjerava je li broj 0 ili nije. Ako jest, tada dodjeljuje vrijednost nizu "Zero"rezultatu.
  • Inače, drugi test uvjet (number> 0)se procjenjuje ako je prvi uvjet false.

Napomena : Ne preporučuje se uporaba ugniježđenih ternarnih operatora. To je zato što naš kod čini složenijim.

Zanimljivi članci...