Цикл с параметром for. Примеры.
Цикл for в языке С++ идеален, когда известно количество итераций, то есть известно количество шагов цикла, которые программист указывает самостоятельно при вводе текста программы, а программа в свою очередь выполняет цикл, указанное программистом, количество раз. Цикл for имеет следующее формальное определение:
for (инициализатор; условие; итерация)
{
// тело цикла;
}
- инициализатор, иначе объявление начального значения счетчика выполняется один раз при начале выполнения цикла и представляет установку начальных условий, как правило, это инициализация счетчиков - специальных переменных, которые используются для контроля за циклом.
- условие представляет условие, при соблюдении которого выполняется цикл. Как правило, в качестве условия используется операция сравнения, и если она возвращает ненулевое значение (то есть условие истинно), то выполняется тело цикла, а затем выполняется итерация.
- итерация, или иначе инкремент / декремента выполняется после каждого завершения блока цикла и задает изменение параметров цикла. Обычно здесь происходит увеличение счетчиков цикла.
Счетчик цикла — это переменная, в которой хранится количество проходов данного цикла.
Цикл for в C++ выполняется в 3 шага:
- Шаг №1: Объявление переменных. Как правило, здесь выполняется определение и инициализация счетчиков цикла, а точнее — одного счетчика цикла. Эта часть выполняется только один раз, когда цикл выполняется впервые.
- Шаг №2: Условие. Если оно равно false, то цикл немедленно завершает свое выполнение. Если же условие равно true, то выполняется тело цикла.
- Шаг №3: Инкремент/декремент счетчика цикла. Переменная увеличивается или уменьшается на единицу. После этого цикл возвращается к шагу №2.
Например, программа по выводу квадратов чисел с помощью цикла for будет иметь следующий вид:
- Первая часть объявления цикла - int i - создает и инициализирует счетчик i. Фактически это то же самое, что и объявление и инициализация переменной (идентификатора) с известным значением. В данном случае начальное значение переменно с именем i равно числу 0.
- Вторая часть - условие, при котором будет выполняться цикл. В данном случае цикл будет выполняться, пока переменная i не станет равна числу 10.
- И третья часть - приращение счетчика на единицу. Выражение i++ это сокращенная запись i = i + 1. Значение можно и уменьшать с помощью выражения i--, равного по значению i = i-1. Кроме того значения счетчика можно изменять на другие значения, например: i=i+2, или i=i-3.
- В итоге блок цикла сработает 10 раз, пока переменная i не станет равна 9.

Необязательно указывать все три выражения в определении цикла, мы можем одно или даже все из них опустить:
Формально определение цикла осталось тем же, только теперь первое и третье выражения в определении цикла отсутствуют: for (; i < 10;). Переменная-счетчик определена и инициализирована вне цикла, а ее приращение происходит в самом цикле.
Существует также особая форма цикла for (for each), которая предназначена специально для работы с последовательностями значений. Эта форма имеет следующее формальное определение:
for (тип переменная: последовательность)
{
// инструкции;
}
Здесь каждый символ строки помещается в переменную s, а затем на консоль выводится ASCII код каждого символа.
Рассмотрите еще один пример.

