Операторы перехода. Оператор безусловного перехода

Оператор безусловного перехода

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;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: