05. Циклы

Что такое цикл

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

Типы циклов в C++

  • for — используется, когда известно, сколько раз нужно повторить действие.
  • while — выполняется, пока условие истинно.
  • do...while — выполняется хотя бы один раз, а потом проверяет условие.

Цикл for

Он состоит из трёх частей: начальное значение, условие и изменение счётчика.

Пример


#include <iostream>
using namespace std;

int main() { for (int i = 1; i <= 5; i++) { cout << "Шаг: " << i << endl; } return 0; }

Разбор кода

  • int i = 1 — создаёт переменную-счётчик, начинающую с 1.
  • i <= 5 — условие, пока i не станет больше 5.
  • i++ — увеличивает i на 1 после каждого прохода.

Результат

Шаг: 1 Шаг: 2 Шаг: 3 Шаг: 4 Шаг: 5

Цикл while

Этот цикл повторяет код, пока условие остаётся истинным.

Пример


#include <iostream>
using namespace std;

int main() { int number = 1; while (number <= 5) { cout << number << endl; number++; } return 0; }

Как это работает

  • Сначала проверяется условие number <= 5.
  • Если оно верно — выполняется тело цикла.
  • Когда условие становится ложным — цикл завершается.

Цикл do...while

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

Пример


#include <iostream>
using namespace std;

int main() { int x = 6; do { cout << "Значение: " << x << endl; x++; } while (x <= 5);

return 0; }

Результат

Значение: 6

Даже если условие (x <= 5) было ложным — код всё равно выполнился один раз.

Прерывание и пропуск итераций

Иногда нужно прервать цикл или пропустить один шаг.

Команда break

Прерывает выполнение цикла полностью.

for (int i = 1; i <= 10; i++) {
    if (i == 5) break;
    cout << i << " ";
}
Вывод: 1 2 3 4

Команда continue

Пропускает текущий шаг и переходит к следующему.

for (int i = 1; i <= 5; i++) {
    if (i == 3) continue;
    cout << i << " ";
}
Вывод: 1 2 4 5

Вложенные циклы

Циклы можно помещать друг в друга. Например, для таблицы умножения.

#include <iostream>
using namespace std;

int main() { for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { cout << i << " * " << j << " = " << i * j << endl; } cout << endl; // разделяем строки } return 0; }

Результат

1 * 1 = 1 1 * 2 = 2 1 * 3 = 3

2 * 1 = 2 2 * 2 = 4 2 * 3 = 6

3 * 1 = 3 3 * 2 = 6 3 * 3 = 9

Типичные ошибки новичков

  • Бесконечный цикл: забыли увеличить счётчик (например, i++).
  • Неправильное условие (например, i >= 0 вместо i > 0).
  • Изменение счётчика внутри тела в неправильном месте.

Мини-практика

Попробуйте выполнить:
  • Создайте цикл, который выводит числа от 10 до 1 в обратном порядке.
  • Сделайте программу, которая запрашивает пароль до тех пор, пока пользователь не введёт правильный.
  • Напишите цикл, который выводит только чётные числа от 1 до 20.

Пример: обратный отсчёт


#include <iostream>
using namespace std;

int main() { for (int i = 10; i >= 1; i--) { cout << i << "..." << endl; } cout << "Пуск!" << endl; return 0; }

Советы

  • Начинайте с простых циклов, чтобы привыкнуть к логике повторений.
  • Добавляйте вывод отладки (cout) — так легче понять, как меняется счётчик.
  • Если программа зависла — возможно, вы создали бесконечный цикл. Остановите выполнение и проверьте условие.

Итоги урока

Теперь вы умеете:
  • Создавать циклы for, while и do-while.
  • Использовать break и continue для управления потоком.
  • Работать с вложенными циклами.
  • Создавать таблицы, счётчики и повторяющиеся операции.