Операторы цикла
В Си имеется три вида циклических конструкций. Общее у них одно: все условия в них являются УСЛОВИЯМИ ПРОДОЛЖЕНИЯ, то есть циклы продолжаются, пока значение этих условных выражений -" истина" . Операторы цикла состоят из заголовка, в котором определяется характер циклического процесса и тела цикла. Скобки в заголовке цикла являются неотъемлемым элементом синтаксиса языка. Первые два вида циклов отличаются временем проверки условия продолжения - до или после очередного шага цикла:
.
while (выражение) оператор
.
do оператор while(выражение);
___________ __________
тело цикла условие продолжения
Наиболее универсальный цикл for имеет полный эквивалент в цикле while:
.
Заголовок цикла Тело цикла
______________________________________ ________
for (выражение_1; выражение_2; выражение_3) оператор
___________ ____________ ___________
инициализация условие повторяющаяся
продолжения часть
___Эквивалент___________________________________________
выражение1; while (выражение2) { оператор выражение3; }
Первое выражение вычисляется перед началом цикла -инициализирует его или устанавливает начальное состояние. Второе выражение является условием его продолжения. Оно проверяется перед каждым шагом цикла, и при условии его истинности цикл повторяется. И, наконец, в самом шаге цикла выполняется оператор и третье выражение, которое является повторяющейся частью цикла. Как видим, цикл for не накладывает никаких ограничений на вид выражений в его заголовке, поэтому привычный для нас
for (i=0; i<n; i++) ...
с последовательно меняющейся переменной цикла является лишь очень частным случаем.
Реальная программа состоит из множества операторов, которые объединены между собой по принципу вложенности. Это означает, что элементарное действие, которое является частью оператора (прямоугольник блок-схемы) может быть " раскрыто" в свою очередь как оператор. В тексте программы это выглядит как включение текста одного оператора в качестве фрагмента в текст другого.