Оператор выбора.
Структура множественного выбора (switch) применяется для того чтобы в зависимости от конкретных значений исходных данных обеспечить выполнение множества разных составных операторов. Формат оператора:
switch ( выражение ){
case константное_выражение_1: [список_операторов_1]
case константное_выражение_2: [список_операторов_2]
…
case константное_выражение_n: [список_операторов_n]
[default: операторы ]
}
Оператор switch позволяет определить программисту действие из списка возможных вариантов, т.е. если значение выражения совпадает со значением константное_выражение_1, то выполняется составной оператор_1, если со значением константное_выражение_2, то выполняется составной оператор_2 и т.д. Если совпадения не произошло, выполняется составной_оператор_по_умолчанию, расположенный после слова default. Выполнение не может переходить на следующий раздел switch.
Пример кода программы (программа реализует простейший калькулятор на 4 действия)
#include <iostream.h>
int main(){
int a. b. res:
char op:
cout « "\nВведите 1й операнд : ": cin » a:
cout « "\nВведите знак операции : ": cin » op:
cout « "\nВведите 2й операнд : ": cin » b:
bool f = true:
switch (op) {
case '+': res = a + b: break;
case '-': res = a - b: break;
case '*': res = a * b: break;
case '/': res = a / b: break;
default: cout << “\nНеизвестная операция»: f = false:
}
If (f) cout <<”n\Результат : ” << res:
return 0:
}
Оператор switch может содержать любое количество разделов switch, а каждый раздел может иметь одну или несколько меток case. Однако две метки case не могут содержать одно и то же постоянное значение. Выполнение списка операторов в выбранном разделе switch начинается с первого оператора и продолжается по списку, обычно до достижения оператора перехода, такого как break, goto case, return или throw (оператор break выполняет выход из самого внутреннего из объемлющих его операторов switch; оператор goto выполняет переход на указанную после него метку, обычно это метка case одной из нижележащих ветвей оператора switch ; оператор return выполняет выход из функции, в теле которой он записан). В этой точке управление передаётся за пределы оператора switch или к другой метке case. Не допускается, чтобы выполнение, начавшись в одном разделе, продолжалось в следующем.
Вспомогательные операторы.
Оператор break
Оператор break используется внутри операторов цикла или switch для обеспече ния перехода в точку программы, находящуюся непосредственно за оператором, внутри которого находится break.
Оператор continue
Оператор continue перехода к следующей итерации цикла continue пропускает все операторы, оставшиеся до конца тела цикла, и передает управление на начало следующей итерации.
Оператор return
Оператор возврата из функции return завершает выполнение функции и передает управление в точку ее вызова. Вид оператора: return [ выражение ]; Выражение должно иметь скалярный тип. Если тип возвращаемого функцией значения описан как void, выражение должно отсутствовать.
