Su forma general es:
for( inicialización ; condición de terminación ; incremento)
{
sentencia 1;
sentencia 2;
sentencia N;
}
Un ejemplo será más claro.
El siguiente código muestra en pantalla la palabra hola 5 veces.
#include<stdio.h>
int main(void)
{
int i; //Se declara una variable llamada i
for(i = 0; i < 5; i++)
{
puts("Hola");
}
return 0;
}
Se declara una variable entera llamada i.
Dentro de la sentencia for:
- i = 0 --> inicializamos i al valor 0
- i < 5 --> compara cada valor de i con 5 y si es menor realiza el bucle
- ejecuta el bloque de sentencias, en este caso sólo hay una, puts()
- i++ --> incremente en 1 el valor de i
El siguiente código muestra por pantalla los números del 10 al 1 en la misma línea
#include<stdio.h>
int main(void)
{
int i; //Se declara una variable entera llamada i
for(i = 10; i >= 1; i--)
{
printf("%d ", i);
}
printf("\n"); /*añadimos un salto de línea después del bucle*/
return 0;
}
La salida de este programa sería:
10 9 8 7 6 5 4 3 2 1
El siguiente código muestra una tabla de multiplicar (del 1 al 10) de un número dado por el usuario
#include<stdio.h>
int main(void)
{
int i;
int j;
puts("¿Qué tabla de multiplicar quieres ver, introduce un número ?");
scanf("%d", &j); /*utilizamos j para guardar el valor introducido por el usuario */
for(i=1; i<=10; i++)
{
printf("%d * %d = %d\n",j, i, i*j);
}
return 0;
}
La salida de este programa sería:
¿Qué tabla de multiplicar quieres ver, introduce un número ?
7
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63
7 * 10 = 70
NOTA:
En la declaración de la sentencia for, sólo es obligatorio poner:
for(; ;);
Por lo tanto
- inicilización
- condición de terminación
- incremento