Шаблоны циклов: for, while, do-while
Выполняйте итерации с помощью трёх классических форм циклов и выбирайте подходящую для каждой ситуации.
«Шаблоны циклов: for, while, do-while» — бесплатный урок C++ Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C++ Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C++ Academy содержит 4 уроков всего.
Цикл for
Классический цикл с индексом. Используйте его, когда известно необходимое число итераций.
for (int i = 0; i < 10; ++i) {
std::cout << i << " ";
}Строение цикла for
Три части, разделённые точками с запятой:
- Инициализация — выполняется один раз перед циклом
- Условие — проверяется перед каждой итерацией
- Обновление — выполняется после каждой итерации
Любая часть может быть пустой.
Обратный отсчёт
Уменьшайте значение, чтобы выполнять итерации в обратном порядке. Внимательно следите за границей.
for (int i = 9; i >= 0; --i) {
std::cout << i << " ";
}Цикл while
Выполняйте цикл, пока условие истинно. Используйте его, когда число итераций зависит от состояния во время выполнения программы.
int n = 100;
while (n > 1) {
std::cout << n << " ";
n /= 2;
}Цикл do-while
Похож на while, но тело выполняется хотя бы один раз — условие проверяется в конце. Полезен для проверки ввода.
int n;
do {
std::cout << "Enter 1-9: ";
std::cin >> n;
} while (n < 1 || n > 9);Бесконечные циклы
Иногда нужен цикл, который выполняется до break. Идиоматичные формы:
for (;;) { /* ... */ } // C-style
while (true) { /* ... */ } // arguably clearerbreak: досрочный выход
break немедленно останавливает самый внутренний цикл или switch.
for (int i = 0; i < n; ++i) {
if (a[i] == target) {
index = i;
break;
}
}continue: переход к следующей итерации
continue переходит к следующей итерации, не выполняя оставшуюся часть тела.
for (int i = 1; i <= 100; ++i) {
if (i % 2 == 0) continue;
std::cout << i << " "; // print odd numbers
}Вложенные циклы
Циклы можно вкладывать друг в друга. break внутреннего цикла выходит только из внутреннего цикла — для ясности используйте флаг или вынесите логику в функцию.
Выбор подходящего цикла
Краткое руководство:
- Известное количество итераций →
for - До изменения условия →
while - Выполнить хотя бы один раз →
do-while - Обход контейнера → цикл for по диапазону (в следующем уроке)
Ошибки на единицу
Самая распространённая ошибка в циклах — выполнить на одну итерацию больше или меньше. При индексировании массивов предпочитайте < вместе с size() и проверяйте границы на бумаге или с помощью тестов.
Быстрая проверка
Какой цикл гарантированно выполняет своё тело хотя бы один раз?
Итоги
Выбирайте for для известного количества итераций, while — для циклов, управляемых условием, а do-while — когда тело должно выполниться хотя бы один раз. Используйте break и continue умеренно, чтобы код оставался понятным.
Часто задаваемые вопросы
Урок «Шаблоны циклов: for, while, do-while» бесплатный?
Да — полный текст урока «Шаблоны циклов: for, while, do-while» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C++ Academy, подпишись на CoddyKit PRO. Курс C++ Academy содержит 4 уроков всего.
Чему я научусь в уроке «Шаблоны циклов: for, while, do-while»?
Выполняйте итерации с помощью трёх классических форм циклов и выбирайте подходящую для каждой ситуации. Ты практикуешь C++ Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать C++ Academy?
Предыдущий опыт не требуется. C++ Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Шаблоны циклов: for, while, do-while»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке C++ Academy?
Да. Каждый урок C++ Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Ветвление: if-else, тернарный оператор, switch-case
- Шаблоны циклов: for, while, do-while
- Цикл for на основе диапазона с контейнерами
- Досрочный возврат, break, continue и goto