Оператор-переключатель switch
case константа: операторы case константа: операторы
default: операторы
}
Сравнивает значение выражения с константами во всех вариантах case и передает управление оператору, который соответствует значению выражения.Каждый вариант case может быть помечен целой или символьной константой, или константным выражением. Константное выражение не может включать переменные или вызовы функций'.
Примеры
Правильно: case 3+4:
Неправильно: case X+Y:
Операторы, связанные с меткой default, выполняются, если ни одна из констант в операторах case не равна значению выражения. Вариант default не обязательно должен быть последним. Если ни одна константа не соответствует значению выражения и вариант default отсутствует, то не выполняется никаких действий. Ключевое слово case вместе с константой служат просто метками, и если будут выполняться операторы для некоторого варианта case, то далее будут выполняться операторы всех последующих вариантов до тех пор, пока не встретится оператор break, что позволяет связывать одну последовательность операторов с несколькими вариантами. Константное выражение вычисляется в период компиляции. Никакие две константы в одном операторе-переключателе не могут иметь одинаковые значения.
Пример
switch (x) { case 'A':
printf("CASE A\n");
break, case 'В':
case 'С':
printf("CASE В or C\n"), break;
default:
printf("NOT А, В or C\n");
break;
} Наиболее общая синтаксическая форма оператора switch:
switch (выражение) оператор Пр имер
switch (x) case 2:
case 4:
у=3;