Os 4 partes de cada loop for em C ++

O mais básico de todas as estruturas de controle em C ++ é a enquanto loop. Apesar de não ser tão flexível, a para circuito é realmente o mais popular dos dois - ele tem uma certa elegância que é difícil de ignorar. Você vai notar que a maioria dos laços tem quatro partes essenciais.

  • A configuração: Normalmente, a configuração envolve declarar e inicializar um incremento variável. Isto geralmente ocorre imediatamente antes da enquanto.

  • A expressão de teste: A expressão dentro do enquanto loop que fará com que o programa para tanto executar o loop ou sair e continuar. Isso sempre ocorre dentro dos parênteses após a palavra-chave enquanto.

  • O corpo: Este é o código dentro das chaves.

  • O incremento: Este é o lugar onde a variável incremento é incrementado. Isto normalmente ocorre no final do corpo.

No caso de o programa de factorial, as quatro partes era assim:

int nValue = 1- // o setupwhile (nValue lt; = nTarget) // a expressão de teste {// o bodycout lt; lt; nAccumulator lt; lt; "*" Lt; lt; nValue lt; lt; "Iguais" -nAccumulator = nAccumulator * nValue-cout lt; lt; nAccumulator lt; lt; endl-nValue ++ - // o incremento}

o para circuito incorpora estas quatro partes em uma única estrutura usando a palavra-chave para:

para (incremento de teste setup- expression-) {} corpo-

O fluxo é mostrado graficamente aqui:

image0.jpg
  1. Como a CPU entra inocente sobre o para palavra-chave, o controlo é desviada para o configuração cláusula.

  2. Depois que a instalação tiver sido executada, o controle se move para o teste expressão.

  3. (A) Se o expressão de teste é verdade, o controlo passa para o corpo do para loop.

    (B) Se o expressão de teste é falso, o controle passa para a próxima instrução após a cinta fechada.

  4. Uma vez que o controle tenha passado através do corpo do laço, a CPU é obrigada a efectuar uma inversão de marcha atrás até a incremento secção do circuito.

  5. Feito isso, o controle retorna ao expressão de teste e de volta para a Etapa 3.

este para circuito é completamente equivalente ao seguinte enquanto loop:

setup-while (expressão de teste) {corpo-increment-}

menu