КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Оператор выбораПри многократном вложении условных операторов программная конструкция становится громоздкой и ее трудно понять. Считается, что число вложений не должно превышать двух-трех. При большем числе вложений рекомендуется использовать оператор выбора switch-case.
Общий вид записи оператора switch <селектор> { сase константа выбора 1: оператор 1; break; ………………………………………………… сase константа выбора n: оператор n; break; default: оператор n+1; } Селектор - это выражение целого или символьного типа. Константы выбора - возможные значения селектора. default – осуществляет обработку непредусмотренного значения селектора. Наличие этой метки в операторе switch необязательно. Работа оператора По вычисленному значению селектора выбирается для исполнения case-оператор, содержащий константу выбора, равную значению селектора. После выполнения выбранного case-оператора управление передается на конец оператора case. Следующим в программе выполняется оператор, стоящий за оператором выбора switch. Пример 1. Написать оператор выбора для вычисления величины y по формулам: Оператор выбора имеет следующую запись: switch (n) { case 1: у =х; break; case 2: case 3: у = 2 * sqrt(abs(x)); break; case 4: у = ехр(х); break; default: printf("значение для n указано не верно\n"); } Графическая интерпретация оператора В схемах алгоритма оператору switch соответствует структура ВЫБОР. Для приведенного выше примера 1 эта структура выглядит следующим образом:
Замечание. Если в строке выбора необходимо записать несколько операторов, то их заключают в операторные скобки {...}. Пример 2. Вычислить значение у. Если значение х не принадлежит рассматриваемым промежуткам, то вывести на экран соответствующее сообщение. В задаче переменная х является вещественной и не может использоваться в качестве селектора оператора case. Введем новую переменную целого типа n, которой присваивается целая часть значения х. Тогда программа решения данной задачи с использованием оператора выбора может быть составлена следующим образом. #include "stdafx.h" #include<math.h> int main() { float х, у; int n; printf("Введите число х= "); scanf("%f",&x); if( (х<1) || (x>=5)) printf("x не принадлежит рассматриваемой области\n"); else { n = x;
|