Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_po_poryadku_proga.doc
Скачиваний:
7
Добавлен:
15.04.2019
Размер:
1.07 Mб
Скачать

2.7. Инструкция switch

С помощью оператора switch программа может передать управление в одну из нескольких точек программы в зависимости от значения выражения.

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

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

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

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

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

default: оператор;

}

Выражение должно иметь целочисленный тип. Значение выражения сопоставляется со всеми находящимися внутри switch-оператора case- константами.

Оператор, указанный после case-метки, выполняется, если значение switch-выражения равно соответствующей константе. Если ни с одной из case-констант совпадения нет, то управление передается на конструкцию с default-меткой, при условии ее наличия, в противном случае ни одна из подынструкций switch не выполняется.

Так как case-константы являются метками, то после найденного совпадения операторы будут выполняться последова­тельно до тех пор, пока не закончится switch-оператор. Поэтому после каждого блока операторов, относящегося к конкретной case-метке, необходимо указать ключевое слово (оператор) break (если это необходимо). Оператор break сразу же передает программное управление за пределы switch-оператора, завершая его.

3.1. Оператор цикл for

Цикл for является циклом с предпроверкой условия выхода. Конструкция for-цикла имеет синтаксис: for (выражение1; выражение2; выражение3) оператор;

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

Выражение2 формулирует условие выполнения цикла (т.е. если выражение2 истинно, то операторы тела цикла выполняются, в противном случае происходит выход из цикла). Если выражение2 опущено, то считается, что его значение всегда истинно. В последнем случае операторы тела цикла будут повторяться до тех пор, пока один из них не приведет к выходу из цикла.

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

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

3.2. Бесконечный цикл for(;;) представляет собой особый вид цикла for. Он получается, если все три элемента определения цикла for опустить и оставить только точки с запятой, разделяющие элементы.

Программно выход из такого цикла может быть осуществлен только с помощью оператора break , так как условие выхода из цикла не указано.

3.4. Цикл do-while

В языке С++ существует конструкция цикла do или do-while. Самое важное его отличие от цикла while состоит в том, что операторы тела цикла do выполняются хотя бы один раз. Оценка выражения, содержащего условие выхода из цикла, происходит всегда после выполнения тела цикла. Конструкция цикла имеет синтаксис:

do оператор

while (выражение);

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