Оператор 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
.
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по