4.1. Условный оператор if/else
Для
программирования ветвящихся алгоритмов
с возможностью двойного выбора может
быть использован полный условный
оператор
if/else.
Общий вид записи следующий:
if
(выражение) оператор 1; else
оператор 2;
Выражение
‒ это условие, содержащее операции
отношения и логические операции. Значение
выражения приводится к целому и
интерпретируется в соответствии с
правилом: не равно нулю ‒ истина (true),
равно нулю ‒ ложь (false).
Если выражение истинно, выполняется
оператор 1 (в том числе составной), если
ложь ‒ оператор 2 (в том числе составной).
Составной
оператор
‒ это последовательность операторов,
заключённая в фигурные скобки.
Синтаксис
условного оператора имеет несколько
особенностей:
Далее
приведём пример использования полной
формы условного оператора для нахождения
большего значения из двух переменных
a
и b:
if
(a>b) max=a; else
max=b;
с
составными
операторами:
if
(a>b) {max=a; cout<<max<<endl;} else
{max=b; cout<<max<<endl;};
Каждый
составной оператор включает две операции:
присваивание и вывод на экран. Вывод
данных интерпретируется как помещение
в стандартный поток cout
выводимых значений. Знак операции
помещения в поток <<. Он ставится
перед каждым элементом вывода. Для
перевода курсора на новую строку
использован манипулятор
endl.
В
структуре выбора условием может быть
не только логическая, но и арифметическая
операция, результатом которой является
0 или не 0. Например:
int
k=11;
if
(k%3)
{…..; /* условие true,
k%3
не равно 0, то есть k
не кратно
3*/}
else
{…..; /* условие false,
k%3
равно 0, то есть k
кратно 3*/}
Допускается
использование неполной структуры выбора
if(если):
if
(выражение)
оператор;
Например:
if
(a<b)
a+=b;
если
условие a<b
истинно, выполняется операция a+=b;,
в противном случае она игнорируется.
14