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

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

Оператор цикла for удобно использовать, если заранее известно (или может быть вычислено) количество повторений цикла.

Пример оператора for:

for (s=0,

i = 1; i<=n;

i++)

{

scanf(“%f”, &x);

 

}

s =

s + x ;

 

Здесь цикл выполняется

n раз.

 

Этот фрагмент можно записать и с помощью оператора цикла while:

s = 0; i = 1; while (i <= n)

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

}

Любое из выражений в операторе for может отсутствовать, например может отсутствовать выражение1, если не требуются подготовительные действия. В частном случае могут отсутствовать все выражения, тогда получим условие бесконечного цикла. Прервать цикл можно оператором break, например, при обнаружении некоторого условия:

for (;;)

{

break;

}

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

Другие операторы

Оператор continue

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

49

следующего за прерванным оператором, а с начала прерванного оператора. Формат оператора следующий:

continue;

Пример:

int main()

{int a,b;

for (a=1,b=0; a<100; b+=a,a++)

{if (b%2) continue;

... /* обработка четных сумм */

}

return 0;

}

Когда сумма чисел от 1 до а становится нечетной, оператор continue передает управление на очередную итерацию цикла for, не выполняя операторы обработки четных сумм.

Оператор continue, как и оператор break, прерывает самый внутренний из объемлющих его циклов

Оператор goto

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

Формат этого оператора следующий:

goto имя-метки;

...

имя-метки: оператор;

Оператор goto передает управление на оператор, помеченный меткой имя-метки. Помеченный оператор должен находиться в той же функции, что и оператор goto, а используемая метка должна быть уникальной, т.е. одно имя-метки не может быть использовано для разных операторов программы. Имя-метки - это идентификатор.

Любой оператор в составном операторе может иметь свою метку. Используя оператор goto, можно передавать управление внутрь составного оператора. Но нужно быть осторожным при входе в составной оператор, содержащий объявления переменных с инициализацией, так как объявления

50