Оператор if (C)
Оператор if управляет условным ветвлением. Тело оператора if выполняется, если значение выражения отлично от нуля. Существует две формы синтаксиса оператора if.
Синтаксис
оператор-выбора:
if ( выражение ) операторif ( выражение ) оператор else оператор
В обоих формах оператора if производится вычисление (включая все побочные эффекты) выражений, которые могут иметь любое значение, кроме структуры.
В первой форме синтаксиса если выражение верно (значение не равно нулю), выполняется оператор. Если выражение ложно, оператор пропускается. Во второй форме синтаксиса, в который используется предложение else, второй оператор выполняется, если выражение ложно. Затем в обеих формах управление передается из оператора if в следующий оператор программы, кроме случаев, когда один из операторов содержит оператор break, continue или goto.
Ниже приведены примеры операторов if:
if ( i > 0 )
y = x / i;
else
{
x = i;
y = f( x );
}
В этом примере оператор y = x/i; выполняется, если i больше 0. Если значение i меньше или равно 0, значение i присваивается переменной x, а значение f( x ) присваивается переменной y. Обратите внимание, что оператор, образующий предложение if, заканчивается точкой с запятой.
При вложении операторов if и предложений else используйте фигурные скобки для группирования операторов и предложений в составные операторы, которые поясняют намерения разработчика. При отсутствии фигурных скобок компилятор разрешает неоднозначности путем связывания каждого предложения else с ближайшим оператором if, у которого отсутствует предложение else.
if ( i > 0 ) /* Without braces */
if ( j > i )
x = j;
else
x = i;
В этом примере предложение else связано с внутренним оператором if. Если значение i меньше или равно 0, переменной x не присваивается никакого значения.
if ( i > 0 )
{ /* With braces */
if ( j > i )
x = j;
}
else
x = i;
В этом примере благодаря фигурным скобкам, окружающим внутренний оператор if, предложение else является частью внешнего оператора if. Если значение i меньше или равно 0, значение переменной i присваивается переменной x.