В този урок ще научим за троичния оператор в C ++ с помощта на примери.
В C ++ тернарният оператор (известен също като условен оператор ) може да се използва, за да замени, ако … друго в определени сценарии.
Тернарен оператор в 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
.
Забележка : Не се препоръчва използването на вложени тройни оператори. Това е така, защото прави нашия код по-сложен.