Раздел 12
Тернарный оператор
В С++ есть тернарный оператор(у оператора три операнда), который
позволяет в зависимости от некоторого условия(первый операнд) выполнять
различные действия(второй и третий операнды). Синтаксис вызова
оператора таков: условие?выражение1:выражение2.
Фактически
тернарный
оператор
представляет
собой
сокращенную
форму
условного
оператора(об условных операторах речь идет в следующей
главе). Пример вызова тернарного оператора приведен в листинге 1.9.
==========>Листинг
1.9
Тернарный
оператор
#include <iostream>
using namespace std;
int main(){
int n;
double x;
cout<<"Enter n = ";
cin>>n;
x=n>0?5.4:3.2;
cout<<"x = "<<x<<"\n";
cout << "Конец задания для самостоятельной работы!" << endl;
system
("pause");
//
ожидаем
нажатия
кнопки
return 0;
}
==========>Конец Листинга 1.9 Компилированный
исполняемый файл листинга 1.9(120Кб, rar)
В программе объявляются две переменные: целочисленная переменная n типа
int и переменная типа x типа double. Значение переменной n вводится с
клавиатуры пользователем, а значение переменной x определяется с
помощью команды x=n>0?5.4:3.2.
Дело в том, что тернарный оператор возвращает значение.
Сначала проверяется указанное первым операндом условие.
Если условие выполнено, вычисляется выражение1 после вопросительного
знака. Если условие не выполнено, вычисляется выражение2 после
двоеточия.
Тернарным оператором в качестве значения возвращается значение
вычисленного выражения.
В программе командой x=n>0?5.4:3.2 проверяется условие n>0, и
если это так, возвращается значение 5.4. В противном случае
возвращается значение 3.2.
На практике в тернарных операторах используют более сложные
конструкции, чем просто возвращения в качестве значения число. Обычно
прибегают к вызову в тернарных операторах функций, что позволяет не
просто возвращать значение в зависимости от проверяемого условия, но и
выполнять целые последовательности действий.
|