Bem vindo a aula 65 de nosso curso gratuito de programação com a linguagem C. Na aula de hoje vamos aprender como utilizar a estrutura de repetição for decrescente.
A estrutura de repetição for não precisa ser sempre crescente, ela também pode ser decrescente. Imagine a nossa variável i inicializada com o valor 10, assim:
// variável inteira i inicializada com o valor 10 int i = 10;
Imagine agora que desejamos decrementar o valor da variável i até 0 e a cada decremento imprimir seu valor na tela. Uma forma bem simples de fazer isso é apresentada a segui:
printf("%d ", i--); printf("%d ", i--); printf("%d ", i--); printf("%d ", i--); printf("%d ", i--); printf("%d ", i--); printf("%d ", i--); printf("%d ", i--); printf("%d ", i--); printf("%d ", i--); printf("%d ", i--);
O que está sendo feito nas linhas acima?
Basicamente está sendo impresso na tela o valor da variável i. Após a impressão estamos decrementando o valor da variável i em uma unidade. Observe que o decremento está a direita da variável, então primeiro usamos o seu valor, neste caso para imprimir na tela, para só depois decrementar seu valor em uma unidade.
Esse código, apesar de simples, não é muito eficiente. Se você é um estudante atento deve ter percebido que nas 11 linhas de código acima não há se quer uma vírgula de diferença, ou seja, são 11 linhas exatamente iguais.
Sempre que você tiver repetindo trechos de código exatamente iguais significa que aquele código pode ser melhorado. Isso é o que acontece aqui. Nós conseguimos obter o mesmo resultado com apenas uma dessas linhas de código acima dentro de uma estrutura de repetição for.
Como escrevemos a estrutura for na linguagem c de forma decrescente?
Na linguagem de programação C nossa estrutura PARA é o for, que se traduzido do inglês significa exatamente PARA. Assim, podemos rescrever aquelas 11 linhas de código iniciais assim:
int i; for(i = 10; i >= 0; i--) printf("%d ", i);
Na primeira parte temos a condição inicial, ou seja, a variável i é inicializada com 10. Na segunda parte temos nossa condição de parada i maior ou igual a 0. Por fim temos o decremento, a variável i é sempre decrementada em uma unidade.
Na função de saída printf a única alteração é a remoção do decremento da variável i, uma vez que agora o decremento é feito dentro da estrutura de repetição for.