Программирование ветвлений
Лекция 4. Операторы цикла for и do while.
Оператор цикла for удобно использовать, если заранее известно (или может быть вычислено) количество повторений цикла.
Пример оператора for:
/* вычисление суммы n вещественных чисел */
for (s=0, i = 1; i<=n; i++)
{ scanf(“%f”, &x);
s = s + x;
}
Здесь цикл выполняется n раз.
Этот фрагмент можно записать и с помощью оператора цикла while:
/* вычисление суммы n вещественных чисел */
s = 0; i = 1;
while (i <= n)
{ scanf(“%f”, &x);
s = s + x;
i++;
}
Оператор цикла for имеет вид
for ( [ выражение1 ]; [ выражение2 ]; [ выражение3 ] )
оператор s;
Выражение1 и выражение3 могут содержать запятые.
Схема работы оператора цикла for представлена на рис.4.1.
Рис. 4.1. Схема работы оператора цикла for
Эквивалентный оператор while имеет вид:
выражение1;
while (выражение2)
{ оператор s;
выражение3;
}
Любое из выражений в операторе for может отсутствовать, например может отсутствовать выражение1, если не требуются подготовительные действия. В частном случае могут отсутствовать все выражения, тогда получим условие бесконечного цикла. Прервать цикл можно оператором break, например, при обнаружении некоторого условия:
|
|
for (;;)
{ …
break;
….
}
Оператор завершения break иногда полезен для “аварийного” выхода из цикла, часто позволяет избежать сложных проверок, но затрудняет понимание программы.