Студопедия — Оператор выбора альтернатив (переключатель)
Студопедия Главная Случайная страница Обратная связь

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

Оператор выбора альтернатив (переключатель)






Общий вид оператора:

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

case константа1: оператор1; break;

case константа2: оператор2; break;

...

case константаN: операторN; break;

default: оператор(N+1); break; // может отсутствовать

}

Значение вычисленного выражения должно быть целого типа (или символьного, поскольку он автоматически преобразуется в целый). Это целое используется для выбора одного из нескольких операторов, который нужно выполнить. Оператор, следующий за селектирующим выражением состоит из одного или более операторов, перед каждым из которых стоит конструкция:

case константное выражение:

Целочисленное выражение (константа выбора) после вычисления сравни­вается со значениями констант и при совпадении с одной из них выполняется передача управления соответствующему оператору. В случае несовпадения значения выражения с одной из констант происходит переход на метку default, либо, при ее отсутствии, к оператору, следующему за оператором switch.

Управляющий оператор break (разрыв) позволяет организовать выход из оператора switch на первый выполняемый оператор, следующий после данной конструкции (оператор switch).

Пример 1 с использованием оператора break:

void main(void)

{ int i = 2;

switch(i) {

case 1: puts ("Случай 1. "); break;

case 2: puts ("Случай 2. "); break;

case 3: puts ("Случай 3. "); break;

default: puts ("Случай default. "); break;

}

}

Для того, чтобы выйти из оператора switch в любом месте использовали оператор break, поэтому результатом будет: Случай 2.

Пример 2 (оператор break отсутствует):

void main()

{ int i=2;

switch(i) {

case 1: puts ("Случай 1. ");

case 2: puts ("Случай 2. ");

case 3: puts ("Случай 3. ");

default: puts ("Случай default. ");

}

}

Так как оператор разрыва отсутствует, результатом будет:

Случай 2.

Случай 3.

Случай default.

 

 

9. Составление циклических алгоритмов

Понятие цикла

Практически все алгоритмы решения задач содержат циклически повторяемые участки. Цикл это одно из фундаментальных понятий программирования. Под циклом понимается организованное повторение некоторой последовательности операторов.

Для организации циклов используются специальные операторы.

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

Один проход цикла называется итерацией. Проверка условия выполняется на каждой итерации либо до кода цикла (с предусловием), либо после кода цикла (с постусловием).

Перечень разновидностей операторов цикла:

- оператор цикла с предусловием;

- оператор цикла с постусловием;

- оператор цикла с предусловием и коррекцией.

 

Оператор с предусловием while

Общий вид:

while (выражение) код_цикла;

Если выражение в скобках - истина (не равно 0), то выполняется код_цикла. Это повторяется до тех пор, пока выражение не примет значение 0 (ложь). В этом случае выполняется оператор, следующий за while. Если выражение в скобках - ложно (равно 0), то цикл не выполнится ни разу.

Код_цикла может включать любое количество управляющих операторов, связанных с конструкцией while, взятых в фигурные скобки (блок), если их более одного. Среди этих операторов могут быть continue - переход к следующей итерации цикла и break - выход из цикла.

Например, необходимо сосчитать количество символов в строке. Предполагается, что входной поток настроен на начало строки. Тогда подсчет символов выполняется следующим образом:

char ch;

int count=0;

while ((ch=getchar())!='\n') count++;

Для выхода из цикла while при истинности выражения, как и для выхода из других циклов можно пользоваться оператором break.

Пример 1:

while (1) { // Организация бесконечного цикла

...

if (kbhit()&&(getch()==27)) break;

// Если нажата клавиша (результат работы функции kbhit()>0) и код ее равен 27 // (код клавиши “Esc”), то выходим из цикла

...

}

Пример 2:

...

while (!kbhit()); // Выполнять до тех пор, пока не нажата клавиша

...







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



Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

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

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

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