Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Си для PIC.docx
Скачиваний:
14
Добавлен:
01.07.2025
Размер:
351 Кб
Скачать
☆

For (в течение)

Синтаксис

for (выражение1; выражение2; выражение3) тело;

 

Оператор for – это наиболее общий способ организации цикла.

 

Выражение 1 обычно используется для установления начального значения параметра цикла. Выражение 2 – это выражение, определяющее условие, при котором тело цикла будет выполняться. Выражение 3 определяет закон изменения параметра цикла после каждого выполнения тела цикла.

 

При выполнении оператора for сначала вычисляется выражение1, затем выражение2. Если выражение2 отлично от нуля (истина), выполняется тело цикла, вычисляется выражение3, снова вычисляется выражение2, и если оно по-прежнему отлично от нуля, то цикл повторяется. Если выражение2 равно нулю (ложь), то управление передается на оператор, следующий за оператором for.

 

Важно то, что проверка условия всегда выполняется в начале цикла. Это значит, что тело цикла может ни разу не выполниться, если условие выполнения сразу будет ложным.

 

Классический пример использования

 

for (tmp=0; tmp<10; tmp= tmp+1)

{

// тело цикла выполнится 10 раз, начиная

// со значения tmp=0 и закончится при tmp=9

}

 

Пример вычисления суммы чисел от 1 до 10

y = 0; // очищаем переменную под результат

for (x=1; x<=10; x=++)

{

y = y+x; // тело цикла

}

 

++ инкрементирование, т.е. увеличение на единицу

–– декрементирование, т.е. уменьшение на единицу

 

Другим вариантом использования оператора for является бесконечный цикл. Для организации такого цикла можно использовать пустое условное выражение. Если отсутствует проверка, т.е. выражение2, то считается, что оно всегда истинно.

 

Пример бесконечного цикла с оператором for

for (;;)

{

// тело бесконечного цикла

}

While (пока)

Синтаксис

while (выражение) тело;

 

Оператор цикла while называется циклом с предусловием. В качестве выражения допускается использовать любое выражение языка Си, а в качестве тела – любой оператор, в том числе пустой или группа операторов в фигурных скобках.

 

Сначала вычисляется выражение; если оно ложно (или значение выражения равно нулю), то выполнение оператора while заканчивает и выполняется следующий по порядку оператор. Если выражение истинно (значение выражения отлично от нуля), то выполняется тело оператора while и процесс повторяется с начала.

 

Пример бесконечного цикла

while (1)

{

// тело цикла

}

 

Пример организации задержки

tmp = 0xffff; // прописали некое число

while (tmp-->0); // декрементировать tmp и

// выполнить пустое тело цикла

// до тех пор пока >0

 

Пример цикла на 8 витков

tmp=0; // чистим переменную

while (tmp<8)

{

tmp++;

// тело цикла с некими операциями

}

do-while (делать пока)

Синтаксис

do тело while (выражение);

 

Оператор цикла do-while называется оператором циклом с постусловием и используется в тех случаях, когда необходимо выполнить тело цикла хотя бы один раз.

 

Сначала выполняется тело цикла (которое может быть составным оператором), затем вычисляется выражение. Если оно истинно (значение выражение отлично от нуля), то тело цикла выполняется снова и т.д. Если выражение становится ложным (или равно нулю), то выполнение оператора do-while заканчивается и выполняется следующий по порядку оператор.

 

Пример цикла на 10 витков

tmp = 0; // чистим переменную

do{

tmp++; // инкрементируем

// еще что-нибудь делаем

} while (tmp<10); // проверяем условие