Цикл do-while в C++: синтаксис, примеры и вложенные циклы
Что такое цикл do-while?
do-while — это управляющая конструкция, которая выполняет блок кода как минимум один раз и повторяет его, пока заданное условие истинно. В отличие от обычного while, условие проверяется после тела цикла, гарантируя хотя бы одно выполнение независимо от начального значения условия.
Когда использовать do-while?
Применяйте do-while, когда нужно:
- Гарантированное хотя бы одно выполнение тела.
- Число итераций определяется во время выполнения.
- Подход «сначала запрос», например, чтение пользовательского ввода до ввода сигнального значения.
Синтаксис
do {
// тело цикла
} while (условие);
Тело цикла стоит перед ключевым словом while, поэтому компилятор сначала выполняет тело, затем проверяет условие для решения о повторении.
Принцип работы
Шаги блок-схемы:
- Начало цикла.
- Выполнение тела цикла.
- Оценка условия.
- Если true — возврат к шагу 2.
- Если false — выход из цикла и продолжение после него.
Пример 1: Счётчик с do-while
#include <iostream>
using namespace std;
int main() {
int x = 1;
do {
cout << "X is: " << x << endl;
++x;
} while (x < 5);
return 0;
}
Вывод:

Цикл печатает значения 1–4, так как условие x < 5 становится ложным после того, как x достигает 5.
Пример 2: Суммирование чисел до ввода нуля
#include <iostream>
using namespace std;
int main() {
int num, sum = 0;
do {
cout << "Enter a number: ";
cin >> num;
sum += num;
} while (num != 0);
cout << "Sum is " << sum;
return 0;
}
Вывод:

Цикл продолжается, пока пользователь не введёт 0, обеспечивая обработку хотя бы одного числа.
Вложенные циклы do-while
Размещение одного do-while внутри другого создаёт вложенную структуру, полезную для многомерных итераций: печать сетки, составные вычисления.
Синтаксис
do {
// внешнее тело
do {
// внутреннее тело
} while (inner_condition);
} while (outer_condition);
Принцип работы
Выполнение идёт так:
- Инициализация внешних переменных.
- Вход во внешнее тело.
- Вход во внутреннее тело.
- После каждой внутренней итерации проверка
inner_conditionдля решения о продолжении внутреннего цикла. - Когда внутренний цикл заканчивается, обновляются внешние переменные и проверяется
outer_conditionдля решения о повторении внешнего цикла.
Пример
#include <iostream>
using namespace std;
int main() {
int a = 1;
do {
int b = 1;
do {
cout << a << "\n";
++b;
} while (b <= 3);
++a;
} while (a <= 3);
return 0;
}
Вывод:

Ключевые выводы
- Цикл do-while гарантирует хотя бы одно выполнение тела.
- Используйте, когда число итераций неизвестно до времени выполнения.
- Условие проверяется после тела, а не перед.
- Вложенные циклы позволяют многоуровневую итерацию, но следите за сложностью и читаемостью.
Язык C
- Иллюстрация сложения переменных напряжений с помощью комплексных чисел
- Указатели в C++: концепции, примеры и практические применения
- Тип данных char в C++: объявление, ASCII и методы преобразования
- Перегрузка операторов в C++: практическое руководство с примерами кода
- Структуры (struct) в C++: объяснение с практическим примером
- Освоение std::list в C++: синтаксис, функции и практические примеры
- Функции в C++: подробное объяснение с практическими примерами кода
- Коллекции в C#: практическое руководство с реальными примерами
- Циклы while и do-while: наглядное сравнение с практическими примерами
- Мастерство метода str.count() в Python: как подсчитывать символы и подстроки с примерами