Оператор выбора switch. Следующий фрагмент программы иллюстрирует вложенные операторы if

Следующий фрагмент программы иллюстрирует вложенные операторы if:

char ZNAC;

int x,y,z;

if (ZNAC == '-') x = y - z;

else if (ZNAC == '+') x = y + z;

else if (ZNAC == '*') x = y * z;

else if (ZNAC == '/') x = y / z;

else...

Однако, конструкции использующие вложенные операторы if, являются довольно громоздкими и не всегда достаточно надежными. Другим способом организации выбора из множества различных вариантов является использование специального оператора выбора switch.

Оператор switch предназначен для организации выбора из множества различных вариантов.

Формат оператора switch:

switch (выражение)

{ [объявление]

case константное-выражение1: список-операторов1;

case константное-выражение2: список-операторов2;

default: список операторов;

}

Схема выполнения оператора switch следующая:

– вычисляется выражение в круглых скобках;

– вычисленные значения последовательно сравниваются с константными выражениями, следующими за ключевыми словами case;

– если одно из константных выражений совпадает со значением выражения, то управление передается на оператор, помеченный соответствующим ключевым словом case;

– если ни одно из константных выражений не равно выражению, то управление передается на оператор, помеченный ключевым словом default, а в случае его отсутствия управление передается на следующий после switch оператор.

Внимание

- в теле оператора switch можно использовать вложенные операторы switch, при этом в ключевых словах case можно использовать одинаковые константные выражения;

- конструкция со словом default может быть не последней в теле оператора switch;

- ключевые слова case и default в теле оператора switch существенны только при начальной проверке, когда определяется начальная точка выполнения тела оператора switch;

- все операторы, между начальным оператором и концом тела, выполняются вне зависимости от ключевых слов, если только какой-то из операторов не передаст управления из тела оператора switch;

- необходимо позаботится о выходе из case, если это необходимо. Чаще всего для этого используется оператор break;

- для того, чтобы выполнить одни и те же действия для различных значений выражения, можно пометить один и тот же оператор несколькими ключевыми словами case.

Оператор break обеспечивает прекращение выполнения самого внутреннего из объединяющих его операторов switch, do, for, while. После выполнения оператора break управление передается оператору, следующему за прерванным.


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



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