Bucles en C: declaraciones de bucle For, While, Do While [Ejemplos]
ยฟQuรฉ es el bucle en C?
Declaraciones en bucle en C Ejecute la secuencia de declaraciones muchas veces hasta que la condiciรณn establecida se vuelva falsa. Un bucle en C consta de dos partes, un cuerpo de bucle y una declaraciรณn de control. La declaraciรณn de control es una combinaciรณn de algunas condiciones que dirigen el cuerpo del bucle para que se ejecute hasta que la condiciรณn especificada se vuelva falsa. El propรณsito del bucle C es repetir el mismo cรณdigo varias veces.
Tipos de bucles en C
Dependiendo de la posiciรณn de una declaraciรณn de control en un programa, la declaraciรณn de bucle en C se clasifica en dos tipos:
1. Bucle controlado de entrada
2. Salir del circuito controlado
En una bucle de control de entrada en C, Se verifica una condiciรณn antes de ejecutar el cuerpo de un bucle. Tambiรฉn se le llama bucle de verificaciรณn previa.
En una bucle controlado de salida, se verifica una condiciรณn despuรฉs de ejecutar el cuerpo de un bucle. Tambiรฉn se le llama bucle de verificaciรณn posterior.

Las condiciones de control deben estar bien definidas y especificadas, de lo contrario el bucle se ejecutarรก un nรบmero infinito de veces. El bucle que no deja de ejecutarse y procesa las sentencias un nรบmero infinito de veces se denomina bucle Bucle infinito. Un bucle infinito tambiรฉn se llama "Ciclo infinito.โLas siguientes son algunas caracterรญsticas de un bucle infinito:
1. No se especifica ninguna condiciรณn de terminaciรณn.
2. Las condiciones especificadas nunca se cumplen.
La condiciรณn especificada determina si se ejecuta el cuerpo del bucle o no.
El lenguaje de programaciรณn 'C' nos proporciona tres tipos de construcciones de bucle:
1. El bucle while
2. El ciclo do- while
3. El bucle for
| Sr. No. | Tipo de bucle | Descripciรณn |
|---|---|---|
| 1. | Mientras bucle | En el bucle while, se evalรบa una condiciรณn antes de procesar el cuerpo del bucle. Si una condiciรณn es verdadera, entonces y sรณlo entonces se ejecuta el cuerpo de un bucle. |
| 2. | Bucle Do-While | En un bucle do... while, la condiciรณn siempre se ejecuta despuรฉs del cuerpo de un bucle. Tambiรฉn se le llama bucle de salida controlada. |
| 3. | En bucle | En un bucle for, el valor inicial se ejecuta solo una vez, luego la condiciรณn prueba y compara el contador con un valor fijo despuรฉs de cada iteraciรณn, deteniendo el bucle for cuando se devuelve falso. |
Mientras bucle en C
Un bucle while es la estructura de bucle mรกs sencilla. La sintaxis del bucle while en el lenguaje de programaciรณn C es la siguiente:
Sintaxis del bucle While en C
while (condition) {
statements;
}
Es un circuito controlado por entrada. En el bucle while, se evalรบa una condiciรณn antes de procesar el cuerpo del bucle. Si una condiciรณn es verdadera, entonces y sรณlo entonces se ejecuta el cuerpo de un bucle. Despuรฉs de ejecutar el cuerpo de un bucle, el control regresa nuevamente al principio y se verifica si la condiciรณn es verdadera; se ejecuta el mismo proceso hasta que la condiciรณn se vuelve falsa. Una vez que la condiciรณn se vuelve falsa, el control sale del bucle.
Despuรฉs de salir del bucle, el control pasa a las declaraciones que estรกn inmediatamente despuรฉs del bucle. El cuerpo de un bucle puede contener mรกs de una declaraciรณn. Si contiene sรณlo una declaraciรณn, las llaves no son obligatorias. Sin embargo, es una buena prรกctica utilizar llaves incluso si tenemos una sola declaraciรณn en el cuerpo.
En el bucle while, si la condiciรณn no es verdadera, entonces el cuerpo del bucle no se ejecutarรก, ni siquiera una vez. Es diferente en el bucle do while que veremos en breve.
El siguiente programa ilustra el bucle while en un ejemplo de programaciรณn en C:
#include<stdio.h>
#include<conio.h>
int main()
{
int num=1; //initializing the variable
while(num<=10) //while loop with condition
{
printf("%d\n",num);
num++; //incrementing operation
}
return 0;
}
Salida:
1 2 3 4 5 6 7 8 9 10
El programa anterior ilustra el uso del bucle while. En el programa anterior, hemos impreso una serie de nรบmeros del 1 al 10 utilizando un bucle while.

