Заявление о переключателе C
Выражение C switch
В этом руководстве вы научитесь создавать оператор switch в программировании на C с помощью примера.
Инструкция switch позволяет нам выполнить один блок кода среди множества альтернатив.
Вы можете сделать то же самое с if...else..if
лестница. Однако синтаксис switch
оператор намного легче читать и писать.
Синтаксис switch...case
switch (expression)
{
case constant1:
// statements
break;
case constant2:
// statements
break;
.
.
.
default:
// default statements
}
Как работает оператор switch?
выражение оценивается один раз и сравнивается со значениями каждого case ярлык.
- Если есть совпадение, выполняются соответствующие операторы после соответствующей метки. Например, если значение выражения равно constant2 , операторы после
case constant2:
выполняются доbreak
встречается. - Если соответствия нет, выполняются операторы по умолчанию.
Примечания:
- Если мы не используем
break
оператор, все операторы после соответствующей метки также выполняются. default
предложение внутриswitch
оператор является необязательным.
блок-схема оператора switch
<рисунок> <час>Пример:простой калькулятор
// Program to create a simple calculator
#include <stdio.h>
int main() {
char operation;
double n1, n2;
printf("Enter an operator (+, -, *, /): ");
scanf("%c", &operation);
printf("Enter two operands: ");
scanf("%lf %lf",&n1, &n2);
switch(operation)
{
case '+':
printf("%.1lf + %.1lf = %.1lf",n1, n2, n1+n2);
break;
case '-':
printf("%.1lf - %.1lf = %.1lf",n1, n2, n1-n2);
break;
case '*':
printf("%.1lf * %.1lf = %.1lf",n1, n2, n1*n2);
break;
case '/':
printf("%.1lf / %.1lf = %.1lf",n1, n2, n1/n2);
break;
// operator doesn't match any case constant +, -, *, /
default:
printf("Error! operator is not correct");
}
return 0;
}
Вывод
Enter an operator (+, -, *, /): - Enter two operands: 32.5 12.4 32.5 - 12.4 = 20.1
- введенный пользователем оператор сохраняется в операция переменная. И два операнда 32.5 и 12,4 хранятся в переменных n1 и n2 соответственно.
Поскольку операция составляет -
, управление программой переходит к
printf("%.1lf - %.1lf = %.1lf", n1, n2, n1-n2);
Наконец, оператор break завершает switch
заявление.
Язык C