У цьому посібнику ми дізнаємося про тернарний оператор на C ++ за допомогою прикладів.
У C ++ тернарний оператор (також відомий як умовний оператор ) може бути використаний для заміни if … else у певних сценаріях.
Трійковий оператор на C ++
Трійковий оператор оцінює умову тесту та виконує блок коду на основі результату умови.
Його синтаксис -
condition ? expression1 : expression2;
Тут condition
оцінюється і
- якщо
condition
єtrue
,expression1
виконується. - І, якщо
condition
єfalse
,expression2
виконується.
Трійковий оператор приймає 3 операнди ( condition
, expression1
і expression2
). Отже, назва потрійного оператора .
Приклад: тернарний оператор 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; )
Вихід 1
Введіть свої оцінки: 80 Ви склали іспит.
Припустимо, користувач вводить 80 . Потім умова marks>= 40
оцінюється як true
. Отже, перший вираз "passed"
присвоюється результату.
Вихід 2
Введіть свої оцінки: 39,5 Ви не склали іспит.
Тепер, припустимо, користувач вводить 39,5 . Потім умова marks>= 40
оцінюється як false
. Отже, другий вираз "failed"
присвоюється результату.
Коли використовувати тернарного оператора?
У C ++ тернарний оператор може бути використаний для заміни певних типів 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; )
Вихідні дані
Негативне число!
Тут обидві програми дають однакові результати. Однак використання тернарного оператора робить наш код більш читабельним та чистим.
Примітка. Ми повинні використовувати тернарний оператор лише в тому випадку, коли отримане твердження коротке.
Вкладені тернарні оператори
Також можливе використання одного потрійного оператора всередині іншого потрійного оператора. Він називається вкладеним трійковим оператором у C ++.
Ось програма для визначення того, чи є число позитивним, від’ємним чи нульовим за допомогою вкладеного трійкового оператора.
#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
.
Примітка : Не рекомендується використовувати вкладені тернарні оператори. Це тому, що це робить наш код більш складним.