Переключатель. В отличие от условного оператора переключатель может использоваться для мультиветвления фрагмента исходного кода программы
В отличие от условного оператора переключатель может использоваться для мультиветвления фрагмента исходного кода программы, т.е. фрагмент исходного кода делится на несколько фрагментов и в зависимости от условий выполняется один фрагмент из нескольких (или несколько из нескольких).
Формат переключателя:
switch(<переключающее_выражение>)
{
case <константное_выражение1>: <операторы>
case <константное_выражение2>: <операторы>
……..
case <константное_выражениеN>: <операторы>
[ default: <операторы> ]
}
<переключающее_выражение> - значение целочисленное или приводящееся к целому, например, тип char.
<константное_выражениеX> - целочисленное или приводящееся к целому.
При выполнении переключателя управление передается на подходящую метку вида case <конст_выр>: , значение которой совпадает со значением переключающего выражения или на метку default (она не обязательна), если ни одна из меток не сработала. После передачи управления выполняются все операторы до конца переключателя, вне зависимости от наличия меток. Для выхода из переключателя необходимо использовать оператор break;
Рассмотрим примеры:
int a;
printf("a="); scanf("%d", &a);
switch(a)
{
case 1: printf("\n1");
case 2: printf("\n2");
case 3: printf("\n3");
default:
printf("\n>3");
}
В данном фрагменте при вводе с клавиатуры значения 2 на печать будет выводится:
>3
Т.е. управление передается на метку case 2: и далее выполняются все последующие операторы, не смотря на наличие меток, т.е. работает принцип выбора несколько из нескольких. Чаще всего требуется реализовать принцип выбора – один из нескольких. Для этого в переключателе необходимо использовать оператор break; - оператор выхода из цикла или переключателя. Если приведенный выше пример переписать:
int a;
printf("a="); scanf("%d", &a);
switch(a)
{
case 1: printf("\n1"); break;
case 2: printf("\n2"); break;
case 3: printf("\n3"); break;
default:
printf("\n>3");
}
то при вводе с клавиатуры значения 2 будет выводиться значение 2, затем осуществляется выход из переключателя оператором break;
Дата добавления: 2015-08-14; просмотров: 629;