<MyRusakov.ru />

Профессиональная Web-разработка. Дизайн, код и автоматизация

Профессиональная Web-разработка. Дизайн, код и автоматизация

Это очень подробный курс из разряда "всё включено". Разбираются следующие темы: HTML, CSS, SCSS, JavaScript, PHP, SQL, Laravel, Nginx, PostCSS, npm, Vite, Vitest, Composer, PHPUnit, Prettier, Stylelint, ESLint, Pint, Larastan, Git, Agile, Scrum, Docker, Supervisord, Figma, Stitch AI, Confluence, Jira.

Рассчитан и на новичков, и на тех, кто уже знаком с основами, но хочет освоить полный цикл разработки.

Помимо самой теории, Вы увидите пример создания Web-проекта на 20 000 строк кода: от идеи и документации на Confluence через планирование на Jira, fullstack-разработку до деплоя на VPS.

Помимо уроков, курс содержит упражнения для закрепления знаний и финальное тестирование. А ещё Вы получите 5 полноценных Бонусных курсов: «GitLab под ключ», «Вёрстка сайта с нуля 2.0», «JavaScript с Нуля до Гуру 2.0», «PHP и MySQL с Нуля до Гуру 3.0» и «Laravel от А до Я».

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Циклы в C++: for, while и do while — практическое руководство для начинающих

Циклы в C++: for, while и do while — практическое руководство для начинающих

Поисковый запрос, под который написана эта статья: циклы в C++ для начинающих. Если вы только изучаете язык, циклы — одна из первых тем, без которой невозможно писать практичные программы. С их помощью можно повторять действия, обрабатывать последовательности данных, делать меню, проверять ввод и решать большинство учебных задач.

Что такое цикл в C++

Цикл — это конструкция, которая выполняет блок кода несколько раз, пока выполняется заданное условие. В C++ чаще всего используют три вида циклов:

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

Начнём с самого популярного варианта.

Цикл for в C++

Цикл for удобен, когда нужно выполнить код определённое количество раз. Общая форма выглядит так:

for (инициализация; условие; изменение) {
    // код, который повторяется
}

Пример: выведем числа от 1 до 5.

#include <iostream>

int main() {
    for (int i = 1; i <= 5; i++) {
        std::cout << i << " ";
    }

    return 0;
}

Что здесь происходит:

  • int i = 1 — создаём счётчик;
  • i <= 5 — цикл работает, пока условие истинно;
  • i++ — после каждой итерации увеличиваем счётчик на 1.

Результат:

1 2 3 4 5

Обратный отсчёт через for

Счётчик можно не только увеличивать, но и уменьшать:

#include <iostream>

int main() {
    for (int i = 5; i >= 1; i--) {
        std::cout << i << " ";
    }

    std::cout << "Старт!";
    return 0;
}

Такой подход часто используется в таймерах, играх, учебных задачах и генерации последовательностей.

Цикл while в C++

Цикл while выполняется, пока условие истинно. Его удобно применять, когда заранее неизвестно, сколько раз нужно повторять действие.

while (условие) {
    // код цикла
}

Например, попросим пользователя вводить положительные числа. Если он введёт 0 или отрицательное число, программа завершит цикл.

#include <iostream>

int main() {
    int number;

    std::cout << "Введите положительное число: ";
    std::cin >> number;

    while (number > 0) {
        std::cout << "Вы ввели: " << number << std::endl;
        std::cout << "Введите следующее число: ";
        std::cin >> number;
    }

    std::cout << "Цикл завершён.";
    return 0;
}

Здесь цикл зависит не от счётчика, а от пользовательского ввода. Это типичный сценарий для while.

Цикл do while: выполнить хотя бы один раз

Главное отличие do while от while в том, что условие проверяется после выполнения тела цикла. Поэтому код внутри выполнится минимум один раз.

do {
    // код цикла
} while (условие);

Практический пример — простое меню:

#include <iostream>

