As 4 partes de cada ciclo para em c ++

A mais básica de todas as estruturas de controlo em C ++ é a enquanto ciclo. Embora não 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. Isso 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 do programa de fatorial, as quatro partes ficou 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; " é igual a "-nAccumulator = nAccumulator * nValue-cout lt; lt; nAccumulator lt; lt; endl-nValue ++ - // o incremento}

o para ciclo incorpora estas quatro partes para formar uma estrutura única usando a palavra chave para:

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

O fluxo é mostrado graficamente aqui:



  1. Como o CPU vem inocentemente sobre a para palavra-chave, o controle é desviado para o configuração cláusula.

  2. Depois que a instalação tenha sido realizada, 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 ciclo.

    (B) Se o expressão de teste é falso, o controlo 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 ciclo, 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 o Passo 3.

este para laço é completamente equivalente à que se segue enquanto loop:

configuração-tempo (expressão de teste) {corpo-increment-}

Publicações relacionadas