Справочная система C guide

       

Оператор-переключатель switch


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;

Содержание раздела