While y do while en C: ejercicios resueltos paso a paso
Si buscas ejercicios while do while en C, aquí tienes ejemplos resueltos y explicados con casos reales de práctica.
La diferencia principal es esta:
whileevalúa la condición antes de ejecutar,do whileejecuta al menos una vez y luego evalúa.
Enunciado
Resuelve estos 4 mini ejercicios:
- pedir un número positivo con
do while, - contar cuántos dígitos tiene un número con
while, - sumar números hasta introducir
0conwhile, - menú de opciones repetitivo con
do while.
Solución en C
#include <stdio.h>
int pedir_positivo(void) {
int n;
do {
printf("Introduce un número positivo: ");
scanf("%d", &n);
} while (n <= 0);
return n;
}
int contar_digitos(int n) {
int contador = 0;
if (n == 0) return 1;
if (n < 0) n = -n;
while (n > 0) {
n /= 10;
contador++;
}
return contador;
}
int suma_hasta_cero(void) {
int suma = 0;
int valor;
printf("Introduce números (0 para terminar):\n");
while (1) {
scanf("%d", &valor);
if (valor == 0) break;
suma += valor;
}
return suma;
}
void menu_simple(void) {
int opcion;
do {
printf("\nMenú:\n");
printf("1) Saludar\n");
printf("2) Mostrar info\n");
printf("0) Salir\n");
printf("Opción: ");
scanf("%d", &opcion);
if (opcion == 1) {
printf("Hola, seguimos practicando C.\n");
} else if (opcion == 2) {
printf("Do while garantiza al menos una ejecución.\n");
}
} while (opcion != 0);
}
int main(void) {
int positivo = pedir_positivo();
printf("Número válido: %d\n", positivo);
printf("Dígitos de %d: %d\n", positivo, contar_digitos(positivo));
int suma = suma_hasta_cero();
printf("Suma total: %d\n", suma);
menu_simple();
return 0;
}Resultado esperado
Introduce un número positivo: -3
Introduce un número positivo: 145
Número válido: 145
Dígitos de 145: 3
Introduce números (0 para terminar):
5
10
-2
0
Suma total: 13
Menú:
1) Saludar
2) Mostrar info
0) Salir
...Errores frecuentes
- Usar
whilecuando necesitas ejecutar el bloque al menos una vez. - No actualizar la variable de control dentro del bucle y quedar en ciclo infinito.
- No validar entradas del usuario en bucles de consola.
- Romper el flujo con
breakmal colocado.
Aplicación práctica
while y do while se usan mucho en:
- validación de formularios por consola,
- menús interactivos,
- lectura repetitiva de datos hasta condición de fin.
Son estructuras básicas para cualquier programa que dependa de entrada del usuario.
Siguiente ejercicio recomendado
- For en C: ejercicios resueltos con acumuladores y contadores
- If else en C: ejercicios resueltos con condicionales anidadas
- Arreglos y vectores en C: ejercicios resueltos básicos
- Todos los ejercicios de C
Práctica guiada y siguiente paso
Si quieres una ruta completa con progresión real de dificultad:
FAQ
¿Cuándo uso while y cuándo do while en C?
Usa while cuando la condición puede ser falsa desde el principio. Usa do while cuando quieres ejecutar al menos una vez.
¿Cómo evito bucles infinitos?
Asegúrate de actualizar la variable de control en cada iteración y de que la condición de salida sea alcanzable.
¿Es importante practicar menús con do while?
Sí, porque mezclan lógica de control, entrada de usuario y validación, que son habilidades básicas en C.