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:
Como o CPU vem inocentemente sobre a para palavra-chave, o controle é desviado para o configuração cláusula.
Depois que a instalação tenha sido realizada, o controle se move para o teste expressão.
(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.
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.
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-}