Compartilhar via


para instrução (C)

A declaração de for permite que você repita uma instrução ou uma declaração composta um número de vezes especificado.O corpo de uma instrução de for é executado zero ou mais vezes até que uma condição se torne opcional falsa.Você pode usar expressões opcionais dentro da declaração de for para inicializar e alterar valores durante a execução da declaração de for .

Sintaxe

  • iteração-instrução:
    for ( init-expressionopt ; cond-expressionopt ; loop-expressionopt )statement

Execução das de uma instrução de for como segue:

  1. init-expression, se houver, é avaliado.Isso especifica a inicialização para o loop.Não há restrições no tipo de init-expression.

  2. cond-expression, se houver, é avaliado.Essa expressão deve ter aritmética ou o tipo ponteiro.É avaliada antes de cada iteração.Três resultados são possíveis:

    • Se cond-expression é verdadeiro (diferente de zero), statement é executado; loop-expression, se houver, é avaliado em seguida.loop-expression é avaliado após cada iteração.Não há restrições no seu tipo.Os efeitos colaterais serão executadas na ordem.O processo começa novamente com a avaliação de cond-expression.

    • Se cond-expression for omitido, cond-expression é considerado as verdadeiros, e execução exatamente como descrito no parágrafo anterior.Uma declaração de for sem um argumento de cond-expression finaliza somente quando uma declaração de break ou de return dentro do corpo de declaração é executada, ou quando goto (a uma instrução rótulo fora do corpo de instrução de for ) é executado.

    • Se cond-expression é false (0), a execução da declaração de for finaliza e o controle passa para a instrução a seguir no programa.

Uma declaração de for também encerra quando break, goto, ou a declaração de return dentro do corpo de instruções são executados.Uma declaração de continue em um loop de for causa loop-expression a ser avaliada.Quando uma declaração de break é executada dentro de um loop de for , loop-expression não é analisada ou não é executado.Essa declaração

for( ;; )

é a maneira habitual de gerar um loop infinito que pode apenas ser saído com break, goto, ou instrução de return .

Código

Este exemplo ilustra a instrução de for :

// c_for.c
int main()
{
   char* line = "H e  \tl\tlo World\0";
   int space = 0;
   int tab = 0;
   int i;
   int max = strlen(line);
   for (i = 0; i < max; i++ ) 
   {
      if ( line[i] == ' ' )
      {
          space++;
      }
      if ( line[i] == '\t' )
      {
          tab++;
      }
   }

   printf("Number of spaces: %i\n", space);
   printf("Number of tabs: %i\n", tab);
   return 0;
}

Saída

Number of spaces: 4
Number of tabs: 2

Consulte também

Conceitos

Instruções (C)