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

В этом руководстве мы узнаем о тернарном операторе в 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.

Примечание . Не рекомендуется использовать вложенные тернарные операторы. Это потому, что это усложняет наш код.

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