---
title: Switch Statement
localeTitle: undefined
---
Оператор switch позволяет проверять переменную для равенства по отношению к списку значений. Каждое значение называется случаем, а переменная, включенная, проверяется для каждого случая.

Синтаксис: switch (выражение) { постоянное выражение: заявления); перерыв; //необязательный постоянное выражение: заявления); перерыв; //необязательный

// вы можете иметь любое количество операторов case. default: // Необязательный заявления); }

К инструкции switch применяются следующие правила:

Выражение, используемое в операторе switch, должно иметь интегральный или нумерованный тип или быть типом класса, в котором класс имеет одну функцию преобразования для интегрального или перечисляемого типа.

Вы можете иметь любое количество операторов case в коммутаторе. За каждым случаем следует сравнимое значение и двоеточие.

Константное выражение для случая должно быть тем же типом данных, что и переменная в коммутаторе, и должна быть константой или литералом.

Когда переменная, включенная, равна случаю, утверждения, следующие за этим случаем, будут выполняться до тех пор, пока не будет достигнут оператор break.

Когда оператор break достигнут, коммутатор завершается, и поток управления переходит к следующей строке, следующей за оператором switch.

Не каждый случай должен содержать перерыв. Если разрыв не появляется, поток контроля будет просачиваться в последующие случаи, пока не будет достигнут разрыв.

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

Пример: \`\` \`C ++

# включают

использование пространства имен std;

int main () { // объявление локальной переменной: char grade = 'D';

переключатель (класс) { case 'A': cout << «Отлично!» << endl; перерыв; case 'B': case 'C': cout << «Молодцы» << endl; перерыв; case 'D': cout << «Вы прошли» << endl; перерыв; case 'F': cout << «Лучше повторите попытку» << endl; перерыв; дефолт : cout << "Недопустимый класс" << endl; } cout << "Ваша оценка" << класс << endl;

return 0; } \`\` \`

Вывод: Вы прошли Ваша оценка D

### источники

https://www.tutorialspoint.com