Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
+ЭУМКД КИТ-ч1-Бутов.docx
Скачиваний:
9
Добавлен:
05.05.2019
Размер:
262.85 Кб
Скачать

2. Оператор switch

Оператор switch, называемый также переключателем, предназначен для разветвления процесса вычислений на несколько направлений. Формат оператора:

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

{

case константа 1: [оператор 1]

case константа 2: [оператор 2]

case константа 3: [оператор 3]

. . .

case константа N: [оператор N]

[default: оператор N+1]

}

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

Структурная схема оператора switch:

Выполнение оператора начинается с вычисления выражения, которое должно иметь целочисленный тип. Затем начинается последовательный анализ констант и управление передается тому оператору, для которого константа совпадает с вычисленным значением. После этого анализ продолжается далее. Если в итоге ни одного совпадения не произошло, выполняется оператор, расположенный после слова default, а при его отсутствии – ничего не делается. Все константы должны иметь разные значения, но быть одного и того же целочисленного типа. Для немедленного выхода из переключателя необходимо после соответствующего оператора вставить оператор break. Этот оператор рекомендуется ставить после каждого входящего в переключатель оператора. Пример: выведите на экран название дня недели по его номеру.

#include <stdio.h>

void main()

{

int number;

printf(“Введите номер дня недели:\n”);

scanf(“%d”, &number);

switch(number)

{

case 1: printf(“Понедельник”); break;

case 2: printf(“Вторник”); break;

case 3: printf(“Среда”); break;

case 4: printf(“Четверг”); break;

case 5: printf(“Пятница”); break;

case 6: printf(“Суббота”); break;

case 7: printf(“Воскресение”); break;

default: printf(“Ошибка ввода”); break;

}

}

Иногда может понадобиться выполнить один и тот же оператор в разных ветвях case. В этом случае несколько меток case ставятся подряд:

#include <stdio.h>

void main()

{

int number;

printf(“Введите номер дня недели:\n”);

scanf(“%d”, &number);

switch(number)

{

case 1: case 2: case 3: case 4: case 5:

printf(“Учимся”); break;

case 6: case 7:

printf(“Отдыхаем!”); break;

default: printf(“Ошибка ввода”); break;

}

}

Операторы цикла

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

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

Параметром цикла называется переменная, которая используется при проверке условия продолжения цикла и которая принудительно изменяется на каждой итерации, причем, чаще всего, на одну и ту же величину. Параметр есть не у всякого цикла.

Цикл завершается, если условие его продолжения не выполняется.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]