Операторы ветвления
Условный оператор if
Условный оператор используется, если необходимо выполнять действия в зависимости от выполнения или невыполнения какого—то условия.
Оператор if осуществляет ветвление по двум направлениям и в общем виде выглядит так:
if (выражение) Оператор_1; else Оператор_2;
Рис.1
Сначала вычисляется выражение. Если оно имеет значение true, выполняется Оператор_1, иначе — Оператор_2. После этого управление передается на оператор, следующий за условным.
Одна из ветвей может отсутствовать.
Рис.2
Если в какой-либо ветви требуется выполнить несколько операторов, их необходимо заключить в блок. Блок может содержать любые операторы, в том числе описания и другие условные операторы. Необходимо учитывать, что переменная, описанная в блоке, вне блока не существует.
Оператор выбора switch
Оператор выбора switch (переключатель) служит для выбора действий из нескольких возможных альтернативных вариантов.
Рис.3
Формат оператора:
switch (выражение целого либо символьного типа)
{case значение 1: последовательность операторов 1; break;
case значение 2: последовательность операторов 2; break;
…
case значение n: последовательность операторов n; break;
default: последовательность операторов n-1; }
где default не является обязательным.
Выполнение оператора начинается с вычисления выражения (оно должно быть целочисленным), а затем управление передается новому оператору из списка, помеченного константным выражением, значение которого совпало с вычисленным. После этого, если вывод из переключателя явно не указан, последовательно выполняются все остальные ветви.
Выход из переключателя обычно выполняется с помощью оператора break.
Все константные выражения должны иметь разные значения, но быть одного и того же целочисленного типа. Несколько меток могут следовать подряд. Если совпадения не произошло, выполняются операторы расположенные после слова default (а при его отсутствии управление передается следующему за switch оператору).