Оператор if (C)

Оператор if управляет условным ветвлением. Тело оператора if выполняется, если значение выражения отлично от нуля. Существует две формы синтаксиса для оператора if .

Синтаксис

selection-statement:
if ( expression ) statement
if ( expression ) statement else statement

В обоих формах оператора if выражение может иметь любое значение, кроме структуры, и его вычисление влечет за собой все соответствующие побочные эффекты.

В первой форме синтаксиса выполняется, если expression имеет значение true (ненулевое). statement Если expression имеет значение false, statement параметр игнорируется. Во второй форме синтаксиса, которая использует else, второй statement выполняется, если expression имеет значение false. После этого управление передается (в обеих формах) из оператора 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.

См. также

Оператор if-else (C++)