Sintaxe:
for(inicialização; condição de parada; incremento) { bloco de comandos }
Quando se quer executar um bloco de comando um número determinado de vezes deve-se utilizar o comando for
. Na sua declaração, o comando for determina três áreas distintas:
Pode-se omitir os comandos da área de inicialização e de incremento, bastando-se colocar o ponto e virgula.
/* programa for.c */ #include <stdio.h> int main(void) { int iValor_01, iContador; printf("Contar ate : "); scanf("%d", &iValor_01); for (iContador=1; /* Atribuição inicial. Executado somente 1 vez, sempre no início */ iContador <= iValor_01; /* A condição sempre será avaliada antes da execução das instruções agrupadas embaixo do comando for */ iContador++) /* O incremento (ou decremento), sempre ocorrerá após a execução das instruções agrupadas embaixo do comando for */ { printf("%d\n", iContador); } return 0; }
Outro exemplo para um programa de fatorial.
/* programa for1.c */ #include <stdio.h> int main(void) { int iValor_01, iFatorial; printf("\nEntre com o valor ->"); scanf("%d", &iValor_01); iFatorial = 1; for( ; iValor_01 > 1; iValor_01 -- ) { iFatorial = iFatorial * iValor_01; } printf("\nO fatorial é: %d", iFatorial); return 0; }
O comando while
pode ser escrito para comporta-se exatamente como o comando for
:
/* programa for2.c */ #include <stdio.h> int main(void) { int iValor_01, iContador; printf("Contar ate : "); scanf("%d", &iValor_01); for (iContador=1; /* Atribuição inicial. Executado somente 1 vez, sempre no início */ iContador <= iValor_01; /* A condição sempre será avaliada antes da execução das instruções agrupadas embaixo do comando for */ iContador++) /* O incremento (ou decremento), sempre ocorrerá após a execução das instruções agrupadas embaixo do comando for */ { printf("%d\n", iContador); } printf("\nMesmo programa convertido para while\n"); iContador = 1; /* Atribuição inicial. Executado somente 1 vez, sempre no início */ while( iContador <= iValor_01 ) /* A condição sempre será avaliada antes da execução das instruções agrupadas embaixo do comando for */ { printf("%d\n", iContador); iContador++; /* O incremento (ou decremento), sempre ocorrerá após a execução das instruções agrupadas embaixo do comando while */ } return 0; }
— Marcos Laureano 2008/05/06 16:34