Baixe o app para aproveitar ainda mais
Prévia do material em texto
Comandos de Repetição Neste tópico abordaremos os comandos de repetição da linguagem C. 2 Comandos de repetição Permite repetir uma sequência de comandos A repetição é controlada por uma expressão lógica Preocupação com a terminação da repetição 3 O laço for Muito flexível e poderoso Geralmente utilizado quando o número de repetições é conhecido a priori Controlado por uma variável 4 O laço for Forma geral for(inicialização; condição; incremento) { sequência de comandos; } inicialização: geralmente uma atribuição usada para definir a variável de controle do laço condição: expressão que determina quando o laço terminará incremento: define como a variável de controle do laço será modificada cada vez que o laço é repetido 5 Fluxo de execução do for falsa verdadeira Inicialização Condição Comandos Incremento 6 Exemplo do for: n primeiros números naturais #include <stdio.h> int main() { int n, i; printf("Informe um número natural: "); scanf("%d", &n); printf("Os %d primeiros números naturais são: ", n); for (i = 0; i < n; i = i + 1) { printf("%d, ", i); } printf("\b\b.\n"); return 0; } 7 Operadores de incremento (++) e decremento (--) Operadores unários ++ soma 1 a seu operando -- subtrai 1 de seu operando 2 modos: pré-fixado e pós-fixado Pós-fixado: o operador segue a variável O valor da variável é utilizado na expressão e só depois o valor da variável é atualizado Pré-fixado: operador precede a variável O valor da variável é atualizado e depois seu valor é usado na expressão 8 Operadores aritméticos de Atribuição (+=,-=,*=,/=,%=) Cada um desses operadores é usado com uma variável a sua esquerda e uma expressão à direita x op= exp; Equivale a x = x op (exp); 9 Exemplo: média de n números inteiros #include <stdio.h> int main() { int n, i, val; float media = 0; printf("Informe a quantidade de números: "); scanf("%d", &n); for (i = 1; i <= n; i++) { scanf("%d", &val); media += val; } media /= n; printf("Média dos números: %.2f\n", media); return 0; } 10 O laço while Controlado por uma condição no início Forma geral while (condição) { sequência de comandos; } O comando ou sequência de comandos são repetidos enquanto a condição for verdadeira A condição é avaliada no início, antes da sua execução, podendo até não ser executado nenhuma vez 11 Exemplo: dado um lista de inteiros terminada com 0, imprimir seus quadrados #include <stdio.h> int main() { int num, quad; printf("Digite um número (0 p/ encerrar): "); scanf("%d", &num); while (num != 0) { quad = num * num; printf("\nQuadrado de %d = %d\n", num, quad); printf("\nDigite um número (0 p/ encerrar): "); scanf("%d", &num); } // fim do while return 0; } 12 O laço dowhile Repetição controla por condição no final Forma geral do { sequência de comandos; } while(condição); A sequência de comandos é repetida enquanto a condição é verdadeira A condição é estada no final do laço Isso significa que o laço do-while é executado pelo menos uma vez 13 Exemplo: dado um lista de inteiros terminada com 0, imprimir seus quadrados #include <stdio.h> int main() { int num, quad; do { printf("Digite um número (0 p/ encerrar): "); scanf("%d", &num); quad = num * num; printf("Quadrado de %d = %d\n", num, quad); } while (num != 0); // fim do dowhile return 0; } 14 O comando break Quando utilizado dentro de um laço, força a saída do laço Exemplo: #include <stdio.h> int main() { char ch; for(;;) { // laço infinito printf("Digite um caractere (Esc p/ sair): "); ch = getchar(); getchar(); if (ch == 27) break; printf("Código ASCII de %c: %d\n", ch, ch); } return 0; } 15 O comando continue É usado dentro de um laço para pular para a próxima iteração Exemplo: #include <stdio.h> int main() { int i; for (i = 0; i < 10; i++) { printf("\n%d antes do continue", i); if (i > 5) continue; printf("\tapós o continue"); } // fim do for return 0; } 16 Referências SCHILDT, Herbert. C Completo e Total. 3. ed., Makron Books, 1997. DEITEL, H.M.; DEITEL, P.J.. Como Programar em C. LTC, 2. ed., 1999. MIZRAHI, V.V.. Treinamento em Linguagem C. Módulo 1, Makron Books, 1990. PRATA, Stephen. C Primer Plus. 5. ed., Sams, 2004. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16
Compartilhar