Ц ++ тернарни оператер (са примерима)

У овом упутству ћемо научити о тернарном оператору у Ц ++ уз помоћ примера.

У Ц ++, тернарни оператор (познат и као условни оператор ) може се користити за замену иф … елсе у одређеним сценаријима.

Тернарни оператор у Ц ++

Тернарни оператер процењује стање теста и извршава блок кода на основу резултата услова.

Његова синтакса је

 condition ? expression1 : expression2;

Овде conditionсе оцењује и

  • ако conditionјесте true, expression1извршава се.
  • И, ако conditionјесте false, expression2извршава се.

Тернарни оператор узима 3 операнда ( condition, expression1и expression2). Отуда назив тернарни оператор .

Пример: Ц ++ Тернари Оператор

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

Резултат 1

 Унесите оцене: 80 Положили сте испит.

Претпоставимо да корисник унесе 80 . Затим се стање marks>= 40процењује на true. Стога је први израз "passed"додељен резултату.

Резултат 2

 Унесите оцене: 39,5 Нисте пали на испиту.

Претпоставимо сада да корисник унесе 39.5 . Затим се стање marks>= 40процењује на false. Дакле, други израз "failed"је додељен резултату.

Када користити тернарног оператора?

У Ц ++-у се тернарни оператор може користити за замену одређених врста if… elseизраза.

На пример, можемо да заменимо овај код

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

са

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

Оутпут

 Негативан број!

Овде оба програма дају исти излаз. Међутим, употреба тернарног оператора чини наш код читљивијим и чистијим.

Напомена: Тернарни оператор треба да користимо само ако је резултујућа изјава кратка.

Угњежђени тернарни оператери

Такође је могуће користити један тернарни оператор унутар другог тернарног оператора. У Ц ++ се назива угнежђени тернарни оператор.

Ево програма за откривање да ли је број позитиван, негативан или нула помоћу угнежђеног тернарног оператора.

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

Оутпут

 Број је Нула

У горњем примеру, приметите употребу тернарних оператора,

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

Ево,

  • (number == 0)је први тест услов који проверава да ли је број 0 или не. Ако јесте, тада додељује вредност низа "Zero"резултату.
  • Иначе, други тест услов (number> 0)се процењује ако је први услов false.

Напомена : Не препоручује се употреба угнежђених тернарних оператора. То је зато што наш код чини сложенијим.

Занимљиви Чланци...