Теория без практики, как и практика без теории существовать не может. Мне не хочется, чтобы вы уважаемые электронщики, бездумно перепечатывали приведенные в статьях программы. Или как говорят некоторые онлайн гуру – верьте мне на слово, так нужно писать… Хочу, чтобы вы не верили на слово, а разбирались в изложенном в интернете материале.
Итак начнём.
Не одна из программ, что пишется для микроконтроллера (далее МК) не может проигнорировать такой важный элемент структуры, как цикл. Цикл, если простыми словами, напоминает езду по кольцу. Вы можете ездить по кольцу бесконечно долго или определенное количество кругов ( все зависит от типа цикла).
Цикл for ( заезд на определенное число кругов)
А – начальное значение, что присваивается переменной i ( если забыли, что такое переменная и как её объявлять идём сюда).
В – конечное значение, переменной i, при котором цикл завершится.
i++ или i-- - увеличения значения переменной i на 1 или уменьшение на 1 соответственно
Если условие i<B – выполняется, цикл «проходит круг», если нет – цикл останавливается. Изменение значение переменной (i в данном случае) происходит только после выполнения «тела цикла».
Цикл while (можно ездить, как бесконечно долго, так и определенное число кругов).
Первый цикл выполняется до тех пор, пока значение переменной А равно В (равно обозначается «==», а если «=» - то это присвоение. Например А = 5 – означает переменной А присвоили значение 5).
Второй цикл будет выполняться бесконечное число раз. Поскольку условие всегда будет 1.
Цикл do while (немного напоминает предыдущие циклы, с той лишь разницей, что даже если условие изначально не выполнимое то цикл всё равно прогонится 1 раз).
цикл прекратит выполнение при достижении переменной i значения 5.
i++ и i=i+1 – эти выражения идентичны.
С циклами разобрались. Теперь разберём еще две часто используемые конструкции:
Условный оператор if else
Он может выглядеть просто или же содержать n-ное число процедур сравнения
Условный оператор используют в тех случаях, когда проверяются несколько условий, при этом выполняется всего одно действие.
Конструкция выбора switch
Switch выполняет определенное действия при выполнения конкретного условия. Если используете конструкцию switch используйте только целые значения, для задания условий.
Проверка выполнения условия выполняется сверху вниз. Если не одно из предложенных условий не выполняется, то по умолчанию выполнится default.
После действия обязательно должен идти оператор break, он прерывает исполнения оператора switch (в противном случае - switch будет молотить дальше….)
Если же оператор break выполняется в цикле, то цикл прерывается (не важно сколько осталось кругов или условие выполнения цикла истинное (правильное)), а управление передается следующему оператору после цикла.
Раз уж заговорили об операторе прерывания, поговорим и об операторе continue. Он используется только в циклах. Операторе continue – выполняет пропуск оставшегося кода цикла и переходит к новому кругу выполнения.
Продолжение следует...