Оператор-переключатель switch
Данный оператор предназначен для организации выбора из множества различных вариантов. Формат оператора-переключателя следующий:
switch (выражение) { case метка1: список_операторов1; case метка2: список_операторов2; . . . . . . . . . . . . . . . . case меткаN: список_операторовN; [default: список_операторов;] } | тело_оператора |
выражение – это любое выражение, допустимое в языке С++ и имеющее целочисленное значение. Значение данного выражения является ключевым для выбора из нескольких вариантов.
тело_оператора – набор помеченных операторов, заключенных в фигурные скобки. В теле оператора используются предложения с метками после ключевых слов case и/или default.
метка1, метка2,...меткаN – константное выражение (обычно целочисленное или символьное), вычисляемое во время трансляции, поэтому оно не может содержать переменные или вызовы функций. Все метки должны быть уникальны. Возможно использование нескольких меток перед списком операторов.
список_операторов – это оператор или составной оператор (который может быть пустым). Обратите внимание, что в операторе-переключателе не требуется заключать составной оператор в фигурные скобки.
default – оператор, на который передается управление, при отсутствии совпадения значения выражения с какой-то меткой. Данный оператор в конструкции употребляется только один раз.
Схема выполнения оператора switch следующая:
● вычисляется выражение в круглых скобках;
● вычисленные значения последовательно сравниваются с метками (константными выражениями), следующими за ключевыми словами case;
● если одна из меток совпадает со значением выражения, то управление передается на список операторов, помеченный соответствующим ключевым словом case;
● если ни одна из меток не равна выражению, то управление передается на список операторов, помеченный ключевым словом default, а в случае его отсутствия управление передается на следующий после оператора выбора switch оператор.
Использование оператора break позволяет в необходимый момент прервать последовательность выполняемых операторов в теле оператора-переключателя switch путем передачи управления оператору, следующему за switch. В случае отсутствия оператора break сравнение по меткам будет продолжено.
Пример 1. Программа простейшего калькулятора.
#include <stdio.h>
void main () {
float a,b,x;
char znak;
printf ("\nВведите простейшее арифметическое
выражение\n");
scanf ("%f%c%f",&a,&znak,&b);
switch (znak)
{ /*Начало области действия оператора switch*/
case '+': x=a+b;
printf("=%.3f",x);
break; /*сложение*/
case '-': x=a-b;
printf("=%.3f",x);
break; /*вычитание*/
case '*': x=a*b;
printf("=%.3f",x);
break; /*умножение*/
case '/': x=a/b;
printf("=%.3f",x);
break; /*деление*/
default:
printf("\n Неправильно написано арифметическое
выражение или указанная операция не
выполняется\n");
}; /*Конец области действия оператора switch*/
}
Задания
1.Составить программу вычисления площади геометрических фигур.
2.Составьте программу для решения задачи. Мастям игральных карт условно присвоены следующие порядковые номера: масти «пики» – 1, масти «трефы» – 2, масти «бубны» – 3, масти «червы» – 4. По заданному номеру масти m (1 £ m £ 4) определить название соответствующей масти.
3.Составьте программу для решения задачи. Определить остаток от деления целой части значения выражения на 7 и в зависимости от величины выдать сообщение об одном из дней недели (воскресенью соответствует номер «0», понедельнику – «1» и т.д.).
Домашние задания
1.Наберите код программы из Примера 1. Сохраните код программы. Выполните компиляцию и запуск программы. Введите свои данные в качестве входных.
2.Составить программу вычисления площади поверхности геометрических тел. Добавьте комментарии, поясняющие, площадь поверхности какого тела вычисляется.
3.Составьте программу для решения задачи. Описать список времен года: лето, осень, зима, весна. По введенному значению времени года перечислить все месяца этого сезона.
4.Элементы окружности пронумерованы следующим образом: 1 – радиус (R), 2 – диаметр (D), 3 – длина (L), 4 – площадь круга (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности (в том же порядке).
Дата добавления: 2015-02-16; просмотров: 739;