Поделиться через


Оператор 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.

См. также

Ссылки

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