Общий синтаксис и принцип действия.
Для начала рассмотрим общий синтаксис оператора:
switch(выражение){ case значение1: действие1; break; case значение2: действие2; break; case значение3: действие3; break; ...... default: действие_по_умолчанию; break; } |
Давайте проанализируем данную форму записи:
1. Выражение - те данные, которые необходимо проверить на соответствие. Здесь может указываться переменная (но только типа char или целочисленная), либо выражение, результатом которого являются целочисленные данные.
2. case Значение1, case значение2, case значение3 - Целочисленные или символьные постоянные значения с которыми сверяется выражение.
3. Действие1, действие2, действие3 - Действия, которые должны выполниться, если значение выражения совпало со значением case.
4. Если произошло совпадение и благополучно выполнилось действие связанное с совпавшим case, switсh заканчивает свою работу и программа переходит на следующую строку за закрывающейся фигурной скобкой оператора switch. За данную функцию отвечает оператор break именно он останавливает выполнение switch.
5. Если в ходе анализа совпадений не произошло срабатывает секция default и выполняется действие_по_умолчанию. Оператор default является аналогом оператора else.
Исходя из вышеописанных утверждений схема работы оператора switch выглядит так:
Теперь давайте посмотрим, каким образом можно упростить приведенный в начале темы пример.