Dominando bucles en C: For, While y Do-While explicados con ejemplos prácticos
¿Qué es un bucle en C?
Un bucle repite un bloque de sentencias hasta que una condición especificada se vuelve falsa. En C, un bucle consiste en un cuerpo y una sentencia de control que dicta cuántas veces se ejecuta el cuerpo. Dominar los bucles es esencial para escribir programas en C eficientes y legibles.
En este tutorial descubrirás:
- Definición y propósito de los bucles en C
- Tipos de bucles: controlados por entrada vs. controlados por salida
- Fundamentos del bucle while
- Fundamentos del bucle do-while
- Fundamentos del bucle for
- Uso de
breakycontinue - Elegir el bucle adecuado para un escenario dado
Tipos de bucles en C
Los bucles de C se clasifican por la posición de su condición de control:
- Bucles controlados por entrada – la condición se evalúa antes de que se ejecute el cuerpo (p. ej.,
whileyfor). - Bucles controlados por salida – la condición se evalúa después de que se ejecuta el cuerpo (p. ej.,
do-while).
Un bucle infinito ocurre cuando el bucle nunca satisface su condición de terminación. Causas comunes incluyen falta de verificación de terminación o una condición siempre verdadera.
Bucle While en C
El bucle while es la forma más simple de un bucle controlado por entrada. Su sintaxis es:
while (condicion) { sentencias; }
La condición se evalúa primero; si es verdadera, el cuerpo se ejecuta. Después de cada ejecución, la condición se reevalúa hasta que se vuelve falsa.
Ejemplo – imprimir números del 1 al 10:
#include <stdio.h> int main() { int num = 1; while (num <= 10) { printf("%d\n", num); num++; } return 0; }
Salida:
1 2 3 4 5 6 7 8 9 10
Bucle Do-While en C
El bucle do-while garantiza que el cuerpo se ejecute al menos una vez, lo que lo convierte en un bucle controlado por salida. Sintaxis:
do { sentencias; } while (condicion);
Ejemplo – imprimir la tabla de multiplicar del 2 hasta 10:
#include <stdio.h> int main() { int num = 1; do { printf("%d\n", 2 * num); num++; } while (num <= 10); return 0; }
Salida:
2 4 6 8 10 12 14 16 18 20
Bucle For en C
El bucle for es altamente eficiente para iterar con un inicio, fin y paso conocidos. Sintaxis:
for (inicializacion; condicion; incremento) { sentencias; }
- La inicialización se ejecuta una vez.
- La condición se verifica antes de cada iteración.
- El incremento actualiza la variable del bucle.
Ejemplo – imprimir números del 1 al 10:
#include <stdio.h> int main() { for (int numero = 1; numero <= 10; numero++) { printf("%d\n", numero); } return 0; }
Salida:
1 2 3 4 5 6 7 8 9 10
Los bucles for complejos pueden incluir múltiples expresiones e incluso componentes vacíos:
for (int i = 0, j = num; i < j; i++, j--) { // sentencias }
Los bucles anidados son comunes, especialmente para arrays multidimensionales. Ejemplo – tablas de multiplicar:
#include <stdio.h> int main() { int i, j; int tabla = 2; int max = 5; for (i = 1; i <= tabla; i++) { for (j = 0; j <= max; j++) { printf("%d x %d = %d\n", i, j, i * j); } printf("\n"); } return 0; }
Salida:
1 x 0 = 0 1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5 2 x 0 = 0 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10
Sentencia Break en C
La palabra clave break sale del bucle o sentencia switch envolvente más cercano inmediatamente. Ejemplo – detener un bucle while cuando un valor alcanza 3:
#include <stdio.h> int main() { int num = 5; while (num > 0) { if (num == 3) break; printf("%d\n", num); num--; } return 0; }
Salida:
5 4
Sentencia Continue en C
La palabra clave continue omite el resto de la iteración actual y pasa al siguiente ciclo del bucle. Ejemplo – omitir la impresión del número 5:
#include <stdio.h> int main() { int nb = 7; while (nb > 0) { nb--; if (nb == 5) continue; printf("%d\n", nb); } return 0; }
Salida:
6 4 3 2 1
Elegir el bucle adecuado
Decide basándote en cuándo debe evaluarse la condición:
- Prueba previa requerida – usa
whileofor. - Prueba posterior requerida – usa
do-while.
Resumen
- Un bucle repite un bloque de código hasta que su condición se vuelve falsa.
- C ofrece tres bucles principales:
while,do-whileyfor. - Los bucles controlados por entrada evalúan la condición antes de cada iteración; los controlados por salida evalúan después.
- Usa
breakpara terminar bucles prematuramente ycontinuepara omitir iteraciones. - Elige el bucle que mejor se adapte a los requisitos de control de flujo de tu algoritmo.
Lenguaje C
- Pinzas Amperimétricas Fluke 772/773: Enfoque Moderno para Resolución de Problemas en Lazos de Automatización
- Dominando Bucles WHILE en Programación CNC SINUMERIK 840D
- Dominando bucles while y do-while en C#: Sintaxis, ejemplos y mejores prácticas
- Dominando el bucle for en C#: Sintaxis, flujo y ejemplos prácticos
- Bucles foreach en C#: Itera arrays y colecciones con facilidad
- Dominando los Bucles for en C++: Guía Paso a Paso
- Bucles While y Do-While en C++: Dominando la Repetición en Tu Código
- Bucles While vs. Do-While: Comparación clara con ejemplos prácticos
- Domine los Bucles en Python: For, While, Break, Continue y Enumerate Explicados
- Programa en Java para Identificar Números de Armstrong Usando Bucle For
- Comprobador de Números Palíndromos en Java: Algoritmos con Bucles While y For