Comando for

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:

  • A primeira área de comando são os comandos que serão executados inicialmente. Deve-se colocar nesta área comandos de inicialização de variáveis.
  • A segunda área é a de teste. A cada interação, as condições colocadas são testadas e caso sejam verdadeiras segue-se com a execução do bloco de comandos.
  • A última área possui comandos que serão executados ao final da interação. Geralmente são colocados nesta área os comandos de incrementos de variáveis.

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;
}

Convertendo um for em um while

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

for.txt · Última modificação: 2008/05/06 16:46 por laureano
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0