Sunteți pe pagina 1din 3

Comando for

Permite que um certo trecho de programa seja


executado um DETERMINADO NÚMERO DE VEZES
Forma:
Comando for for(inicialização; condição_teste; incre/decremento)
{
// comandos a serem repetidos
// comandos a serem repetidos
}
// comandos após o 'for'

Material cedido pelo prof. Daniel Callegari e profa. Letícia Lopes Leite

Comando for Comando for


Exemplo: for (a=1 ; a<=4; a++) for (a=1 ; a<=4; a++) a=1

Funcionamento: printf(“O valor de a eh %d\n”, a);


1. Executa os comandos de inicialização
2. Testa a condição for (a=1 ; a<=4; a++)
3. Se a condição for falsa então executa o comando printf(“O valor de a eh %d\n”, a);
que está logo após o bloco subordinado ao for
4. Se condição for verdadeira então executa os
comandos que estão subordinados ao for
5. Executa os comandos de incremento/decremento
6. Volta ao passo 2

Comando for Comando for


for (a=1 ; a<=4; a++) a=2 for (a=1 ; a<=4; a++) a=3
printf(“O valor de a eh %d\n”, a); printf(“O valor de a eh %d\n”, a);

for (a=1 ; a<=4; a++) for (a=1 ; a<=4; a++)


printf(“O valor de a eh %d\n”, a); printf(“O valor de a eh %d\n”, a);

1
Comando for Comando for
for (a=1 ; a<=4; a++) a=4
O comando for deve ser usado sempre que:
printf(“O valor de a eh %d\n”, a);
soubermos exatamente quantas vezes o laço deve
ser repetido;
for (a=1 ; a<=4; a++)
printf(“O valor de a eh %d\n”, a); o teste deva ser feito antes da execução de um bloco
de comandos;
a=5
Teste resulta em falso
for (a=1 ; a<=4; a++) houver casos em que o laço não deva ser repetido
printf(“O valor de a eh %d\n”, a); nenhuma vez.

Sai do for

Comando for Comando for


Observações: Exemplos:
...
os comandos de inicialização são executados apenas int contador;
uma vez; for (contador = 0; contador < 10; contador++)
printf("Contador: %d\n",contador);
o contador é incrementado/decrementado sempre ao printf("Valor do Contador após o laço: %d\n",contador);
final da execução do bloco; ...
for (contador = 10; contador > 0; contador--)
o teste é feito sempre antes do início da execução do {
bloco de comandos. printf("Valor do Contador:%d\n",contador);
}
printf("Valor do Contador após o laço: %d\n",contador);

Comando for Comando for


// Programa que calcula a idade média de 20 pessoas.
#include <stdio.h>
main()
Flexibilidade do comando for
{
int i, soma=0, idade, quantidade=0;
float media;
Considere o comando for
for(i=0; i<20; i++) for (inicialização; condição_teste; incre/decremento)
{
printf("Digite a idade da pessoa %d. \n", i+1);
scanf("%d", &idade); Se nenhuma inicialização é necessária, inicialização
if (idade >=0) pode ser omitido.
{
soma = soma + idade;
quantidade++; Se condição_teste é omitida, o comando for pode
}
else ficar em um laço infinito.
printf("Idade invalida, nao sera considerada!\n");
}
if (quantidade > 0) Se incre/decremento é omitido, deve-se, então,
{ // Faz o calculo da media de idade atualizar a variável de laço em um comando.
media = (float) soma / quantidade;
printf("Media idade das %d pessoas: %5.2f", quantidade, media);
}
else printf("Nenhum dado valido foi informado.");
}

2
Comando for Comando for
Flexibilidade do comando for Flexibilidade do comando for
Duas ou mais variáveis, separadas por vírgula, podem ser
Laço infinito incrementadas/decrementas e/ou inicializadas ao mesmo tempo.
for (x=0, y=0; x+y<10; ++x)
for ( ; ; ) {
{ scanf("%d",&y);
... ...
}
} for (x=5, y=5; x+y>0; --x, --y)
{
...
for (x=0; ; ++x) }
{ Inicialização da variável pode ser antes do comando for
scanf("%d",&y);
printf(“numero digitado %d”, y); x = 0;
} for ( ; x<10; ++x)
{
...
}

Exercícios Resposta do Exercício 1


#include <stdio.h>
1) Faça um programa que leia a nota final
de vinte alunos, calcule a média aritmética main()
{
das notas dos alunos, e mostre o valor da int acumulador=0, nota, i;

média. for (i=0; i<20; i++)


{
2) Escreva um programa que imprime uma printf("Digite a nota final do aluno %d: ", i+1);
tabuada para os números de zero a dez. scanf("%d", &nota);
acumulador = acumulador + nota;
Capriche para que ela saia igual à que }
você usava na escola. }
printf("Media da turma: %.2f",(float)acumulador/20);

Resposta do Exercício 2
#include <stdio.h>

main()
{
int num1, num2;

for (num1=1; num1 <= 10; num1++)


for(num2=1; num2 <= 10; num2++)
printf("%d x %d = %d\n",num1,num2,num1*num2);
}

S-ar putea să vă placă și