Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР2 - Алгоритмы линейн, ветвящ и циклы в С.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
158 Кб
Скачать
☆

Оператор for

Оператор цикла for имеет следующий формат:

for ([ выражение инициализации ]; [ условное выражение ];[ выражение итерации ])

{

оператор;

...

}

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

Схема выполнения оператора for:

1. Вычисляется выражение инициализации;

2. Вычисляется условное выражение;

3. Если значение условного выражения равно 1 (истина), выполняются операторы цикла. Операторы могут быть либо пустыми, либо простыми, либо составными;

4. Вычисляется выражение итерации;

5. Вновь вычисляется условное выражение;

6. Как только условное выражение становится равным нулю (ложным), управление передается на оператор, следующий за оператором for.

Пример:

#include<stdio.h>

main( )

{

int i;

for (i=0;i<10;i++)

printf(“ квадрат числа %d =%d\n”, i, i*i);

}

В этой программе вычисляются квадраты чисел от 0 до 9.

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

Допускаются некоторые варианты оператора for. Можно использовать несколько переменных управляющих циклом.

Например:

for (int i=0; j=100; i<j; i++, j--);

{

оператор;

...

}

Этот цикл будет выполняться до тех пор, пока i<j.

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

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

for (;;) {операторы}

Для выхода из такого цикла обычно используется оператор break.

Так как по синтаксису языка Си оператор может быть пустым, тело оператора for также может быть пустым. Такой формат оператора может использоваться для организации задержки выполнения.

Например:

for (i=0; i<100000; i++);

Оператор while

Оператор цикла while имеет следующий формат:

while ( выражение )

{

оператор;

...

}

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

Схема выполнения оператора while:

1. Вычисляется выражение;

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

3. Если выражение истинно (1), то тело оператора while выполняется;

4. Процесс повторяется с пункта 1.

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

Оператор do…while

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

Формат оператора do:

do

{

оператор;

...

}

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

Схема выполнения оператора do:

  1. Выполняется оператор.

  2. Вычисляется выражение.

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

Преждевременный выход из цикла может осуществляться при помощи оператора break. После использования оператора break управление передается следующему после цикла оператору программы. Оператор continue, в отличие от break, передает управление на следующую итерацию цикла.

Циклическая структура может быть реализована при помощи операторов if и goto. Однако этого делать нежелательно, так как используя оператор goto можно очень сильно запутать программу.