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.