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

В този урок ще научим за троичния оператор в 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.

Забележка : Не се препоръчва използването на вложени тройни оператори. Това е така, защото прави нашия код по-сложен.

Интересни статии...