Break y continue en C: ejercicio resuelto con bucles

Break y continue en C: ejercicio resuelto

Si buscas break y continue en C con ejercicio resuelto, aquí tienes los dos patrones más habituales: salir anticipadamente de un bucle con break y saltar una iteración con continue.

Ambas palabras clave funcionan en for, while y do-while. La diferencia es directa: break termina el bucle completo; continue pasa a la siguiente iteración ignorando el resto del cuerpo actual.

Enunciado

Escribe un programa que recorra los números del 1 al 20 y:

  1. Imprima solo los impares (usa continue para saltar los pares).
  2. Detenga la impresión al alcanzar el primer múltiplo de 7 mayor que 10 (usa break).

Solución en C

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#include <stdio.h>

int main(void) {
    for (int i = 1; i <= 20; i++) {
        if (i % 2 == 0) continue;        /* salta pares */
        if (i % 7 == 0 && i > 10) break; /* para en múltiplo de 7 > 10 */
        printf("%d\n", i);
    }
    return 0;
}

Resultado esperado

1
2
3
4
5
6
7
1
3
5
7
9
11
13

Errores frecuentes

  • Usar break dentro de un switch anidado en un bucle: solo sale del switch, no del bucle exterior.
  • Confundir continue con break: continue no termina el bucle, solo salta al siguiente ciclo.
  • Abusar de ambas sentencias haciendo el flujo difícil de seguir; a veces es mejor ajustar la condición del bucle.
  • Olvidar que en un for, continue salta al incremento (no a la condición directamente).

Aplicación práctica

break se usa para salir de bucles de búsqueda en cuanto se encuentra el elemento. continue filtra elementos no deseados sin anidar condicionales extra, manteniendo el código más plano y legible.

Siguiente ejercicio recomendado

Práctica guiada y libro completo

Si quieres una ruta completa con progresión real de dificultad:

FAQ

¿break dentro de un switch dentro de un for sale del for?

No. break solo sale del bloque más cercano (switch, for, while o do-while). Para salir del for desde dentro de un switch necesitas una variable de control o usar goto (con precaución).

¿continue funciona igual en for, while y do-while?

Sí, pero el punto de salto varía: en for salta al incremento (i++), en while y do-while salta directamente a la evaluación de la condición.

¿Cuándo es mejor reestructurar el bucle en lugar de usar break o continue?

Cuando el uso de estas sentencias dificulta la lectura. A veces ajustar la condición de salida o extraer el cuerpo a una función resulta más claro que colocar break o continue en medio del cuerpo del bucle.