Bloque 1
for ( <Ins d.1>,<Ins d.2>, ..., <Ins d.n> ;
<c.1> ;
<Ins i.1>,<lns i.2>, ..., <Ins i.m> )
Bloque 2
Bloque 3
<Ins d.1> a <Ins d.1> y <Ins i.1> a <Ins i.m>:
son instrucciones simples (llamadas a una función o afectaciones)
Funcionamiento:
a) Ejecución del Bloque 1
b) Ejecución de <Ins d.1>
después
de <Ins d.2> hasta <Ins d.n>
c) Si la condición lógica,
<c.1>:
es verdadera entonces ejecución de:
Bloque 2
<Ins i.1> ... hasta <Ins i.m< en ese orden
regreso a c)
sino ir a d)
d) Ejecución Bloque 3
Notas sobre el for
1. Si no hay condición => test condici'on es verdadero
2. Las instrucciones <Ins d.1> a <Ins d.n> y de <Ins i.1> a <Ins i.m> no son obligatorias
3. El for(;;) se considera como un ciclo infinito
prog13.c Primer ejemplo uso for()
/* Despliega la tabla de multiplicar (1-10) de un número n */
#include <stdio.h>
int main( )
{
int i,n,res;
printf(''Numero:'');
scanf(''%d'',&n);
for (i=1; i!=n; i++)
{
res = i*n;
printf(''%d * %d = %d
\n'',n,i,res);
}
}
prog14.c Segundo ejemplo uso for()
/* Calculo factorial de n por tres métodos */
#include <stdio.h>
int main( )
{
int i,r,n;
printf(''Valor de n:'');
scanf(''%d'',&n);
/* primer método */
r=1;
for (i=1; i<=n; i++)
r=r*i;
printf(''Valor fact(%d) usando
metodo 1:%d \n'',n,r);
/* segundo método */
for(r=n, i=n-1; i > 1;
i=i-1);
r=r*i;
printf(''Valor fact(%d) usando metodo 2:%d \n'',n,r);
/* tercer método */
for(r=n,i=n; i>2;)
{
i=i-1;
r=r*i;
}
printf(''Valor fact(%d) usando
metodo 3:%d \n'',n,r);
}
Ejercicios for
|
|
|