Como usar o For Loop em C ++
A forma mais comum de loop no C ++ é a para loop. o para loop é preferido sobre o mais básico enquanto laço porque normalmente é mais fácil de ler (não há realmente nenhuma outra vantagem).
o para laço tem o seguinte formato:
para (incremento conditional- initialization-) {// ... corpo do loop}
o para laço é equivalente à que se segue enquanto loop:
{Inicialização-while (condicional) {{// ... corpo do loop}}} increment-
Execução do para ciclo começa com o cláusula de inicialização, que tem o seu nome porque é normalmente onde as variáveis de contagem são inicializados. A cláusula de inicialização é executado apenas uma vez, quando o para loop é encontrado pela primeira vez.
A execução continua com a cláusula condicional. Esta cláusula funciona exatamente como o enquanto loop: Enquanto a cláusula condicional é verdade, a para loop continua a executar.
Depois de o código no corpo do loop termina a execução, o controlo passa para o incremento cláusula antes de retornar para verificar a cláusula condicional - repetindo assim o processo. A cláusula incremento normalmente abriga os incremento automático ou autodecrement declarações utilizadas para atualizar as variáveis de contagem.
o para loop é melhor compreendida por exemplo. Os seguintes ForDemo1 programa não é nada mais do que o WhileDemo convertido para o uso para construção de loop:
// ForDemo1 - Entrada de uma contagem de loop. Loop while // saída aString número arg de vezes. # Incluem#incluir #incluir usando namespace std-int main (int nNumberofArgs, char * pszArgs []) {// entrada do circuito countint nLoopCount-cout lt; lt; "Enter contagem de loop:" CIN II-III >> nLoopCount - // contar até o loop contar limitfor (- nLoopCount> 0 -) {nLoopCount = nLoopCount - 1-cout lt; lt; "Somente " lt; lt; nLoopCountlt; lt; "Loops para ir" lt; lt; endl -} // espera até que o usuário está pronto antes de terminar o programa // para permitir que o usuário veja o resultscout programa lt; lt; "Pressione Enter para continuar ..." lt; lt; endl-cin.ignore (10, ' n') - cin.get () - retornar 0-}
O programa lê um valor do teclado para a variável nloopCount. o para começa comparando nloopCount a 0. O controlo passa para o para loop se nloopCount é maior do que 0. Uma vez dentro do para loop, o programa diminui nloopCount e exibe o resultado. Isto feito, o programa retorna ao para controle de laço.
Controle avança para a próxima linha após o para ciclo assim que nloopCount foi diminua para 0.
Todas as três seções de um para circuito pode estar vazio. Uma inicialização vazio ou secção incremento não faz nada. Uma secção de comparação vazia é tratada como uma comparação que retorna verdade.
este para circuito tem dois pequenos problemas. Em primeiro lugar, é destrutiva, no sentido de que ele muda o valor de nloopCount, # 147-destruindo # 148- o valor original. Em segundo lugar, esta para loop de conta para trás a partir de valores grandes para valores menores. Estes dois problemas são tratados através da adição de uma variável de contagem dedicado ao para loop. Aqui está o que parece:
// ForDemo2 - Entrada de uma contagem de loop. Loop while // saída aString número arg de vezes. # Incluem#incluir #incluir usando namespace std-int main (int nNumberofArgs, char * pszArgs []) {// entrada do circuito countint nLoopCount-cout lt; lt; "Enter contagem de loop:" CIN II-III >> nLoopCount - // contar até a contagem de loop limitfor (int i = 1 i lt; = nLoopCount- i ++) {cout lt; lt; "Nós terminamos" lt; lt; ilt; lt; "loops" lt; lt; endl -} // espera até que o usuário está pronto antes de terminar o programa // para permitir que o usuário veja o resultscout programa lt; lt; "Pressione Enter para continuar ..." lt; lt; endl-cin.ignore (10, ' n') - cin.get () - retornar 0-}
Esta versão modificada de ForDemo laços da mesma forma que fazia antes. Em vez de modificar o valor de nLoopCount, No entanto, este ForDemo2 versão usa uma nova variável de contador.
este para laço declara uma variável de contador Eu e inicializa-lo para 0. Em seguida, ele compara essa variável do contador para nLoopCount. E se Eu é menos do que nLoopCount, o controlo passa para o comando de saída dentro do corpo do para loop. Uma vez que o corpo tenha concluído a execução, o controle passa para a cláusula de incremento, onde Eu é incrementado e comparado com nLoopCount novamente, e assim vai.
O seguinte mostra exemplo de saída a partir do programa:
Digite contagem de loop: 5Acabámos 1 loopsWe've terminou 2 loopsWe've terminou 3 loopsWe've terminou 4 loopsWe've terminou 5 loopsPress Enter para continuar ...
Quando declarados dentro da porção de inicialização do para loop, a variável índice é conhecido apenas dentro do para próprio loop. programadores Nerdy C ++ dizer que o âmbito da variável é limitada ao para loop. No ForDemo2 exemplo dado, a variável Eu não é acessível a partir da Retorna declaração porque essa afirmação não está dentro do loop.