Bucle do‑while en C++: Sintaxis, ejemplos prácticos y bucles anidados
¿Qué es un bucle do‑while?
El bucle do‑while es una construcción de control de flujo que ejecuta un bloque de código al menos una vez y lo repite mientras una condición especificada siga siendo verdadera. A diferencia del bucle while estándar, la condición se evalúa después del cuerpo del bucle, garantizando una ejecución independientemente del valor inicial de la condición.
Cuándo usar un bucle do‑while
Use un bucle do‑while cuando necesite:
- Al menos una ejecución del cuerpo del bucle.
- Que el número de iteraciones se determine en tiempo de ejecución.
- Un enfoque de "preguntar primero", como leer entrada de usuario hasta que se ingrese un valor centinela.
Sintaxis
do {
// código
} while (condición);
El cuerpo del bucle precede a la condición while, por lo que el compilador ejecuta el cuerpo primero y luego verifica la condición para decidir si itera de nuevo.
Cómo funciona
Pasos del diagrama de flujo:
- Iniciar el bucle.
- Ejecutar el cuerpo del bucle.
- Evaluar la condición.
- Si es true, repetir desde el paso 2.
- Si es false, salir del bucle y continuar con las sentencias siguientes.
Ejemplo 1: Conteo con bucle do‑while
#include <iostream>
using namespace std;
int main() {
int x = 1;
do {
cout << "X es: " << x << endl;
++x;
} while (x < 5);
return 0;
}
Salida:

El bucle imprime valores del 1 al 4 porque la condición x < 5 se vuelve falsa cuando x llega a 5.
Ejemplo 2: Sumar números hasta que se ingrese cero
#include <iostream>
using namespace std;
int main() {
int num, sum = 0;
do {
cout << "Ingrese un número: ";
cin >> num;
sum += num;
} while (num != 0);
cout << "La suma es " << sum;
return 0;
}
Salida:

En este ejemplo, el bucle continúa hasta que el usuario ingresa 0, asegurando que al menos un número se procese.
Bucles do‑while anidados
Colocar un bucle do‑while dentro de otro crea una estructura anidada, útil para iteraciones multidimensionales como imprimir una cuadrícula o realizar cálculos compuestos.
Sintaxis
do {
// cuerpo externo
do {
// cuerpo interno
} while (condición_interna);
} while (condición_externa);
Cómo funciona
La ejecución procede así:
- Inicializar variables externas.
- Entrar en el cuerpo del bucle externo.
- Entrar en el cuerpo del bucle interno.
- Tras cada iteración interna, evaluar
condición_internapara decidir si continuar el bucle interno. - Una vez finalizado el bucle interno, actualizar variables externas y evaluar
condición_externapara decidir si repetir el bucle externo.
Ejemplo
#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;
}
Salida:

Conclusiones clave
- El bucle do‑while garantiza al menos una ejecución del cuerpo del bucle.
- Úselo cuando el conteo de iteraciones se desconoce hasta tiempo de ejecución.
- La condición del bucle se verifica después del cuerpo, no antes.
- Los bucles anidados permiten iteración multinivel, pero cuide la complejidad y legibilidad.
Lenguaje C
- Ilustrar la Adición de Voltajes de CA Usando Números Complejos
- Dominando los Bucles for en C++: Guía Paso a Paso
- Dominando punteros en C++: Conceptos, ejemplos y aplicaciones prácticas
- Dominando el tipo de dato char en C++: Declaración, ASCII y técnicas de conversión
- Sobrecarga de operadores en C++: Guía práctica con ejemplos de código
- Structs en C++ explicados con un ejemplo práctico
- Dominar std::list en C++: Sintaxis, Funciones y Ejemplos Prácticos
- Funciones en C++ Explicadas con Ejemplos de Código Prácticos
- Dominando Colecciones en C#: Tutorial Práctico con Ejemplos del Mundo Real
- Bucles While vs. Do-While: Comparación clara con ejemplos prácticos
- Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos