Операторы циклов
программированиелекция
что было
оглавление
оглавление
Разновидности циклических конструкций в C++: циклы for, while и do-while, а также операторы управления циклом break и continue.
Выбор цикла зависит от задачи: если количество итераций известно — используем for, если нет — while или do-while.
Цикл for
Циклы — это разновидность условных конструкций, действия которых заключаются в последовательном повторении определенной части программы заданное количество раз.
В C/C++ существует 3 типа циклов: `for`, `while` и `do-while`.
Цикл `for` используют, когда заранее известно нужное количество повторений кода. Он состоит из инициализирующего выражения, условия и инкрементирующего выражения. Значение переменной счетчика цикла должно быть задано до его изменения в цикле.
конструкция | когда удобна | где проверяется условие |
|---|---|---|
for | число повторений известно | до итерации |
while | повторяем, пока условие истинно | до итерации |
do-while | нужна хотя бы одна итерация | после итерации |
Циклы while и do-while
Если заранее неизвестно, сколько раз потребуется выполнить цикл, можно использовать оператор `while`. Используя `while`, нужно следить за тем, чтобы выход из цикла был возможен, иначе он будет выполняться бесконечно.
Цикл `do-while` — это цикл с постусловием. Он сначала выполняет одну итерацию (тело цикла) и только потом проверяет условие продолжения.
Управление циклами: break и continue
Когда необходимо вмешаться в работу цикла, используются операторы `break` и `continue`.
Оператор `break` прерывает выполнение всего цикла. Например, если при вычислении суммы значение превысит максимум, цикл можно немедленно прервать.
Если необходимо пропустить только одну текущую итерацию и перейти к следующей (например, пропустить вывод чисел, делящихся на 3), используют операцию `continue`.
Безопасное условие выхода
У любого цикла должно быть изменение состояния, которое приближает условие к завершению. Иначе программа может попасть в бесконечный цикл.
Сумма чисел от 1 до 10
условие: Найти сумму целых чисел от 1 до 10.
ход решения
Создать аккумулятор `sum` со значением 0.
Запустить `for` со счётчиком от 1 до 10 включительно.
На каждой итерации прибавлять счётчик к аккумулятору.
ответ: После десяти итераций `sum` равно 55.
проверка: Счётчик увеличивается и условие цикла становится ложным.
что запомнить
for — когда известно число итераций.
while — с предусловием, do-while — с постусловием.
break выходит из цикла, continue переходит на следующую итерацию.
самопроверка
В чем отличие while от do-while?
Как досрочно завершить текущую итерацию цикла?
Какое изменение состояния предотвращает бесконечный цикл?
источники
редакционная сверка: Рабочий проект стандарта C++: операторы цикла — https://eel.is/c++draft/stmt.iter
что сделать
Заданий нет
благодарность
Ученик ЭМФ-1-34