int main() {
    int choice;

    do {
        std::cout << "\nМеню:\n";
        std::cout << "1. Сказать привет\n";
        std::cout << "2. Показать версию\n";
        std::cout << "0. Выход\n";
        std::cout << "Ваш выбор: ";
        std::cin >> choice;

        if (choice == 1) {
            std::cout << "Привет!\n";
        } else if (choice == 2) {
            std::cout << "Версия 1.0\n";
        }
    } while (choice != 0);

    std::cout << "До свидания!";
    return 0;
}

Меню должно появиться хотя бы один раз, поэтому do while здесь подходит лучше обычного while.

break: досрочный выход из цикла

Оператор break немедленно завершает ближайший цикл. Например, найдём первое число, которое делится на 7:

#include <iostream>

int main() {
    for (int i = 1; i <= 100; i++) {
        if (i % 7 == 0) {
            std::cout << "Первое число: " << i;
            break;
        }
    }

    return 0;
}

Без break цикл продолжил бы работу до 100, хотя нужный ответ уже найден.

continue: перейти к следующей итерации

Оператор continue пропускает оставшуюся часть текущей итерации и переходит к следующей. Например, выведем только нечётные числа:

#include <iostream>

int main() {
    for (int i = 1; i <= 10; i++) {
        if (i % 2 == 0) {
            continue;
        }

        std::cout << i << " ";
    }

    return 0;
}

Если число чётное, команда вывода не выполняется.

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

Один цикл можно поместить внутрь другого. Это называется вложенный цикл. Например, выведем таблицу умножения:

#include <iostream>

int main() {
    for (int i = 1; i <= 5; i++) {
        for (int j = 1; j <= 5; j++) {
            std::cout << i * j << "\t";
        }
        std::cout << std::endl;
    }

    return 0;
}

Внешний цикл отвечает за строки, внутренний — за столбцы. Важно помнить: если внешний цикл выполняется 5 раз, а внутренний тоже 5 раз, тело внутреннего цикла выполнится 25 раз.

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

  • Бесконечный цикл. Например, забыли изменить счётчик или условие никогда не становится ложным.
  • Неверный знак сравнения: вместо <= написали < и потеряли последнюю итерацию.
  • Лишняя точка с запятой после for или while, из-за которой тело цикла работает не так, как ожидается.
  • Слишком сложное условие. Если условие трудно читать, лучше вынести часть логики в отдельные переменные.

Пример опасной ошибки:

int i = 1;
while (i <= 5) {
    std::cout << i << " ";
    // забыли i++
}

Такой цикл будет выполняться бесконечно, потому что значение i не меняется.

Как выбрать нужный цикл

  • Используйте for, если известно количество повторений.
  • Используйте while, если цикл зависит от условия, ввода пользователя или состояния программы.
  • Используйте do while, если действие нужно выполнить минимум один раз.
  • Используйте break, когда результат найден и продолжать цикл нет смысла.
  • Используйте continue, когда нужно пропустить отдельные случаи.

Практическое задание

Попробуйте написать программу, которая запрашивает у пользователя числа и считает их сумму, пока пользователь не введёт 0. Это отличное упражнение на while:

#include <iostream>

int main() {
    int number;
    int sum = 0;

    std::cout << "Введите числа, 0 для выхода:\n";

    while (true) {
        std::cin >> number;

        if (number == 0) {
            break;
        }

        sum += number;
    }

    std::cout << "Сумма: " << sum;
    return 0;
}

Если хотите не просто читать отдельные статьи, а последовательно пройти синтаксис, практику, задачи и проекты, обратите внимание на курс «Программирование на C++ с Нуля до Гуру» — понятный путь от первых программ до уверенного владения C++.

Итоги

Циклы в C++ — базовый инструмент, который используется почти в каждой программе. for подходит для счётчиков и диапазонов, while — для условий с неизвестным числом повторений, а do while — для меню и сценариев, где нужно выполнить действие хотя бы один раз. Чем больше практики с циклами, тем легче вам будет работать с массивами, строками, алгоритмами и реальными задачами.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (https://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: https://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.