Краткая характеристика объекта изучения
Операторы цикла используются для организации многократно повторяющихся вычислений. Тело цикла – оператор или составной оператор (блок) может выполняться несколько раз, однократное выполнение тела цикла называется итерацией. При переходе от итерации к итерации некоторые переменные могут менять свои значения.
В языке Си существует три разновидности операторов цикла.
1. Цикл с предусловием имеет формат:
while(<выражение_условие>) <оператор>
<выражение_условие> - значение этого выражения может быть любого типа языка Си, заменяющего логический (целый, вещественный, указатель), значение условия считается истинным, если оно отлично от нуля, при этом выполняется тело цикла, телом цикла может быть составной оператор или блок. Блок схема фрагмента алгоритма с циклом с предусловием представлена на рисунке 2.
Тело цикла -оператор |
Условие |
Истинно |
Ложно |
Рисунок 2 – Блок схема фрагмента алгоритма с циклом с предусловием
2. Цикл с постусловием имеет формат:
do <оператор> while(<выражение_условие>);
Цикл работает аналогично предыдущему, но только в начале выполняется оператор – тело цикла, затем проверяется выражение – условие.
Блок схема фрагмента алгоритма с циклом с постусловием представлена на рисунке 3.
Тело цикла -оператор |
Условие |
Истинно |
Ложно |
Рисунок 3 – Блок схема фрагмента алгоритма с циклом с постусловием
3. Цикл for имеет формат:
for([<инициализаторы>];[<выражение_условие>]; [<модификации>]) <оператор>
<инициализаторы> используются для объявления и присвоения начальных значений переменным, используемым в цикле, можно записать несколько выражений, разделенных запятой.
<выражение_условие> определяет условия продолжения цикла, задается аналогично, как в предыдущих видах циклов.
<модификации> выполняются после каждой итерации цикла и служат обычно для изменения параметров цикла, здесь можно записать несколько выражений через запятую.
Телом цикла может быть простой оператор, составной оператор или блок. Блок схема фрагмента алгоритма с циклом for представлена на рисунке 4.
Блок схема фрагмента алгоритма с циклом for
Ложно |
Инициализаторы |
Условие |
Истинно |
Тело цикла -оператор |
Модификации |
Рисунок 4 – Блок схема фрагмента алгоритма с циклом for
Все три элемента в заголовке цикла могут отсутствовать (или некоторые из них), но наличие «;» обязательно. Если выражение условие отсутствует, то считается, что оно всегда истинно.
Пример циклов for:
for( ; ; ) { …} // Бесконечный цикл
for(int i=0; i<100; i++) { … }
for(int i=0, j=20; i<j; i++, j--) { … }
for(int i=0; i<20; i+=2) { … }