Adicionalmente, segue uma explicação adicional. Por favor, tentem compilar e executar cada um dos exemplos de código.
Muitas vezes, em programas em C, torna-se necessário repetir trechos de código por uma certa quantidade de vezes. Algumas vezes, conhecemos a quantidade de repetições (iterações), mas outras vezes a quantidade de iterações é determinada somente na hora que o programa está executando.
Suponham, por exemplo, o problema que fizemos em sala, onde deve-se calcular o caixa da semana para o vovô Inácio, recebendo o valor de cada dia:
Há três formas de iterações de códigos em C.
Para ficar mais fácil de gravar, traduza para o português as palavras chaves (for=para;while=enquanto;do=faça) e pense assim:
laço for:
para o valor_inicial igual a um número, eu repito:
se o teste_condicional for verdadeiro:
executo o escopo a executar,
faço o incremento_ou_decremento
senão, saio do laço.
laço while:
enquanto o teste_condicional for verdadeiro, repita:
escopo a executar
laço do-while:
faça (ou execute) repetidamente:
o escopo a executar
se teste_condicional for falso, saia do laço.
No exemplos abaixo, vamos simplesmente escrever na tela os números de 1 à 10 utilizando cada um desses tipos de laços. Tente entender como é a execução de cada um. Para isso, anote a saída na tela e o valor das variáveis em cada iteração (repetição do laço).
A principal diferença entre eles é que o for já possui o incremento em um de seus argumentos. Já o while e o do-while necessitam que você controle o valor da variável que será controlada no teste_condicional. Se você não fizer esse controle, o seu programa ficará agarrado executando o escopo a executar para sempre (ou até que você peça o sistema operacional para finalizar o programa).
Assim, o programa para ajudar o vovô Inácio pode ser refeito da seguinte forma:
Como podemos ver, o código ficou bem menor e com menos repetições.
Tente reescrever esse código uma vez utilizando for e outra utilzando do-while.
Ah.. note que as repetições podem ser incrementando ou decrementando as variáveis. Exemplo:
Execute esses programas e verifique a saída de cada um na tela.