Оператор безусловного перехода
goto < метка>;
Управление передается оператору с данной меткой:
<метка>: оператор;
В языке С метка не декларируется.
Оператор условного перехода if применяется для выбора одной из ветвей вычислений.
Общая форма записи:
if (условие) оператор_1;
else оператор_2;
Например: if(x>y) max=x;
else max=y;
Если оператор_1 или оператор_2 содержит два и более операторов, то они заключаются в фигурные скобки { }, т.е. применяется составной оператор. Оператор if проверяет истинность или ложность условия. Если условие истинно (не равно 0), то выполняется оператор_1, иначе, при ложности условия (=0), выполняется оператор_2.
Вторая часть оператора (else оператор_2;) может отсутствовать, такую форму называют “ сокращенной ”. Тогда в случае ложности условия управление передается на следующий за if оператор.
Если оператор_1 и оператор_2 в свою очередь являются операторами if, то такой оператор называют вложенным. При этом ключевое слово else принадлежит ближайшему предшествующему if.
|
|
Общий вид вложенного оператора if:
if (условие_1) оператор_1;
else if(условие_2) оператор_2;
else оператор_3;
Например: найти наибольшее значение из трех чисел x,y,z.
if (x>y)
if (x>z) max=x;
else max=z;
else if(y>z) max=y;
else max=z;
В качестве условий в языке С используют следующие операции отношений:
< (меньше), <= (меньше или равно), > (больше), >= (больше или равно), != (не равно), = = (равно). Пары символов разделять нельзя.
Общий вид условия:
<выражение_1> <знак_операции> <выражение_2>
Операндами могут быть любые простые типы. Значения операндов после вычисления перед сравнением преобразуются к одному типу. В качестве условий используются и более сложные выражения, содержащие логические операции. Приведем их перечень в порядке убывания приоритета:! (отрицание или логическое НЕТ), && (конъюнкция или логическое И), || (дизъюнкция или логическое ИЛИ). Пары символов && и || разделять нельзя.
Например: (0<x)&&(x<=100)
((!x)&&(y>0)||((z==1)&&(k>0))
Выражения вычисляются слева направо, причем их вычисление прекращается, как только результат становится известен.
Триадный оператор (оператор условного перехода?). Его форма:
имя_переменной =условие? выражение_1: выражение_2;
Если условие истинно, то имени_переменной присваивается результат выражения_1, иначе – выражения_2.
Например: найти наибольшее из двух чисел: max=a>b? a: b;