- Hemos inicializado una variable llamada num con valor 1. Vamos a imprimir del 1 al 10, por lo tanto, la variable se inicializa con el valor 1. Si desea imprimir desde 0, asigne el valor 0 durante la inicializaciรณn.
- En un bucle while, hemos proporcionado una condiciรณn (num<=10), lo que significa que el bucle ejecutarรก el cuerpo hasta que el valor de num sea 10. Despuรฉs de eso, el bucle finalizarรก y el control quedarรก fuera del bucle.
- En el cuerpo de un bucle, tenemos una funciรณn de impresiรณn para imprimir nuestro nรบmero y una operaciรณn de incremento para incrementar el valor por cada ejecuciรณn de un bucle. Un valor inicial de num es 1, despuรฉs de la ejecuciรณn, se convertirรก en 2 y durante la siguiente ejecuciรณn, se convertirรก en 3. Este proceso continuarรก hasta que el valor se convierta en 10 y luego imprimirรก la serie en la consola y finalizarรก el bucle.
\n se utiliza con fines de formato, lo que significa que el valor se imprimirรก en una nueva lรญnea.
Bucle Do-While en C
Un bucle do... while en C es similar al bucle while excepto que la condiciรณn siempre se ejecuta despuรฉs del cuerpo de un bucle. Tambiรฉn se le llama bucle de salida controlada.
La sintaxis del bucle do while en el lenguaje de programaciรณn C es la siguiente:
Sintaxis del bucle Do-While en C
do {
statements
} while (expression);
Como vimos en un bucle while, el cuerpo se ejecuta si y solo si la condiciรณn es verdadera. En algunos casos, tenemos que ejecutar el cuerpo del bucle al menos una vez incluso si la condiciรณn es falsa. Este tipo de operaciรณn se puede lograr utilizando un bucle do-while.
En el bucle do-while, el cuerpo de un bucle siempre se ejecuta al menos una vez. Despuรฉs de que se ejecuta el cuerpo, se verifica la condiciรณn. Si la condiciรณn es verdadera, se ejecutarรก nuevamente el cuerpo de un bucle; de โโlo contrario, el control se transfiere fuera del bucle.
Similar al bucle while, una vez que el control sale del bucle, se ejecutan las declaraciones que estรกn inmediatamente despuรฉs del bucle.
La diferencia fundamental entre el ciclo while y el ciclo do- while es que en el ciclo while el while se escribe al principio. En el bucle do- while, la condiciรณn while se escribe al final y termina con un punto y coma (;)
El siguiente programa de bucle en C ilustra el funcionamiento de un bucle do-while:
A continuaciรณn se muestra un ejemplo de bucle do- while en C para imprimir una tabla del nรบmero 2:
#include<stdio.h>
#include<conio.h>
int main()
{
int num=1; //initializing the variable
do //do-while loop
{
printf("%d\n",2*num);
num++; //incrementing operation
}while(num<=10);
return 0;
}
Salida:
2 4 6 8 10 12 14 16 18 20
En el ejemplo anterior, hemos impreso la tabla de multiplicar del 2 usando un bucle do- while. Veamos cรณmo el programa pudo imprimir la serie.

- Primero, inicializamos una variable 'num' con valor 1. Luego escribimos un bucle do- while.
- En un bucle, tenemos una funciรณn de impresiรณn que imprimirรก la serie multiplicando el valor de num por 2.
- Despuรฉs de cada incremento, el valor de num aumentarรก en 1 y se imprimirรก en la pantalla.
- Inicialmente, el valor de num es 1. En el cuerpo de un bucle, la funciรณn de impresiรณn se ejecutarรก de esta manera: 2*num donde num=1, luego 2*1=2, por lo tanto, se imprimirรก el valor dos. Esto continuarรก hasta que el valor de num se convierta en 10. Despuรฉs, ese ciclo finalizarรก y se ejecutarรก una declaraciรณn que estรฉ inmediatamente despuรฉs del ciclo. En este caso devuelve 0.
Para bucle en C
Un bucle for es una estructura de bucle mรกs eficiente en la programaciรณn "C". La estructura general de la sintaxis del bucle for en C es la siguiente:
Sintaxis de bucle For en C
for (initial value; condition; incrementation or decrementation )
{
statements;
}
- El valor inicial del bucle for se realiza solo una vez.
- La condiciรณn es una expresiรณn booleana que prueba y compara el contador con un valor fijo despuรฉs de cada iteraciรณn, deteniendo el bucle for cuando se devuelve falso.
- El incremento/disminuciรณn aumenta (o disminuye) el contador en un valor establecido.
El siguiente programa ilustra el bucle for en un ejemplo de programaciรณn en C:
#include<stdio.h>
int main()
{
int number;
for(number=1;number<=10;number++) //for loop to print 1-10 numbers
{
printf("%d\n",number); //to print the number
}
return 0;
}
Salida:
1 2 3 4 5 6 7 8 9 10
El programa anterior imprime la serie de nรบmeros del 1 al 10 usando el bucle for.

