Цикл с параметром for. Примеры.

Цикл for в языке С++ идеален, когда известно количество итераций, то есть известно количество шагов цикла, которые программист указывает самостоятельно при вводе текста программы, а программа в свою очередь выполняет цикл, указанное программистом, количество раз. Цикл for имеет следующее формальное определение:


for (инициализатор; условие; итерация)

{

// тело цикла;

}


  • инициализатор, иначе объявление начального значения счетчика выполняется один раз при начале выполнения цикла и представляет установку начальных условий, как правило, это инициализация счетчиков - специальных переменных, которые используются для контроля за циклом.
  • условие представляет условие, при соблюдении которого выполняется цикл. Как правило, в качестве условия используется операция сравнения, и если она возвращает ненулевое значение (то есть условие истинно), то выполняется тело цикла, а затем выполняется итерация.
  • итерация, или иначе инкремент / декремента выполняется после каждого завершения блока цикла и задает изменение параметров цикла. Обычно здесь происходит увеличение счетчиков цикла.

https://ucarecdn.com/a91b9ffa-e3b1-4ebc-8c4f-8f60b245939e/

Счетчик цикла — это переменная, в которой хранится количество проходов данного цикла.

Цикл for в C++ выполняется в 3 шага:

  1. Шаг №1: Объявление переменных. Как правило, здесь выполняется определение и инициализация счетчиков цикла, а точнее — одного счетчика цикла. Эта часть выполняется только один раз, когда цикл выполняется впервые.
  2. Шаг №2: Условие. Если оно равно false, то цикл немедленно завершает свое выполнение. Если же условие равно true, то выполняется тело цикла.
  3. Шаг №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 код каждого символа.

Рассмотрите еще один пример.



Last modified: Tuesday, 2 May 2023, 2:40 PM