8.4. Циклы

 

Есть 3 вида циклов while, do, for.

 

Цикл while

 

while (e) s;

 

Оператор s выполняется до тех пор, пока значение e истинно. Значение е вычисляется перед каждым выполнением оператора s.

Эквивалентно записи

 

lab: if (e)

         { s;

            goto lab;

         }

 

может не выполнятся ни разу.

 

Цикл do

 

do s while (e)

 

Оператор s выполняется до тех пор, пока выражение е истинно.

Т. е. эквивалентно

 

lab:s;

if (e) goto lab;

 

Выполняется хотя бы один раз.

 

Цикл for

 

for (e1; e2; e3) s;

 

Является удобной сокращенной записью для цикла while вида

 

e1;

while (e2)

{ s;

   e3;

}

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

Любое из выражений может быть опущено. Если опущено значение е2, то по умолчанию оно принимается равным е1, т. e. cчитается всегда истинным, и в этом случае цикл будет бесконечным.

 

for(;e2;) s;  эквивалентенциклу while (e2) s;

 

Оператор завершения (break)

 

break;

 

Этот оператор может находиться в пределах оператора цикла или оператора-переключателя.

Оператор вызывает завершение выполнения оператора и переход на выполнение следующего за ним оператора.

 

Оператор продолжение (continue)

 

continue;

 

Может находиться в пределах оператора цикла.

Выполнение этого оператора приводит к продолжению выполнения цикла, начиная со следующего шага. В циклах while и do это означает непосредственный переход к выполнению проверочной части; в цикле for управление передается на шаг реинициализации.

 

Оператор-переключатель (switch)

Оператор-переключатель используется для разветвления программы по нескольким направлениям. Имеетследующуюформу:

 

switch (e)

{

case e1: s1;

case e2: s2;

case en: sn;

default: sn+1;

}

 

где

е – целое выражение или выражение, которое может быть преобразовано в целое выражение

еi  - целое выражение с постоянным значением, или выражение, которое может быть преобразовано к такому выражению

si – операторы, число которых может быть больше или равно нулю.

 

Метки еi должны быть уникальны.

Выполнение операторы начинается с вычисления значения выражения е. это значение в дальнейшем последовательно сравнивается со значениями выражений еi. В случае равенства с выражением еi выполняются операторы si, а также все последующие за ним операторы вплоть до выполнения оператора, break, goto или до выполнения последнего оператора в пределах оператора переключателя. 

В противном случае выполняется оператор после приставки default и возможно последующие операторы.

Префикс default является необязательным.

 

К оглавлению

Назад к разделу "8.3. Операторы"

Вперед к разделу "8.5. Препроцессор"