Escolar Documentos
Profissional Documentos
Cultura Documentos
Programação C/C++
Prof. Márcio Sarroglia Pinho
Comandos de Repetição
Os comandos de repetição são um recurso que permite que um certo trecho do código de um programa seja repetido um certo
número de vezes.
Comando while
O comando while permite que um certo trecho de programa seja executado ENQUANTO uma certa condição for verdadeira. A
forma do comando while é a seguinte:
while (condição)
{
// comandos a serem repetidos
// comandos a serem repetidos
}
// comandos após o 'while'
O funcionamento é o seguinte:
1. Testa a condição;
2. Se a condição for falsa então pula todos os comandos do bloco subordinado ao while e passa a executar os comandos após o bloco do while.
3. Se condição for verdadeira então executa cada um dos comandos do bloco subordinado ao while.
4. Após executar o último comando do bloco do while volta ao passo 1.
Exemplos
printf("Repentindo....\n");
contador = contador + 1;
if (contador == 0)
printf("O bloco NAO foi repetido.");
else printf("O bloco foi repetido %d vezes", contador);
https://www.inf.pucrs.br/~pinho/LaproI/ComandosDeRepeticao/Repeticao.html 1/5
2/2/24, 11:24 AM Programação C/C++ - Comandos de Repetição
float media;
soma = 0;
quantidade = 0;
idade = 0;
if (idade >=0)
{
soma = soma + idade;
quantidade = quantidade + 1;
}
}
if (quantidade >0)
{
media = (float) soma / quantidade;
printf("A media de idade das %d pessoas eh: %5.2f", quantidade,
media);
}
else printf("Nenhum dado foi informado.");
Observação:
Tenha atenção especial com o teste do comando while. As variáveis usadas no teste devem ter sido inicializadas antes do
teste.
Comando do-while
O comando do-while permite que um certo trecho de programa seja executado ENQUANTO uma certa condição for
verdadeira. A forma do comando do-while é a seguinte:
do
{
// comandos a serem repetidos
// comandos a serem repetidos
} while (condição);
O funcionamento é o seguinte:
que não soubermos exatamente quantas vezes o laço deve ser repetido;
o teste deva ser feito depois da execução de um bloco de comandos;
o bloco de comandos deve se executado pelo menos 1 vez;
Exemplos
contador = 0;
https://www.inf.pucrs.br/~pinho/LaproI/ComandosDeRepeticao/Repeticao.html 2/5
2/2/24, 11:24 AM Programação C/C++ - Comandos de Repetição
// nao precisamos inicializar a variável 'continua' pois o teste é feito
// depois
do
{
// comandos a serem repetidos
printf("Repentindo....\n");
contador = contador + 1;
float media;
soma = 0;
quantidade = 0;
do {
printf("Idade da pessoa %d. (tecle -1 se quiser encerrar).\n",
quantidade+1);
scanf("%d", &idade);
if (idade >=0)
{
soma = soma + idade;
quantidade = quantidade + 1;
}
} while (idade != -1);
if (quantidade > 0)
{
media = (float) soma / quantidade;
printf("A media de idade das %d pessoas eh: %5.2f", quantidade,
media);
}
else printf("Nenhum dado foi informado.");
Comando for
O comando for permite que um certo trecho de programa seja executado um determinado número de vezes.
A forma do comando for é a seguinte:
for (comandos de inicialização;condição de teste;incremento/decremento)
{
// comandos a serem repetidos
// comandos a serem repetidos
}
O funcionamento é o seguinte:
https://www.inf.pucrs.br/~pinho/LaproI/ComandosDeRepeticao/Repeticao.html 3/5
2/2/24, 11:24 AM Programação C/C++ - Comandos de Repetição
houver casos em que o laço não deva ser repetido nenhuma vez.
Exemplos
int contador;
int contador;
for (contador = 10; contador > 0; contador = contador-1)
{
printf("Valor do Contador após o laço: %d\n",contador);
}
Observações:
Comandos de Desvios
Os laços em C possuem dois comandos de desvios: break e continue. Estes comandos funcionam com todos os
comandos de repetição.
#include <stdio.h>
#include <conio.h>
void main()
{
int contador, numero;
for (contador = 1; contador <= 3; contador = contador+1)
{
scanf("%d",&numero);
if (numero < 0)
break; // encerra o laço neste ponto !!!
}
printf ("Foram digitados %d numeros validos", contador-1);
getch();
}
#include <stdio.h>
#include <conio.h>
void main()
{
int contador, numero;
clrscr();
for (contador = 1; contador <= 5; contador = contador+1)
{
printf("Inicio do laco. Passo %d\n", contador);
if ((contador % 2) == 0)
{
https://www.inf.pucrs.br/~pinho/LaproI/ComandosDeRepeticao/Repeticao.html 4/5
2/2/24, 11:24 AM Programação C/C++ - Comandos de Repetição
printf("Terminado antes do tempo....\n");
continue;
}
printf ("Final do Laco. Passo %d\n", contador);
}
getch();
}
RESULTADO:
https://www.inf.pucrs.br/~pinho/LaproI/ComandosDeRepeticao/Repeticao.html 5/5