C++ для начинающих

4.7. Условное выражение

Условное выражение, или оператор выбора, предоставляет возможность более компактной записи текстов, включающих инструкцию if-else. Например, вместо:

bool is_equal;
if (!strcmp(str1,str2)) is_equal = true;
else is_equal = false;

можно употребить более компактную запись:

bool is_equa1 = !strcmp( strl, str2 ) ? true : false;

Условный оператор имеет следующий синтаксис:

expr11 ? expr2 : expr3;

Вычисляется выражение expr1. Если его значением является true, оценивается expr2, если false, то expr3. Данный фрагмент кода:

int min( int ia, int ib )
{ return ( ia < ib ) ? ia : ib; }

эквивалентен

int min(int ia, int ib) {
   if (ia < ib)
     return ia;
   else
     return ib;
}

Приведенная ниже программа иллюстрирует использование условного оператора:

#include <iostream>
int main()
{
int i = 10, j = 20, k = 30;
cout << "Большим из "
<< i << " и " << j << " является "
<< ( i > j ? i : j ) << end1; cout << "Значение " << i
<< ( i % 2 ? " нечетно." : " четно." )
<< endl; /* условный оператор может быть вложенным,
* но глубокая вложенность трудна для восприятия.
* В данном примере max получает значение
* максимальной из трех величин
*/
int max = ( (i > j)
? (( i > k) ? i : k)
: ( j > k ) ? j : k); cout << "Большим из "
<< i << ", " << j << " и " << k
<< " является " << max << endl;
}

Результатом работы программы будет:

Большим из 10 и 20 является 20
Значение 10 четно.
Назад   Вперед
Содержание




Нет комментариев.



Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: