Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комплексное пособие Си.pdf
Скачиваний:
57
Добавлен:
12.03.2015
Размер:
1.57 Mб
Скачать

выполнения оператора break управление передается оператору, следующему за прерванным.

Циклы

Для выполнения повторяющихся операций в языке Си предусмотрены три вида циклов: while, do…while и for.

Цикл while

Цикл while называют циклом с предусловием и записывают следующим образом:

while (<выражение>) <оператор>;

Рассмотрим пример программы, которая выводит на экран таблицу функций sin(x) и cos(x):

#include <math.h> #include <stdio.h> void main( void )

{

double x = 0; while( x < 3.0 )

{

printf( "%6.3lf %9.6lf %9.6lf\n",x, sin(x), cos(x) ); x += 0.2;

}

}

Если после while( x < 3.0 ) ошибочно поставить точку с запятой, то никаких сообщений об ошибках выдано не будет, но цикл станет бесконечным. Действительно, в этом случае тело цикла будет пустым оператором ";", переменная x не будет меняться, следовательно, результат выражения x < 3.0 всегда будет отличен от нуля.

Цикл do…while

Цикл do…while называют циклом с постусловием и записывают следующим образом:

do <оператор>;

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

47

scanf(“%f”, &x); s = s + x ; i++;

Пример оператора do while:

/* вычисление суммы n вещественных чисел */ s = 0; i = 1;

do

{

}

while (i <= n) ;

Оба цикла выполняются до тех пор, пока <выражение>, которое является условием выполнения цикла, истинно (не равно 0). Отличие цикла while от цикла do…while заключается в том, что в последнем случае сначала выполняется <оператор>, потом проверяется условие и, если оно истинно, то заново выполняется <оператор> и т.д. Таким образом, <оператор> будет обязательно выполнен хотя бы один раз. В цикле while сначала проверяется истинность <выражения> и только потом выполняется <оператор>.

При использовании этих циклов неявно полагается, что до начала выполнения цикла присвоены начальные значения переменным, входящим в <выражение>, и, что при выполнении <оператора> некоторые из этих переменных изменяются таким образом, чтобы в какой-то момент времени <выражение> стало ложным (равным 0) цикл завершил свою работу.

Цикл for

При использовании цикла for инициализация переменных и их изменение указывается в самом цикле. Записывается это следующим образом:

for ([<выражение1>];[<выражение2>];[<выражение3>]) <оператор>;

Здесь <выражение1> – необязательная часть оператора, которая обычно используется для задания начальных значений переменным цикла;

<выражение2> – необязательная часть оператора, которая задаёт условие выполнения цикла;

48