МозгоНавигатор: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

Циклы, условный оператор, switch, break, continue

20.12.2016 в Программирование микроконтроллеров, Электронные самоделки

Теория без практики, как и практика без теории существовать не может. Мне не хочется, чтобы вы уважаемые электронщики, бездумно перепечатывали приведенные в статьях программы. Или как говорят некоторые онлайн гуру – верьте мне на слово, так нужно писать… Хочу, чтобы вы не верили на слово, а разбирались в изложенном в интернете материале.

bezyimyannyiy7

Итак начнём.

Не одна из программ, что пишется для микроконтроллера (далее МК) не может проигнорировать такой важный элемент структуры, как цикл. Цикл, если простыми словами, напоминает езду по кольцу. Вы можете ездить по кольцу бесконечно долго или определенное количество кругов ( все зависит от типа цикла).

bezyimyannyiy1

Цикл for ( заезд на определенное число кругов)

bezyimyannyiy2

А – начальное значение, что присваивается переменной i ( если забыли, что такое переменная и как её объявлять идём сюда).

В – конечное значение, переменной i, при котором цикл завершится.

bezyimyannyiy3

i++ или i—  — увеличения значения переменной i на 1 или уменьшение на 1 соответственно

Если условие i<B – выполняется, цикл «проходит круг», если нет – цикл останавливается. Изменение значение переменной (i в данном случае) происходит только после выполнения «тела цикла».

bezyimyannyiy4

Цикл while (можно ездить, как бесконечно долго, так и определенное число кругов).

bezyimyannyiy5

Первый цикл выполняется до тех пор, пока значение переменной А равно В (равно обозначается «==», а если «=» — то это присвоение. Например А = 5 – означает переменной А присвоили значение 5).

bezyimyannyiy6

Второй цикл будет выполняться бесконечное число раз. Поскольку условие всегда будет 1.

bezyimyannyiy8

Цикл do while (немного напоминает предыдущие циклы, с той лишь разницей, что даже если условие изначально не выполнимое то цикл всё равно прогонится 1 раз).

bezyimyannyiy27

цикл прекратит выполнение при достижении переменной i значения 5.

i++ и i=i+1 – эти выражения идентичны.

С циклами разобрались. Теперь разберём еще две часто используемые конструкции:

bezyimyannyiy9

Условный оператор if else

bezyimyannyiy10

Он может выглядеть просто или же содержать n-ное число процедур сравнения

Условный оператор используют в тех случаях, когда проверяются несколько условий, при этом выполняется всего одно действие.

bezyimyannyiy11

Конструкция выбора switch

bezyimyannyiy12

Switch выполняет определенное действия при выполнения конкретного условия. Если используете конструкцию switch используйте только целые значения, для задания условий.

Проверка выполнения условия выполняется сверху ­вниз. Если не одно из предложенных условий не выполняется, то по умолчанию выполнится default.

После действия обязательно должен идти оператор break, он прерывает исполнения оператора switch (в противном случае — switch  будет молотить дальше….)

Если же оператор break выполняется в цикле, то цикл прерывается (не важно сколько осталось кругов или условие выполнения цикла истинное (правильное)), а управление передается следующему оператору после цикла.

Раз уж заговорили об операторе прерывания, поговорим и об операторе continue. Он используется только в циклах. Операторе continue – выполняет пропуск оставшегося кода цикла и переходит к новому кругу выполнения.

Продолжение следует…


  • RSS
  • Facebook
  • LiveJournal
  • Добавить ВКонтакте заметку об этой странице
  • Мой Мир
  • В закладки Google
  • Blogger
  • Twitter

Прокомментировать

Ваш e-mail не будет опубликован. Обязательные поля помечены *