Тернарный оператор С++

Ternarnyj Operator S

«Условный оператор и оператор if-else используют одну и ту же технику, но условный оператор делает выражения if-else настолько короткими, насколько это возможно, в то время как выражение if-else занимает больше места. В некоторых языках программирования есть оператор, известный как тернарный оператор, который принимает три операнда, а не один или два, которые требуются большинству операторов. Он предлагает средства сжатия основного блока if-else. В этом руководстве тернарный оператор в C++ будет рассмотрен на примерах. В некоторых случаях оператор if else в приложениях C++ может быть заменен тернарным оператором, часто известным как условный оператор».

Синтаксис тернарного оператора в C++

Для тернарного оператора требуются три операнда: условный, истинный и ложный. Поскольку тернарный оператор анализирует условие теста и, в зависимости от результата, выполняет блок кода, синтаксис выглядит следующим образом:

# (exp_1) ? exp_2 : exp_3

Здесь «exp» представляет выражение. В зависимости от результата выражения этот оператор возвращает одно из двух значений. Выражения 2 и 3 оцениваются, и их значения возвращаются как окончательные результаты, если «exp_1» оценивается как логическое значение «истина»; в противном случае выражение 1 оценивается как логическое значение false, а выражение 2 оценивается, и его значение возвращается как окончательный результат.



Пример 1

Вот простой пример программы, показывающий, как использовать тернарный оператор C++.



#include <иопоток>

#include <строка>

используя пространство имен std ;

инт главный ( ) {
двойной CGPA ;
cout <> CGPA ;

строка student_result знак равно ( CGPA >= 1,5 ) ? 'прошло' : 'не удалось' ;

cout << 'Ты ' << студент_результат << ' семестр.' ;

возвращаться 0 ;
}



В программе мы заполнили раздел шапки библиотеками C++. После этого мы добавили пространство имен std с ключевым словом «using». Затем внутри него была объявлена ​​переменная «CGPA» с типом данных «double». В следующей строке мы попросили пользователя войти в CGPA, напечатав команду cout. С помощью команды cin пользователи добавляют CGPA.

Затем мы создали еще одну переменную, «student_result», с тернарным оператором. Здесь тернарному оператору нужны три выражения. Во-первых, это условие, которое проверяет, больше или равно ли значение CGPA, введенное пользователем, «1,5». Если это так, будет напечатано утверждение «пройдено», иначе будет напечатано третье выражение. Результат будет показан при использовании команды cout.

Допустим, пользователь вводит CGPA «3.5». CGPA >= 1,5 оценивается как истина, что соответствует критерию. Итак, в результате дается первый срок «пройдено».



Допустим, пользователь вводит 1.00. В результате условие CGPA >= 1,5 оценивается ложно. Поэтому результату присваивается второе выражение «не удалось».

Пример 2

Определенные виды операторов if else в C++ можно заменить тернарным оператором. Мы можем изменить этот код в качестве примера. В первом примере программы используется условие if-else, а в другом примере программы используется тернарный оператор.

#include <иопоток>

используя пространство имен std ;

инт главный ( ) {

инт на одном знак равно - 3 ;
cout << 'на одном :' < 0 )
cout << ' \n Положительное число' ;
еще
cout << ' \n Отрицательное целое число!' ;

возвращаться 0 ;
}

Мы объявили и инициализировали переменную типа данных int «num» с отрицательным целым значением. После этого с помощью команды cout печатается значение «num». Затем у нас есть условие if-else. Внутри условия «если» мы указали условие, что переменная «num» должна быть больше нулевого значения. Если условие становится истинным, то будет напечатана команда cout сразу после условия «если». Если условие становится ложным, то будет напечатан оператор else cout.

Поскольку число является отрицательным значением, условие if становится ложным и

Затем мы выполнили вышеуказанную программу с тернарным оператором. Давайте проверим, имеют ли условие if-else и тернарный оператор одинаковые эффекты.

#include <иопоток>

#include <строка>

используя пространство имен std ;

инт главный ( ) {

инт MyNum знак равно - 7 ;
cout << 'Целое число:' << MyNum < 0 ) ? 'Положительное число!' : 'Отрицательное целое число!' ;
cout << Исход << конец ;

возвращаться 0 ;
}

Мы объявили переменную «MyNum» и инициализировали ее отрицательным значением. Мы напечатали отрицательное значение, вызвав переменную «MyNum» внутри команды cout. Затем мы устанавливаем другую переменную как «Результат» со строковым типом. Переменная результата принимает операцию тернарного оператора. Во-первых, у нас есть условие, что «MyNum» должно быть больше нуля. После этого ставим тернарный оператор «?». Два других выражения будут выполнены по результату условия.

Поскольку целочисленное значение равно «-7», третье выражение «Отрицательное целое!» печатается в подсказке. Здесь вывод обоих приложений одинаков. Однако тернарный оператор улучшает читабельность и чистоту нашего кода.

Пример 3

Кроме того, тернарные операторы могут использоваться друг внутри друга. Используйте вложенный тернарный оператор, чтобы проверить, является ли значение положительным, отрицательным или нулевым в следующей программе.

#include <иопоток>

#include <строка>

используя пространство имен std ;

инт главный ( ) {
инт целое число знак равно 0 ;
строка Результат ;

Результат знак равно ( целое число == 0 ) ? 'Нуль' : ( ( целое число > 0 ) ? 'Позитив' : «Отрицательный» ) ;

cout << 'Целое число' << Результат ;

возвращаться 0 ;
}

Просто начните с основного метода программы. В int main() мы создали переменную с именем «integer» и установили ее значение равным нулю. Затем мы определили другую переменную «Результат» со строковым типом данных. Мы установили переменную «Результат», минуя к ней тернарный оператор. Условие состоит в том, что значение переменной «integer» должно быть равно нулю «integer == 0». Начальное условие (целое число == 0) определяет, равно ли заданное целое число нулю. Если это так, результату присваивается строковое значение «Ноль». если ответ правильный. В противном случае, если первое условие ложно, проверяется второе условие (целое число > 0).

Да, предоставленное целое число равно нулю, как показано в сценарии. На выходе генерируется «Целое число равно нулю».

Вывод

Мы знаем, что условный оператор является тернарным оператором. С помощью этого оператора мы можем проверить условие и действовать в соответствии с ним. Мы можем сделать то же самое, используя условия if-else вместо тернарного оператора. В этом учебном пособии по C++ мы научились использовать тернарный оператор с помощью его синтаксиса и примеров программ. Имейте в виду, что тернарный оператор следует использовать только в том случае, если окончательный оператор является кратким.