0Pricing
C++ Academy · Урок

Шаблоны циклов: 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 clearer

break: досрочный выход

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 — локальная установка не требуется.

Все уроки этого курса

  1. Ветвление: if-else, тернарный оператор, switch-case
  2. Шаблоны циклов: for, while, do-while
  3. Цикл for на основе диапазона с контейнерами
  4. Досрочный возврат, break, continue и goto
← Назад к C++ Academy