Студопедия — Оператор множественного выбора switch
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Оператор множественного выбора switch






В некоторых ситуациях применение оператора if может привести к возникновению очень сложных конструкций с большим количеством вложенных операторов. Язык C++ располагает альтернативным решением этой проблемы — оператором switch. В отли­чие от оператора if, он позволяет проверять сразу несколько условий, организуя ветв­ление программы более эффективно. Оператор switch имеет следующий синтаксис:

switch (выражение)

{

case значение1: оператор;

break;

case значение2: оператор;

break;

...

case значениеN: оператор;

break;
default: оператор;

}

 

Выражение в скобках оператора switch представляет собой любое допустимое вы­ражение языка C++, а оператор — это любой допустимый оператор или блок опера­торов. Выражение возвращает (или может быть однозначно преобразовано в) целочис­ленное значение. Поэтому использование логических операций или выражений сравнения здесь недопустимо.

Переход осуществляется к той строке оператора switch, где после ключевого сло­ва case находится значение, соответствующее результату выражения. С этой строки выполнение операторов продолжится до тех пор, пока оператор switch не завершится либо пока не встретится оператор break. Если ни одно значение case не соответст­вует результату выражения, выполняются операторы, следующие за ключевым словом default, а в случае его отсутствия оператор switch завершается. Блок-схема выполнения оператора if..else приведена на рис. 3.3.

 

 

 

Рис. 3.3. Исполнение оператора if..else

 

 

Пример использования оператора switch приведен в листинге 3.3.







Дата добавления: 2015-08-12; просмотров: 2202. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

Ваготомия. Дренирующие операции Ваготомия – денервация зон желудка, секретирующих соляную кислоту, путем пересечения блуждающих нервов или их ветвей...

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

Концептуальные модели труда учителя В отечественной литературе существует несколько подходов к пониманию профессиональной деятельности учителя, которые, дополняя друг друга, расширяют психологическое представление об эффективности профессионального труда учителя...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия