Условный оператор if (if-else)
Условный оператор if позволяет выбрать один из двух возможных вариантов выполнения действий в зависимости от выполнения определенного условия. Условие – это логическое выражение, то есть выражение, результатом которого является логическое значение (true (“истина”) или false (“ложь”)).
Оператор if имеет две формы – полную (с else)
if ( условие )
оператор_1
else
оператор_2
и сокращенную (без него):
if ( условие )
оператор_1
Полная форма оператора if означает, что если условие истинно, выполняется оператор оператор_1, если ложно – оператор оператор_2.
Сокращенная форма записи оператора if означает, что оператор_1 выполняется, если условие истинно. Она эквивалентна полной форме с пустым оператором после else:
if ( условие )
оператор_1
else ;
Если в случае истинности или ложности условия необходимо выполнить несколько операторов, их следует заключить в фигурные скобки:
if (x < 0)
{
x = -x;
cout << "Changing a sign of x";
}
a = x;
В качестве операторов оператор_1 и оператор_2 в операторах if (if-else) могут применяться любые операторы, в том числе и другие операторы if (if-else), то есть операторы if (if-else) могут быть “вложенными”.
Истинность условия определяется вычислением его логического значения (true или false). Помимо операций сравнения ( > , >= , < , <= , = = , !=), логическое значение выдают также логические операции. Стандартные логические операции – это бинарные операции “логическое И” (&&) и “логическое ИЛИ” (||) и унарная операция “логическое НЕ” (!). Операндами логических операций являются логические выражения. Использование логических операций позволяет объединять несколько простых условий в более сложное, например,
if ((a>=c) && (b>=c))
cout << c;
Операция && дает результат “истина” (true), если оба ее операнда истинны, и “ложь” (false) во всех других случаях. Операция || дает результат “ложь”, если оба ее операнда ложны, и “истина” во всех других случаях. Результат операции ! противоположен значению ее операнда.
Операции сравнения и логические операции имеют более низкий приоритет по сравнению с арифметическими операциями. Это означает, что в выражении, содержащем и логические и арифметические операции, арифметические операции будут выполняться раньше логических, например, p>s+t вычисляется как p>(s+t).
Ниже показаны сравнительные приоритеты операций сравнения и логических операций:
Высший | ! |
> >= < <= | |
= = != | |
&& | |
Низший | || |
В соответствии с этой таблицей, например, составное условие предыдущего примера
(a>=c) && (b>=c)
можно записать без двух пар скобок:
a>=c && b>=c
поскольку приоритет операции сравнения “больше или равно” выше, чем приоритет логического И.
Дата добавления: 2015-11-10; просмотров: 596;