Цикл задает многократное прохождение по одному и тому же коду программы (итерации). Он имеет точку вхождения, проверочное условие и точку выхода. Цикл, не имеющий точки выхода, называется бесконечным.
Проверка условия может осуществляться перед выполнением или после окончания тела цикла.
Циклы могут быть вложенными друг в друга произвольным образом.
Синтаксис цикла for имеет вид:
Этот оператор выполняется следующим образом.
Сначала выполняется выражение 1. Затем вычисляется величина выражения 2 и, если полученный результат принял истинное значение, выполняется тело цикла. В противном случае выполнение цикла прекращается и осуществляется переход к оператору, следующему репосредственно за телом цикла.
После выполнения тела цикла вычисляется выражение 3, если оно имеется в конструкции, и осуществляется переход к пункту вычисления величины выражения 2.
Выражение 1чаще всего служит в качестве инициализации какой-нибудь переменной, выполняющей роль счетчика итераций.
Выражение 2используется как проверочное условие и на практике часто содержит выражения с операторами сравнения. По умолчанию величина выражения 2принимает истинное значение.
Выражение 3служит чаще всего для приращения значения счетчика циклов либо содержит выражение, влияющее, каким бы то ни было образом, на проверочное условие.
Все три выражения не обязательно должны присутствовать в конструкции, однако синтаксис не допускает пропуска символа точка с запятой (;). Простейший пример бесконечного цикла выглядит следующим образом
for ( ; ; ) cout << "Бесконечный цикл . . ." ;
Eсли в цикле должны синхронно изменятся несколько переменных, которые зависят от переменной цикла, вычисление их значений можно поместить в оператор for, воспользовавшись оператором "запятая".
Рассмотрим пример.
В случае, если команды одного цикла находятся внутри другого, цикл называют вложенным.
Рассмотрим пример.