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

Как было показано во многих предыдущих примерах, ключевыми компонентами цикла являются:

Условие. Когда оно равно true, тело цикла повторяется.

Инициализация цикла. На этом этапе переменным, задействованным в условии цик­ла, присваиваются начальные значения. Данный процесс происходит до начала исполнения цикла.

Обновление переменных. При каждой итерации цикла происходит обновление зна­чений переменных, входящих в его условие.

Все сказанное используется в коде цикла while, приведенный ранее. Правилами синтаксиса фиксировано положение только одного эле­мента — условия цикла, которое размещается в круглых скобках после ключевого слова while. Инициализация цикла и обновление переменных может производиться в любой точке кода. Все это удобно для цикла, тело которого невелико. Если же инициализация и обновление разбросаны в пределах достаточного длинного фрагмента кода, эти суще­ственные элементы непросто найти, а значит, и следить за их правильностью. Слишком часто это приводит к тому, что в циклах whileилиdo-whileне обновляется третий важ­ный компонент.

Для решения этой проблемы применяется цикл for, синтаксические правила кото­рого четко фиксируют положение всех трех управляющих элементов цикла. Как пока­зано в синтаксическом блоке, все три элемента должны находиться в скобках после ключевого слова for и быть разделены точкой с запятой.

Оператор for::=

for ([< Операторы инициализации> ]; [< Условие цикла> ]; [< Операторы обновления> ])

<Тело цикла>

где:

<Операторы инициализации>::=

<Операторы инициализации1>, <Операторы инициализации2>...

<Условие цикла>::= <Логическое выражение>

<Операторы обновления>::=

<Операторы обновления 1>, <Операторы обновления 2>...

<Тело цикла>::=

<Оператор>;

<Составной оператор>;

Примечания:

· чтобы разделить несколько операторов инициализации, используются запятые. То же относится и к операторам обновления. Точки с запятыми применяются для отделения операторов инициализации от условия и условия от операторов обновления;

· операторы инициализации, а также условие цикла и операторы обновления не явля­ются обязательными.

Цикла forпозволяет реализовать ту же семантику, что и в коде while важно отметить, что последовательность событий в цикле for совпадает с последовательностью в цикле while, т.е.:

• инициализация цикла происходит один раз в начале цикла;

• условие цикла проверяется перед каждой итерацией;

• обновление переменных цикла происходит в конце каждой итерации.

Задание. Написать программу, которая выводит на консоль последовательность чисел от нуля до десяти. В качестве цикла использовать цикл for.

Далее рассмотрим некоторые особенности применения цикла for.

1. Никакая из трех частей цикла не является обязательной, однако скобки после ключе­вого слова for должны всегда содержать две точки с запятой. Условие цикла можно опустить, однако при этом наличие точки с запятой по-прежнему является обязательными условием.

2. Инициализация и обновление цикла могут состоять из нескольких операторов, разде­ленных запятыми, условие же цикла может быть только одно. Таким образом, в скобках после ключевого слова for в инициализации и обновлении цикла можно разместить любое число операторов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: