{
case 0: printf(“\nЭто цифра ноль”);
break;
case 1: case 2: printf(“\nЭто цифра один или два”);
break;
default: printf(“\nЭто неизвестная цифра”);
}
В этом случае после ввода цифры 0 на экран будет выведено только одно сообщение:
Это цифра ноль
Если в каждой ветви switch стоит не по одному, а по нескольку операторов, то необходимо брать их в фигурные скобки:
Switch (селектор)
{
case метка-1:
{
оператор;
оператор;
оператор;
break;
}
case метка-2:
{
оператор;
оператор;
break;
}
. . . . . . . . . . . . . . . . .
default:
{
оператор;
оператор;
}
}
Для улучшения читаемости программы необходимо использовать сдвиг операторов.
Можно использовать вложенные операторы switch, при этом в разных операторах могут быть одинаковые метки вариантов:
Switch (n)
{
case 0: оператор;
break;
Case 1: switch (m)
{
case 0: оператор;
break;
case 1: оператор;
break;
default: оператор;
}
case 3: оператор;
break;
. . . . . . . . . . . . . . . . .
default: оператор;
}
Пример:по заданному номеру месяца года определить количество дней в нем.
В этом переключателе всего три ветви:
#include <stdio.h>
#include <conio.h>
#include <math.h>
Int main()
{
int month;
printf(“\nВведите номер месяца: ”);
scanf(“%d”, &month);
Switch (month)
{
case 1: case 3: case 5:
case 7: case 8: case 10:
case 12: printf(“\n31 день”);
break;
case 4: case 6: case 9:
case 11: printf(“\n30 дней”);
break;
case 2: printf(“\n28 дней”);
break;
default: printf(“\nТакого месяца нет\n”);
}
return 0;
}