Освоение оператора switch-case в C++: синтаксис, работа и практические примеры
Оператор switch-case в C++: полное руководство
Изучите оператор switch-case в C++ с понятным синтаксисом, пошаговым описанием работы и практический пример калькулятора, демонстрирующий реальное применение.
Оператор switch — лаконичный инструмент управления потоком, выполняющий один блок из множества альтернатив на основе значения выражения.
Синтаксис оператора switch в C++:
switch (expression) {
case constant1:
// код, выполняемый если expression равно constant1
break;
case constant2:
// код, выполняемый если expression равно constant2
break;
...
default:
// код, выполняемый если expression не совпадает ни с одной константой
}
Как работает switch?
Выражение expression вычисляется один раз и сравнивается с каждой меткой case.
- Если есть совпадение, выполняется код после этой метки до встречи
break. - Если совпадения нет, выполняется блок
default.
Примечание: Хотя лестница if…else if может достичь того же результата, синтаксис switch чище и легче читать.
Блок-схема оператора switch

Пример: простой калькулятор с switch
#include <iostream>
using namespace std;
int main() {
char oper;
float num1, num2;
cout << "Enter an operator (+, -, *, /): ";
cin >> oper;
cout << "Enter two numbers: " << endl;
cin >> num1 >> num2;
switch (oper) {
case '+':
cout << num1 << " + " << num2 << " = " << num1 + num2;
break;
case '-':
cout << num1 << " - " << num2 << " = " << num1 - num2;
break;
case '*':
cout << num1 << " * " << num2 << " = " << num1 * num2;
break;
case '/':
cout << num1 << " / " << num2 << " = " << num1 / num2;
break;
default:
cout << "Error! The operator is not correct";
break;
}
return 0;
}
Результат 1
Enter an operator (+, -, *, /): + Enter two numbers: 2.3 4.5 2.3 + 4.5 = 6.8
Результат 2
Enter an operator (+, -, *, /): - Enter two numbers: 2.3 4.5 2.3 - 4.5 = -2.2
Результат 3
Enter an operator (+, -, *, /): * Enter two numbers: 2.3 4.5 2.3 * 4.5 = 10.35
Результат 4
Enter an operator (+, -, *, /): / Enter two numbers: 2.3 4.5 2.3 / 4.5 = 0.511111
Результат 5
Enter an operator (+, -, *, /): ? Enter two numbers: 2.3 4.5 Error! The operator is not correct.
В этой программе конструкция switch…case направляет поток для выполнения сложения, вычитания, умножения или деления на основе выбора пользователя.
Как работает эта программа
- Запрос у пользователя желаемого оператора, сохранение в
char oper. - Запрос двух числовых значений, сохранение в
float num1иfloat num2. - Использование
switchдля оценкиoper:+— выполнить сложение.-— выполнить вычитание.*— выполнить умножение./— выполнить деление.- Любой другой символ запускает
default, печатающий ошибку.
Оператор break после каждого case завершает блок switch. Его отсутствие вызывает «fall-through», выполняя последующие case непреднамеренно.
Язык C
- Освоение оператора switch в C#: синтаксис, примеры и лучшие практики
- Оператор break в C#: как и когда использовать
- Оператор continue в C#: как эффективно пропускать итерации циклов
- Понимание преобразования типов в C++: неявное, явное и техники приведения
- Освоение операторов C++: полное руководство с практическими примерами
- Комментарии в C++: лучшие практики для читаемого и поддерживаемого кода
- Освоение условных операторов C++: if, if...else и вложенные if...else
- Освоение оператора break в C++
- Освоение оператора continue в C++: практические примеры и управление циклами
- Оператор switch-case в C++: синтаксис, применение и практические примеры