Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Comando for
  2. Comando for como foreach
  3. Comando while
  4. Comando do-while
  5. Comando de parada break
  6. Comando de parada continue
  7. Comando aninhados

A linguagem de programação C++ fornece os comandos de repetição for, foreach, while e do-while. Nesta parte do tutorial vamos aprender esses comandos.

Os comandos de repetição bem como o seus funcionamentos já foram discutidos em Portugol: Comandos de repetição sendo a leitura recomendada.

Para fazermos executar trechos de forma repetida e quando sabemos a quantidade de vezes, utilizamos o comando for.

Fluxograma e sintaxe seguem abaixo:

Fig. 1: Comando for
Sintaxe
for (inicialização ; condição ; atualização)
{
  //seu codigo aqui
}
Onde
inicialização: bloco para iniciar variável.
condição: condição para que a repetição seja executada.
atualização: atualização de variável utilizada em inicialização.  

O bloco condição pode conter mais de uma condição utilizando os operadores lógicos e relacionais , por exemplo.

Exemplo 1
##include <iostream>
using namespace std;

int main ()
{
    int i;
    
    for(i = 0; i < 3; i++)
    {
        cout << "i:" << i << endl;
    }
    return 0;
}
Saída
i:0
i:1
i:2

Tanto a inicialização quanto condição e atualização discutidos anteriormente podem conter mais de uma declaração ou expressões, com exceções, em seus respectivos blocos.

Exemplo 2
#include <iostream>

int main()
{
    int i,j;
    for(i = 0,j=0; i < 10 || j <10 ; i++,j++)
    {
        //omitido
    }
}
Saída
-

A linguagem C++ suporta a declaração de variável dentro do bloco inicialização como mostrado no exemplo abaixo:

Exemplo 3
for (int i=0 ; i < 3 ; i++){
//omitido
}
Saída
-

Diferente da linguagem C, C++ permite que o comando for seja utiliado como foreach que irá percorrer todos os elementos de uma coleção ou estrutura de dados dinâmica.

Fluxograma e sintaxe seguem abaixo:

Fig. 2: Comando "foreach"
Sintaxe
for (tipo_dado nome_variavel ; nome_colecao)
{
  //seu codigo aqui
}
Onde
tipo_dado: tipo de dado do elemento.
nome_colecao: objeto ou coleção que contem elementos do tipo tipo_dado. 

Exemplo 2.1
#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int vet[5] = {0, 2, 3, 4, 5};
    
    for (int val : vet) {
      cout << val << " ";
    }
}
Saída
0 2 3 4 5

O comando while, é utilizado quando precisamos executar várias repetições e não sabemos quantas vezes serão com exatidão. Porém, como se trata de um comando de repetição também pode ser usado como for.

Fluxograma e sintaxe seguem abaixo:

Fig. 3: Comando while
Sintaxe
while(condicao)
{
  //seu código aqui
}

A condicao na sintaxe acima, pode conter mais de uma condição utilizando os operadores lógicos e relacionais , por exemplo.

Exemplo 4
#include <iostream>
using namespace std;
int main(void)
{
    int sair = 0;
    int opcao = -1;

    while (sair != -1)
    { 
        cin >> opcao;
        if (opcao == -1)
    	    sair = opcao;
        else
           	cout << "processa opcao" << endl;
    }
    return 0;
}
Saída
-

Quando while é usado para trabalhar com contadores, a inicialização de variáveis é feita fora do while e o incremento no corpo do while.

Exemplo 5
#include <iostream>
using namespace std;

int main ()
{
   int a=0;
   while( a < 3)
   {
      cout << a << endl;
      a++;
   }
   return 0;
}
            
Saída
0
1
2

O comando do-while executa o trecho de código que está contido em seu corpo e posteriormente verifica a condição para decidir se deve ou não continuar fazendo as repetições. Difente do while, do-while executa primeiro um trecho de código.

Fluxograma e sintaxe seguem abaixo:

Fig. 4: Comando do-while
Sintaxe
do
{
   //trecho de código executado em loop
}
while(condicao);

A condicao na sintaxe acima, pode conter mais de uma condição utilizando os operadores lógicos e relacionais , por exemplo.

Exemplo 6
#include <iostream>
using namespace std;

int main ()
{
    int a=0;

    do
    {
      cout << a << endl;
      a++;
    }
    while(a < 3);

   return 0;
}
Saída
0
1
2

A linguagem C++ fornece os comandos de parada break e continue. Nesta parte do tutorial vamos aprender esses comandos.

Para parar ou quebrar a execução de um comando de repetição como for, while e do-while, C++ possui o comando break:

Sintaxe
break;

Quando a linha de código contendo break é executada, o fluxo de execução do comando de repetição é parado e desviado para fim do bloco de comando.

Exemplo 7
#include <iostream>
using namespace std;

int main ()
{
   int a=0;
   
   while( a < 10 )
   {
      cout << a << endl;
      if(a == 5)
        break;
      a++;
   }
   return 0;
}

Saída
0
1
2
3
4
5

O comando break só pode ser utilizado dentro dos comandos for, while, do-while e switch.

Para pularmos a execução de apenas um laço/loop em comandos de repetição for, while, do-while, C++ fornece o comando continue:

Sintaxe
continue;

Quando a linha de código contendo continue é executada, o fluxo de execução do laço atual é parado ou interrompido e desviado para o início do próximo laço do comando.

Exemplo 8
#include <iostream>
using namespace std;

int main ()
{
   int a=0;
   while( a <= 10 )
   {
       if ( a == 5) { //não imprime 5
            a++; 
            continue;
       }
       else {
            std::cout << a << std::endl;           
       }
       a++;
   }
   return 0;
}
Saída
0
1
2
3
4
6
7
8
9
10

O comando continue só pode ser usado dentro dos comandos de repetição for, while e do-while.

  1. 28/07/2025 - revisão 3 - adição: links internos p/ 'operadores', 'switch' ; ajustes: sintaxes
  2. 30/09/2024 - revisão 2 - ajustes pontuais
  3. 09/02/2024 - revisão 1 - correção em navegação, css e erros gramaticais
  4. 30/06/2023 - versão inicial