Цикл for()

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

Условие цикла for состоит из трех частей разделенных точкой с запятой:

for (init; condition; increment) {операторы выполняющиеся в цикле}

Инициализация (init) выполняется самой первой и только один раз. Каждый раз в цикле проверяется условие (condition), и если оно верно, выполняется блок операторов и инкремент (increment), затем условие проверяется вновь. Когда логическое значение условия становится ложным, цикл завершается.

Пример


 // Затемнение светодиода с использованием ШИМ-вывода
int PWMpin = 10; // Светодиод подключен последовательно с резистором 220 ом на 10 выводе
void setup() {
 // настройка не нужна 
}
 
void loop() {
   for (int i=0; i <= 255; i++){
      analogWrite(PWMpin, i);
      delay(10);
   }
}

Любой из трех или все три элемента заголовка могут быть опущены, хотя точки с запятой обязательны. Также операторы для инициализации, условия и инкремента цикла могут быть любым допустимым в Си операторами с независимыми переменными, и использовать любой тип данных Си, включая данные с плавающей точкой (floats). Эти необычные для цикла for типы операторов позволяют обеспечить программное решение некоторых нестандартных проблем.

Например, использование умножения в операторе счетчика цикла позволяет создавать логарифмическую прогрессию:


for(int x = 2; x < 100; x = x * 1.5){
    println(x);
}
// Генерируется: 2, 3, 4, 6, 9, 13, 19, 28, 42, 63, 94

Ардуино