Bucles en C:Instrucciones de bucle For, While, Do While [Ejemplos]
¿Qué es Bucle en C?
Declaraciones en bucle en C ejecutar la secuencia de declaraciones muchas veces hasta que la condición establecida se vuelva falsa. Un ciclo en C consta de dos partes, un cuerpo de un ciclo 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.
En este tutorial, aprenderá-
- ¿Qué es Loop en C?
- Tipos de bucles en C
- Mientras Bucle en C
- Bucle Do-While en C
- Bucle for en C
- Declaración de interrupción en C
- Continuar declaración en C
- ¿Qué bucle seleccionar?
Tipos de bucles en C
Según la posición de una instrucción de control en un programa, la instrucción de bucle en C se clasifica en dos tipos:
1. Bucle controlado por entrada
2. Salir del bucle controlado
En un bucle de control de entrada en C, una condición se comprueba antes de ejecutar el cuerpo de un ciclo. También se denomina bucle de verificación previa.
En un bucle controlado de salida , se comprueba una condición después de ejecutar el cuerpo de un bucle. También se denomina bucle de comprobació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 varias veces se denomina bucle infinito. . Un bucle infinito también se denomina "bucle sin fin .” Las siguientes son algunas características de un ciclo infinito:
1. No se especifica ninguna condición de terminación.
2. Las condiciones especificadas nunca se cumplen.
La condición especificada determina si ejecutar o no el cuerpo del ciclo.
El lenguaje de programación 'C' nos proporciona tres tipos de construcciones de bucle:
1. El ciclo while
2. El bucle do-while
3. El bucle for
Mientras Bucle en C
Un bucle while es la estructura de bucle más sencilla. Mientras que la sintaxis de bucle en el lenguaje de programación C es la siguiente:
Sintaxis del ciclo while en C:
while (condition) { statements; }
Es un bucle 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 solo entonces se ejecuta el cuerpo de un bucle. Después de que se ejecuta el cuerpo de un ciclo, el control vuelve 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 ciclo.
Después de salir del ciclo, el control va a las sentencias que están inmediatamente después del ciclo. El cuerpo de un ciclo puede contener más de una instrucción. Si contiene solo una declaración, entonces las llaves no son obligatorias. Sin embargo, es una buena práctica usar llaves incluso si tenemos una sola declaración en el cuerpo.
En el ciclo while, si la condición no es verdadera, entonces el cuerpo de un ciclo 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 el ejemplo de programación 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 ciclo while. En el programa anterior, hemos impreso una serie de números del 1 al 10 usando un bucle while.
Programación while loop en C
- 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 ciclo while, proporcionamos una condición (num<=10), lo que significa que el ciclo ejecutará el cuerpo hasta que el valor de num sea 10. Después de eso, el ciclo finalizará y el control quedará fuera el bucle.
- En el cuerpo de un ciclo, tenemos una función de impresión para imprimir nuestro número y una operación de incremento para incrementar el valor por ejecución de un ciclo. Un valor inicial de num es 1, después de la ejecución, se convertirá en 2, y durante la próxima ejecución, se convertirá en 3. Este proceso continuará hasta que el valor sea 10 y luego imprimirá la serie en la consola y terminará 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 ciclo do...while en C es similar al ciclo while excepto que la condición siempre se ejecuta después del cuerpo de un ciclo. También se denomina bucle controlado por salida.
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 usando un bucle do-while.
En el bucle do-while, el cuerpo de un bucle siempre se ejecuta al menos una vez. Después de ejecutar el cuerpo, verifica la condición. Si la condición es verdadera, volverá a ejecutar el cuerpo de un ciclo; de lo contrario, el control se transferirá fuera del ciclo.
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 crítica entre el ciclo while y do-while es que en el ciclo while el tiempo se escribe al principio. En el ciclo 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 ciclo 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 de 2 usando un bucle do-while. Veamos cómo el programa pudo imprimir la serie.
Do-While Loop en Programación C
- Primero, hemos inicializado una variable 'num' con el valor 1. Luego hemos escrito 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 que se imprimirá el valor dos . Esto continuará hasta que el valor de num se convierta en 10. Después de ese ciclo, se terminará y se ejecutará una instrucción que se encuentra inmediatamente después del ciclo. En este caso devuelve 0.
Bucle For 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 del bucle For en C:
for (initial value; condition; incrementation or decrementation ) { statements; }
- El valor inicial del ciclo 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 ciclo for cuando se devuelve falso.
- El incremento/decremento aumenta (o disminuye) el contador en un valor establecido.
El siguiente programa ilustra el bucle for en el ejemplo de programación 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 ciclo for.
For Loop en Programación C
- Hemos declarado una variable de tipo int para almacenar valores.
- En el bucle for, en la parte de inicialización, hemos asignado el valor 1 al número de variable. En la parte de la condición, hemos especificado nuestra condición y luego la parte del incremento.
- En el cuerpo de un ciclo, 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, y se imprimirá dos en la pantalla. Este ciclo seguirá ejecutándose hasta que el valor de la variable sea 10. Después de eso, el ciclo finalizará y se imprimirá una serie de 1 a 10 en la pantalla.
En C, el ciclo 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 del valor inicial, la condición y/o el incremento 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 ciclo externo, el ciclo interno repite su ciclo completo.
Considere el siguiente ejemplo con múltiples condiciones en el bucle for, que usa el bucle for anidado en la 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
El anidamiento de bucles for se puede hacer hasta cualquier nivel. Los bucles anidados deben tener una sangría adecuada para que el código sea legible. En algunas versiones de 'C', el anidamiento está limitado a 15 bucles, pero algunos ofrecen más.
Los bucles anidados se utilizan principalmente en aplicaciones de matriz que veremos en tutoriales posteriores.
Declaración de ruptura en C
La sentencia break se usa principalmente en la sentencia switch. También es útil para detener inmediatamente un bucle.
Consideramos el siguiente programa que introduce una pausa para salir de un ciclo 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 instrucción en C
Cuando desee pasar a la siguiente iteración pero permanecer en el ciclo, debe usar 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, el valor 5 se salta.
¿Qué bucle seleccionar?
La selección de un bucle siempre es una tarea difícil para un programador, para seleccionar un bucle siga los siguientes pasos:
- Analice el problema y verifique si requiere una prueba previa o un ciclo posterior a la prueba.
- Si se requiere una prueba previa, use un tiempo o un bucle.
- Si se requiere una prueba posterior, use 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 sentencias condicionales.
- Un bloque de instrucciones 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 C nos proporciona 1) while 2) do-while y 3) para 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.
Lenguaje C
- C# while y do...while bucle
- C# para bucle
- Bucle foreach de C#
- C++ para bucle
- C++ while y do...while Bucle
- Mejores formas de solucionar problemas de bucles de control de procesos y automatización
- Diferencia entre while y do-while:explicada con ejemplos
- Número de Armstrong en el programa JAVA utilizando For Loop
- Programa numérico Palindrome en Java usando while &for Loop
- Bucles for y while de Python:declaración de enumeración, interrupción y continuación
- Programación de SINUMERIK 840D Uso de bucle WHILE