При решении ряда задач возникает необходимость многократного повторения однотипных действий при различных значениях параметров,
определяющих эти действия. Алгоритмы, реализующие такие вычисления, называются циклическими, а повторяющиеся участки вычислений - циклами. Использование циклов позволяет выполнить большие объёмы вычислений при помощи компактных программ. Различают циклы с заданным и неизвестным числом повторений. К последним относятся итерационные циклы с требуемой точностью.
Бывают циклы с проверкой условия перед началом выполнения тела цикла, по окончании выполнения тела или внутри тела цикла. Ниже будут рассмотрены все указанные типы циклов.
Цикл while
Синтаксис цикла while (пока) таков):
while (условие _выражение)
оператор
В цикле типа while проверка условия производится перед выполнением тела цикла. Если результат вычисления условного выражения не равен нулю, то выполняется оператор (или группа операторов). Перед входом в цикл while в первый раз обычно инициализируют одну или несколько переменных для того, чтобы условное выражение имело какое либо значение.
|
|
Оператор или группа операторов, составляющих тело цикла, должны, как правило, изменять значения одной или нескольких переменных, входящих в условное выражение, с тем чтобы, в конце концов, выражение обратилось в нуль, и цикл завершился.
Цикл DO WHILE
В цикле DO WHILE проверка условия осуществляется после выполнения тела цикла. Синтаксис цикла:
do
оператор
while (условное_выражение);
Цикл DO WHILE прекращает выполнятся, когда условное выражение обращается в нуль (остаётся ложным). Как и для
цикла WHILE, для цикла DO WHILE можно описать ситуации,
приводящие к выходу из цикла:
*Условное выражение обратилось в 0
*Внутри цикла встретился break.
*Внутри цикла выполнен оператор return.
Цикл FOR
Наиболее общей формой цикла в СИ является цикл FOR. Цикл FOR- это общая и более мощная форма, чем аналогичный цикл в языке Паскаль.
Конструкция FOR выглядит следующим образом:
for([ необязательное выражение1];
[ необязательное выражение2];
[ необязательное выражение3])
оператор
Каждое из трёх выражений можно опускать. Хотя в принципе каждое из этих выражений может быть использовано программистом как угодно, обычно первое выражение служит для инициализации индекса, второе для проверки на окончание цикла, а третье выражение - для изменения значения индекса.
Формально это правило можно описать так:
1.Если первое выражение присутствует, то оно вычисляется.
2.Вычисляется второе выражение (если оно присутствует).
3.Исполняется тело цикла.
4.Вычисляется третье выражение (если оно присутствует).
5.Переход к пункту 2.
Появление в любом месте цикла оператора continue приводит к немедленному переходу к шагу 4.