Оператор выбора switch
Оператор switch позволяет выбрать одну из нескольких альтернатив. Он записывается в следующем виде:
switch (выражение)
{case константа1, вариант 1; break;
. . .
case константа n, вариант n; break;
default: вариант n+1; break;}
На рис.2 представлена соответствующая иллюстрация.
В операторе switch вычисляется целое выражение в скобках ( его называют селектором), и его значение сравнивается со всеми константами. При совпадении выполняется соответствующий вариант (одна или несколько инструкций). Все константы в записи оператора должны быть различными. Вариант с ключевым словом default (прочие) реализуется, если ни один другой не подошел (если слово default отсутствует, а все результаты сравнения отрицательны, то ни один вариант не выполняется. Для прекращения последующих проверок после успешного выбора некоторого варианта используется оператор break, обеспечивающий немедленный выход из оператора switch.
Например:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream.h>
main( )
{
char y;
printf ("Input y\n");
scanf("%c",&y);
switch(y)
{
case '1':
printf("branch 1\n");
break;
case '2':
case '3':
printf("branch 2 or 3\n");
break;
default:
printf("branches 1,2,3 do not work\n");
}
getch ();
return 0;
}
Оператор scanf вводит переменную y. Ее значение в операторе switch сравнивается со всеми константами операторов case. Если ввести символ ‘1’, то на экране появится строка:
Ветвь 1
по оператору break произойдет выход из переключателя switch, и программа завершит свою работу. Если ввести символы ‘2’ или ‘3’, то на экран будет выведена строка:
Ветвь 2 или 3
При вводе любого другого символа управление перейдет к ключевому слову default и на экране появится строка:
Ветви 1,2,3 не работают.
Задание
2.1. Из таблицы 3 взять задание по варианту и написать программу, используя оператор условного перехода.
2.2. Из таблицы 4 взять задание по варианту и написать программу, используя оператор выбора. Для выбора четвертой ветви использовать вариант с ключевым словом default.
Таблица 3
№ варианта | Содержание | Исходные данные |
1. | a=2 b=1,5 c=1 d=3 e=0,5 | |
2. | c=-2 a=1,5 d=2 x=3 | |
3. | a=5 b=1,2 y= 0,6 | |
4. | d=2 a=3,5 x=3 i=2,3 | |
5. | w=1 x=2,5 a=4 b=0,4 | |
6. | a=0,5 b=2 h=4 R=1,4 | |
7. | p=0,6 l=2 h=5 R=4 | |
8. | x=0,63 c=1,5 d=2 a=0,37 | |
9. | y=2,6 x=1,6 a=0,4 | |
10. | a=1,5 b=2 x=0,5 | |
11. | x=0,5 a=4,3 y=2,6 d=0,3 | |
12. | a=3 y=2,7 i=2 x=1 | |
13. | x=0,73 y=0,4 t=2,6 | |
14. | a=2 x=0,54 c=2,3 b=1,8 R=3 | |
15. | x=0,4 a=0,88 c=3,6 | |
16. | a= -1 b=0,8 x=1 c= -0,7 | |
17. | x=2 y=3,5 a=0,1 b=4 | |
18. | x=0,8 y=0,2 a=4 b=5 t=1 | |
19. | y=2 a=0,5 x=1,8 b=0,6 | |
20. | x=1,8 y=2 t=4 a=1,5 R=4,6 b=0,3 |
Таблица 4
№ варианта | Содержание | Исходные данные |
Литература
1. Подбельский В.В. Язык Cu ++: Учебное пособие. - М.: Финансы и статистика,1995, -560 с.
2. Страуструп Б. Язык программирования Сг ++. - М.: Радио и связь, 1991. - 352 стр.
3. Собоцинский В.В. Практический курс Turbo Cu ++. Основы объктно- ориентированного программирования. - М.: Свет, 1993. - 236 с.
4. Романов В.Ю. Программирование на языке Cu ++. Практический подход. - М.: Компьтер, 1993. - 160 с.
5. Уинер Р. Язык турбо Cu . - М.: Мир, 1991. - 384 с.
6. Юлин В.А., Булатова И.Р. Приглашение к Cu. - Мн.: Высш. Шк., 1990,- 224 с.
7. Котлинская Г.П., Галиновский О.И. Программирование на языке Cu. -Мн.: Высш. Шк., 1991. - 156 с.