Условный оператор позволяет выбрать и выполнить один из двух входящих в него операторов в зависимости от значения некоторого выражения.
Синтаксис условного оператора:
If (<выражение>)
<опер 1 или выраж 1>;
[else
<опер 2 или выраж 2>;]
<выражение> является любым выражением, которое приводится или может быть приведено к целочисленному значению. Если <выражение> принимает значение «истинна», т.е. отлично от нуля, то выполняется <опер 1 или выраж 1>, если же оно принимает значение «ложь», т.е. равно нулю, то выполняется <опер 2 или выраж 2>
Пример, оператор вычисляющий модуль y=|x|:
if (x<0)
y = -x;
else
y = x;
Запись без блока else называется сокращенным условным оператором. В нем, если проверяемое выражение принимает значение «ложь», то выполняется выражение следующее сразу за условным оператором.
В отличие от уже известного нам языка Паскаль, язык Си имеет следующие особенности:
Begin и end в Паскале заменяется {} в си;
Равно = в паскале и равно == в си (но не операция присваивания);
|
|
Не равно <> в Паскале и не равно!= в си;
Операции and и or в паскале заменяются && и || соответствующими операциями в Си.
Тернарный условный оператор в Си.
Операция условия.
Операция условия «?» применяется для записи условного оператора выражения:
(<выражение 1>)? <выражение 2>: <выражение 3>
Если <выражение 1> истинно (отлично от нуля), то значением всего условного выражения будет <выражение 2>. Если же <выражение 1> ложно (равно нулю), то за значение условного выражения принимается величина, вычисляемая в <выражение 3>.
Пример, оператор вычисляющий модуль y=|x|:
y = (x<0)? –x: x;