- Hemos declarado un variable de un tipo de datos int para almacenar valores.
- En el bucle for, en la parte de inicializaciรณn, le hemos asignado el valor 1 a la variable nรบmero. En la parte de condiciรณn, hemos especificado nuestra condiciรณn y luego la parte de incremento.
- En el cuerpo de un bucle, tenemos una funciรณn de impresiรณn para imprimir los nรบmeros en una nueva lรญnea en la consola. Tenemos el valor uno almacenado en nรบmero, despuรฉs de la primera iteraciรณn el valor se incrementarรก y se convertirรก en 2. Ahora la variable nรบmero tiene el valor 2. La condiciรณn se volverรก a verificar y, dado que la condiciรณn es verdadera, se ejecutarรก el bucle e imprimirรก dos en la pantalla. Este bucle seguirรก ejecutรกndose hasta que el valor de la variable se convierta en 10. Despuรฉs de eso, el bucle se terminarรก y se imprimirรก una serie de 1 a 10 en la pantalla.
En C, el bucle for puede tener mรบltiples expresiones separadas por comas en cada parte.
Por ejemplo:
for (x = 0, y = num; x < y; i++, y--) {
statements;
}
Ademรกs, podemos omitir la expresiรณn, condiciรณn y/o incremento del valor inicial agregando un punto y coma.
Por ejemplo:
int i=0;
int max = 10;
for (; i < max; i++) {
printf("%d\n", i);
}
Tenga en cuenta que los bucles tambiรฉn se pueden anidar donde hay un bucle exterior y un bucle interior. Para cada iteraciรณn del bucle exterior, el bucle interior repite su ciclo completo.
Considere el siguiente ejemplo con mรบltiples condiciones en un bucle for, que utiliza un bucle for anidado en programaciรณn C para generar una tabla de multiplicar:
#include <stdio.h>
int main() {
int i, j;
int table = 2;
int max = 5;
for (i = 1; i <= table; i++) { // outer loop
for (j = 0; j <= max; j++) { // inner loop
printf("%d x %d = %d\n", i, j, i*j);
}
printf("\n"); /* blank line between tables */
}}
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
La anidaciรณn de bucles for se puede realizar hasta cualquier nivel. Los bucles anidados deben tener la sangrรญa adecuada para que el cรณdigo sea legible. En algunas versiones de "C", la anidaciรณn estรก limitada a 15 bucles, pero algunas ofrecen mรกs.
Los bucles anidados se utilizan principalmente en aplicaciones de matrices que veremos en futuros tutoriales.
Declaraciรณn de ruptura en C
La declaraciรณn de ruptura se utiliza principalmente en el declaraciรณn de cambio. Tambiรฉn es รบtil para detener inmediatamente un bucle.
Consideremos el siguiente programa que introduce un salto para salir de un bucle while:
#include <stdio.h>
int main() {
int num = 5;
while (num > 0) {
if (num == 3)
break;
printf("%d\n", num);
num--;
}}
Salida:
5 4
Continuar declaraciรณn en C
Cuando desee pasar a la siguiente iteraciรณn pero permanecer en el bucle, debe utilizar la instrucciรณn continuar.
Por ejemplo:
#include <stdio.h>
int main() {
int nb = 7;
while (nb > 0) {
nb--;
if (nb == 5)
continue;
printf("%d\n", nb);
}}
Salida:
6 4 3 2 1
Entonces, se omite el valor 5.
ยฟQuรฉ bucle seleccionar?
La selecciรณn de un bucle siempre es una tarea difรญcil para un programador, para seleccionar un bucle realice los siguientes pasos:
- Analice el problema y compruebe si requiere un bucle de prueba previa o posterior.
- Si se requiere una prueba previa, utilice un bucle while o for.
- Si se requiere una prueba posterior, utilice un bucle do- while.
Resumen
- Definir bucle en C: Un bucle es uno de los conceptos clave en cualquier Lenguaje de programaciรณn. Los bucles en lenguaje C se implementan mediante declaraciones condicionales.
- Un bloque de declaraciones de control de bucle en C se ejecuta varias veces hasta que la condiciรณn se vuelve falsa.
- Los bucles en la programaciรณn C son de 2 tipos: controlados por entrada y controlados por salida.
- Enumere varias instrucciones de control de bucle en C: La programaciรณn en C nos proporciona 1) while 2) do- while y 3) for instrucciones de control de bucle.
- La programaciรณn en C de bucles For y while son bucles controlados por entrada en lenguaje C.
- Do- while es un bucle de control de salida en C.
