¿Qué es una declaración de bucle en lenguaje C? ¿Cómo funciona exactamente?
I. bucle for
El bucle for es abierto. Su forma general es:
for(lt; inicializegt; lt; conditionalgt; lt; incrementgt;)
declaración
La inicialización es siempre una declaración de asignación; se usa para dar un valor inicial a la variable de control del bucle; la expresión condicional es una expresión relacional que se usa para determinar cuándo sale el incremento y define el valor de la variable de control del bucle después de cada bucle. El incremento define cómo cambia la variable de control del bucle después de cada bucle. Estas tres partes están separadas por ";".
Por ejemplo
for(i=1; ilt;=10; i )
declaración
En el ejemplo anterior, Primero asignamos i al valor inicial 1 y luego determinamos si i es menor o igual a 10. Si es así, ejecutamos la declaración, luego aumentamos el valor en 1 y determinamos nuevamente hasta que la condición sea falsa, es decir, igt; cuando es 10, el ciclo termina.
Nota:
1. La declaración en el bucle for puede ser el cuerpo de la declaración, pero use "{" y "}" para encerrar la declaración en el bucle.
2. La "inicialización", la "expresión condicional" y el "incremento" en el bucle for son opcionales, es decir, se pueden omitir, pero ";" no se pueden omitir. Omitir la inicialización significa que a las variables de control del bucle no se les asignan valores iniciales. Omitir la expresión condicional significa que el bucle se convertirá en un bucle infinito cuando no se realice ningún otro procesamiento. Si se omite el incremento, las variables de control del bucle no se operan y luego se puede agregar el cuerpo de la declaración para modificar las variables de control del bucle.
3. El bucle for puede tener múltiples niveles de anidamiento.
Ejemplo 16:
main()
{
int i, j, k
printf; ("i j k\n");
para (i=0; ilt; 2; i )
para (j=0; jlt; 2; j )
for(j=0; jlt; 2; j )
for(k=0; klt; 2; k )
printf(d d d\n", i, j, k);
}
El resultado de salida es el siguiente:
i j k
0 0 0
0 0 1
0 1 1 1
1 0 0
1 0 1
1 1 0
1 1 1
2. Bucle while
La forma general del bucle while es:
while(condición)
Declaración;
p>
bucle while significa que cuando la condición es verdadera, la ejecución de la declaración no finalizará hasta que la condición sea falsa. Continuará ejecutando las declaraciones posteriores fuera del programa de bucle. .
Ejemplo 17:
#includelt; stdio.hgt
main()
{
char; c;
c='\0'; /*Inicializar c*/
while(c!='\X0D') /* Ingresar para finalizar el ciclo*/ p >
c=getche(); /* Devuelve explícitamente los caracteres recibidos del teclado*/
}
En el ejemplo anterior, el bucle while verifica al principio Si c es un carácter de retorno de carro, el carácter de retorno de carro se inicializa para dejarlo vacío. Dado que se inicializa para que esté vacío, la condición es verdadera y el bucle espera a que el teclado ingrese caracteres; una vez que se ingresa un retorno de carro, c = '\X0D', la condición es falsa y el bucle finaliza.
Al igual que un bucle for, un bucle while siempre comprueba una condición al principio del bucle, lo que significa que el bucle puede salir sin realizar ninguna acción.
Nota:
1. También se permiten declaraciones vacías dentro de los bucles while.
Por ejemplo
while((c=getche())! = '\X0D');
Esto se repite hasta que ingresa Enter.
2. Puede haber múltiples niveles de anidamiento de bucles.
3. Una declaración puede ser un cuerpo de declaración y debe estar entre "{" y "}".
Ejemplo 18:
#includelt; stdio.hgt
main()
{
char; c, fname[13];
ARCHIVO *fp; /* Definir puntero de archivo*/
printf("Nombre de archivo:"); /p>
scanf("s", fname); /* Espere a que se ingrese el nombre del archivo*/
fp=fopen(fname, "r"); solo para lectura*/
while((c=fgetc(fp)!=EOF) /* Lee un carácter y determina si llega al final del archivo*/
putchar (c); /* Si el archivo Si la lectura no ha terminado, el carácter */
}
III.
3. bucle do- while
do- while El formato general del bucle es:
do
declaración
while((c=fopen(fname; ))); /* Abrir el archivo para lectura solamente*/
while((c=fgetc(fp)!p>
while(condición);
Este ciclo es diferente del ciclo while. Primero ejecuta la declaración y luego determina si la condición es verdadera; si la condición es verdadera, el ciclo continúa; si la condición es falsa, el ciclo termina; - while loop
debe ejecutar la declaración de bucle al menos una vez
Además, cuando hay muchas declaraciones en un bucle, utilice "{" y "}" para rodearlas.