Bucles while en C: cómo evitar ciclos infinitos
Clase 6 de 13 • Curso de Control de Flujo en C
Contenido del curso
Toma de decisiones
Control de Bucles en C
Uso de las instrucciones break y continue
Cierre
Los bucles en C son la base del control de flujo repetitivo: con while y do-while controlas cuándo repetir y cuándo salir. Aquí verás cómo funciona el ciclo while, cómo evitar un bucle infinito y un ejemplo práctico con salida en consola usando printf.
¿Qué es un bucle while en C y cómo se evalúa la condición?
En C, while evalúa una expresión booleana: si es 1 (true), el bloque se ejecuta; si es 0, se detiene y el programa continúa después del bloque. En otras palabras: mientras la condición se cumpla, el código se repite. Cuando deja de cumplirse, el flujo continúa.
- La condición usa valores enteros: 1 es verdadero, 0 es falso.
- Tú controlas el ciclo: debes modificar algo dentro del while para que en algún momento la condición sea falsa.
- Idea clave: tú eres quien controla el while; si no le das una salida, el programa se quedará “atorado”.
¿Cómo evitar un bucle infinito con la variable de control?
- Define una variable de control que cambie en cada iteración.
- Aplica una operación aritmética que acerque la condición a ser falsa (por ejemplo, restar 1).
- Verifica la condición de salida con atención: cuando deje de cumplirse, el bucle termina y el programa sigue.
¿Qué pasa si la condición es falsa desde el inicio?
- Si la expresión se evalúa a 0 al inicio, while no ejecuta ni una sola vez.
- Ejemplo conceptual: si n inicia en 10 y la condición es n > 10, no entra al bucle.
¿Cómo implementar un while en C con un ejemplo práctico?
A continuación, un ejemplo simple que muestra el flujo: iniciamos n en 20, imprimimos su valor mientras n > 10 y restamos 1 en cada iteración. Al terminar, avisamos con un mensaje claro en consola.
#include <stdio.h>
int main() {
int n = 20;
while (n > 10) {
printf("n es igual a %d\n", n);
n = n - 1;
}
printf("Hemos salido del bucle porque n es igual o menor que diez.\n");
return 0;
}
- Palabras clave del ejemplo: while, condición booleana, variable de control n, decremento, salida del bucle.
- Buenas prácticas: corrige la indentación para legibilidad; mantén mensajes claros en la salida.
¿Qué imprime el programa y por qué?
- Imprime los valores: 20, 19, 18, …, 11.
- Cuando n pasa a 10, la condición n > 10 es falsa y sale del while.
- Luego muestra: “Hemos salido del bucle porque n es igual o menor que diez.”
¿Cómo nombrar y guardar el archivo fuente?
- Usa un nombre claro: while.c.
- En Visual Studio Code: crea con Ctrl+n y guarda con Ctrl+s.
¿Qué rol cumple printf y el formato %d con salto de línea?
- printf muestra el valor de n con %d para enteros.
- Usa \n para el salto de línea, así cada valor aparece en una línea nueva.
¿Cuándo usar do-while para ejecutar al menos una vez?
Cuando el programa requiere entrar al ciclo al menos una vez, incluso si la condición es falsa al inicio, recurre a do-while. A diferencia de while, do-while ejecuta primero el bloque y luego evalúa la condición. Se abordará a detalle en la siguiente sesión.
¿Te surgieron dudas sobre la condición de salida o el uso de printf? Comparte tu pregunta y el caso que estás probando en los comentarios.