1. Introducción
La importancia de las estructuras repetitivas en C
En programación, los bucles son esenciales para repetir una misma acción varias veces. En C, se utilizan las sentencias for
, while
y, en el caso que nos ocupa, do while
. En este artículo nos centraremos en do while
, explicando desde su uso básico hasta ejemplos prácticos.
2. Fundamentos de do while
Sintaxis básica de do while
La sentencia do while
garantiza que el bloque de código se ejecute al menos una vez. Su sintaxis es la siguiente:
do {
// Instrucciones a ejecutar
} while (condición);
En esta estructura, el bloque do
se ejecuta primero y luego se evalúa la condición. Si la condición resulta true
, el ciclo se repite; si es false
, finaliza.
Diferencias con while
En while
, la condición se evalúa antes de ejecutar el bloque, de modo que solo se ejecuta si es true
. En cambio, do while
siempre ejecuta al menos una vez el bloque antes de evaluar la condición.
3. Cuándo usar do while
Reintento de entrada del usuario
El do while
resulta útil al validar entradas de usuario. Por ejemplo, al solicitar una contraseña, se puede comprobar la validez de la primera entrada y, si es incorrecta, volver a solicitarla fácilmente.
Bucles en juegos
En programas de juegos, se utiliza do while
cuando el jugador continúa repitiendo una acción hasta elegir “salir”. Mientras seleccione “continuar”, el bucle se ejecuta.
4. Ejemplos de código con do while
Ejemplo básico de do while
#include <stdio.h>
int main() {
int i = 0;
do {
printf("Cuenta: %d\n", i);
i++;
} while (i < 5);
return 0;
}
En este caso, el bloque do
se ejecuta primero y se repite mientras i
sea menor que 5. El resultado es la impresión de los números del 0
al 4
.
Ejemplo con entrada del usuario
#include <stdio.h>
int main() {
int number;
do {
printf("Ingrese un número entre 1 y 10: ");
scanf("%d", &number);
} while (number < 1 || number > 10);
printf("Número ingresado: %d\n", number);
return 0;
}
El programa solicita un número y repite la petición hasta que se introduzca uno dentro del rango 1–10.

5. Bucles infinitos y control
Creación de un bucle infinito
do {
// Se repite indefinidamente
} while (1);
Controlar un bucle infinito
Para salir o controlar bucles infinitos se utilizan break
y continue
:
break
: interrumpe el bucle.continue
: salta al siguiente ciclo.
#include <stdio.h>
int main() {
int count = 0;
do {
printf("Iteración: %d\n", count);
count++;
if (count > 5) {
break;
}
} while (1);
return 0;
}
El bucle termina cuando count
supera 5 gracias al break
.
6. do while con múltiples condiciones
Uso de operadores lógicos
do {
// Instrucciones
} while (cond1 && cond2);
Ejemplo con condiciones complejas
#include <stdio.h>
int main() {
int number;
do {
printf("Ingrese un número entre 1 y 100: ");
scanf("%d", &number);
} while (number < 1 || number > 100);
printf("Número ingresado: %d\n", number);
return 0;
}
Este programa repite la entrada hasta que el número esté en el rango de 1 a 100.
7. Conclusión
La sentencia do while
es útil cuando se necesita ejecutar un bloque al menos una vez. Saber elegir entre while
y do while
aumenta la flexibilidad de los programas. Además, con break
, continue
y operadores lógicos se pueden construir bucles más sofisticados.
8. Ejercicio práctico
Enunciado
Solicite al usuario un número entre 1 y 10. Si no lo cumple, pida otra vez. Cuando el número sea válido, muestre el doble de su valor.
Solución
#include <stdio.h>
int main() {
int number;
do {
printf("Ingrese un número entre 1 y 10: ");
scanf("%d", &number);
} while (number < 1 || number > 10);
printf("El doble del número ingresado es: %d\n", number * 2);
return 0;
}
9. Información adicional
Después de dominar do while
, conviene estudiar las diferencias con for
y while
. El siguiente paso importante en C es comprender los punteros, fundamentales para programar a un nivel más avanzado.