Технология программирования. Базовые конструкции C/C++. Липачев Е.К. - 27 стр.

UptoLike

Составители: 

27
Если выражение1 истинно (т.е. отлично от нуля), то значение всего
оператора равно значению выражение2, в противном случае значением
всего выражения будет значение, полученное после вычисления
выражение3.
Отметим, что оператор ?: имеет три операнда, т.е. является
тернарным.
Пример.
znak = (x>0)? 1 : -1;
Пример. Оператор ―?: в арифметическом выражении
double x, y;
cout<<"\n x= "; cin>>x;
y = x * x *((x>0)?1:-1);
Пример. Вложенные операторы ―?:
// Вейвлет Хаара
double x, f;
cout<<"\n x= "; cin>>x;
f = ((x<0) || (x>=1)) ? 0 : (x<0.5) ? 1 : -1;
cout<<"\n f = "<<f<<"\n";
Инструкция switch
В C/C++ оператор выбора реализован в виде
switch (управляющее выражение) {
case постоянная1:
последовательность операторов
break;
case постоянная2:
последовательность операторов
break;
case постоянная3:
последовательность операторов
break;
default:
последовательность операторов;
}
Значение управляющего выражения последовательно сравнивается
со значениями в списке постоянная1, постоянная2, . При
обнаружении совпадения выполняется последовательность
операторов соответствующей ветки case. Ветка default выполняется
в том случае, когда значение управляющего выражения не совпало ни с
одной постоянной. Оператор switch может не содержать ветки default.
Если выражение1 истинно (т.е. отлично от нуля), то значение всего
оператора равно значению выражение2, в противном случае значением
всего выражения будет значение, полученное после вычисления
выражение3.
     Отметим, что оператор ―?:‖ имеет три операнда, т.е. является
тернарным.
     Пример.
znak = (x>0)? 1 : -1;
     Пример. Оператор ―?:‖ в арифметическом выражении
double x, y;
cout<<"\n x= "; cin>>x;
y = x * x *((x>0)?1:-1);
     Пример. Вложенные операторы ―?:‖
// Вейвлет Хаара
double x, f;
cout<<"\n x= "; cin>>x;
f = ((x<0) || (x>=1)) ? 0 : (x<0.5) ? 1 : -1;
cout<<"\n f = "<