AVR GCC

За да се повтори всяка последователност от действия многократно, се използват алгоритмични конструкции, които се наричат ​​цикли. Последователността от действия в този случай се нарича тялото на цикъла.

Разграничават се следните видове цикли: цикъл "for" (цикъл с брояч) и цикъл "while" (цикъл с условие).

Цикъл "за"

Цикълът "for" се използва, когато броят на повторенията е известен предварително.

Такъв цикъл има "брояч на повторения" или "променлива на цикъла", които трябва да бъдат декларирани предварително.

Тялото на цикъла се повтаря толкова пъти, колкото променливата на цикъла i придобива стойности от първоначалната си стойност, дадена от конструкцията за присвояване i = a, до крайната стойност, дадена от условието i. Промяната на променливата i се дава чрез конструкция за присвояване във формата i = i + c (може също да се използва i++ увеличение или i-- намаление). Когато i = b, цикълът завършва и операторът, следващ затварящата скоба на цикъла, се изпълнява.

На първата стъпка от цикъла променливата i ще бъде равна на 1, преди втората стъпка тя ще бъде увеличена с 1 в резултат на намаляването ( i++) и ще стане равна на 2. На третата стъпка от цикъла ще взема стойността 3 . И така докато на петата стъпка от цикъла стане равно на 5 . В резултат на следващата i++ операция, променливата на цикъла ще приеме стойност 6, но условието i вече няма да е вярно и цикълът ще приключи. Така тялото на цикъла ще бъде изпълнено 5 пъти.

Възможно е да декларирате променлива на цикъл директно в нейното съдържание:

Но на първия етап от изучаването на езика C е по-добре променливите да се декларират отделно.

Помислете за пример за мигане на светодиод 10 пъти с помощта на цикъл "for".

трябва
Снимка 1

Цикълът while

Цикълът while, известен още като условен цикъл, се повтаря, докато условието на цикъла е вярно.

Условните цикли се използват най-често, когато броят на повторенията не е известен предварително и цикълът трябва да работи, докато условието е изпълнено.

За да приключи цикълът, трябва да се промени някаква променлива в тялото на цикъла, от която зависи истинността на условието за повторение.

В този пример тялото на цикъла ще се повтори 50 пъти, стига променливата x да е по-голяма от нула. При всяка итерация на цикъла x ще намалява с 1. Когато x стане нула, цикълът ще спре.

изявление за прекъсване

Командата break ви позволява да прекъснете изпълнението на тялото на цикъла (при допълнителни условия).

За да използвате този оператор, трябва само да вмъкнете реда

в това място на цикъла, където е необходимо да се организира неговото прекъсване.

Безкрайни цикли

Можете да организирате безкраен цикъл както с помощта на цикъла "for", така и с помощта на цикъла "while"

Единственият начин да излезете от такива цикли е да направите прекъсване (при някакво условие) в тялото на цикъла.

Вложени цикли

Един цикъл на повторение може да бъде вътре в друг цикъл. Когато използвате вложени цикли, трябва да следвате просто правило: един цикъл в друг трябва да бъде същият като една вложена кукла в друга кукла.

Помислете за пример на два вложени цикъла "for". Тялото на вложения цикъл ще се повтори общо 200 пъти.

Оформяне на забавяне

С помощта на цикли е възможно да се образуват времезакъснения с голяма продължителност.Помислете за пример за многократно повторение на функцията _delay_ms().

Този пример прилага забавяне от 10 минути.