Структура повторения for

Часто приходится решать задачи, в которых организуется повторение, управляемое счетчиком. При этом требуется задать (рис Б.5):

1. Имя управляющей переменной (счетчика цикла);

2. Начальное значение управляющей переменной;

3. Приращение (или уменьшение), на которое изменяется управляющая переменная в каждом цикле.

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

Рассмотрим программу, которая печатает числа от 1 до 10 (рис.Б.6)

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

Программа может быть сделана более компактной, если переменной counter задать значение 0 и заменить структуру while следующей

while (++counter

cout

Операция инкремент выполняется непосредственно в условии структурыwhile до того, как это условие проверяется.

В С++ существует специальная структура повторения for, которая содержит все элементы, необходимые для повторения, управляемого счетчиком.

for (начальное_выражение; условие; увеличение_счетчика)

оператор;

Структура повторения for Структура повторения for
Рис.Б.5-Блок-схема структуры повторения управляемого счетчиком Рис.Б.6-Повторение, управляемое счетчиком

Начальное_выражение предназначено для инициализации переменной-счетчика цикла, причем тут же можно объявлять переменную. Условие записывается точно так же, как и в других операторах цикла. Увеличение_счетчика — это именно то, что делает в наших циклах оператор ++i;. Естественно, вместо единственного оператора в теле цикла мы можем писать составной оператор в фигурных скобках. Этот оператор цикла работает так:

§ вычисляется начальное_выражение; это происходит единственный раз при первом выполнении оператора for;

§ проверяется условие; если условие истинно, то выполняется заданный оператор в теле цикла; если условие ложно, то происходит выход из цикла и выполняется следующий после цикла оператор;

§ после выполнения заданного оператора производится увеличение_счетчика;

§ происходит переход к проверке условия.

Таким образом, при первой итерации выполняются первые два «пункта» в круглых скобках, а при последующих — второй и третий, только в обратном порядке: сначала выполняется увеличение_счетчика, а затем — проверка условия.

В программе (см. рисунок А.6) можно заменить структуру while на структуру for (рис.Б.7).

Когда структура for начинает выполняться, управляющей переменной counter задается начальное значение 1. Затем проверяется условие продолжения цикла counter

Структура повторения for

Рис.Б.7-Повторение, управляемое счетчиком, со структурой for

(Урок_5) Операторы циклов (for,do…while,while) (C/C++)


Похожие статьи.

Понравилась статья? Поделиться с друзьями: