Published
Last modified
Break e Continue em C/C++
Controlando o fluxo de seu algoritmo com pontos de parada repentinos ou avanço para direto para o próximo item em uma estrutura de repetição. Aprenda para que serve o BREAK e CONTINUE.

Comando BREAK
O comando BREAK é utilizado basicamente em conjunto com duas estruturas - as estruturas de iteração (FOR, WHILE e DO WHILE) e com o SWITCH.
O break é utilizado para sair abruptamente da estrutura. Por exemplo, se estivermos em uma iteração (repetição) e um tal resultado ocorrer, o programa deve sair da iteração. Em muito casos devemos utilizar isso. Pois nem sempre é possível que uma iteração possa ir até o fim.
Para ficar mais simplificado, vejamos o exemplo:
#include <iostream>
#include <cstdlib>
using namespace std;
int main (void){
int i;
for (i=1; i<=1000; i++) //i vai de 1 a 1000
{
cout <<i<<"\n";
}
cout <<"1a Sequencia - nao tem break - vai de 1 a 1000\n";
system ("pause");
for (i=1; i<=1000; i++) //i vai de 1 a 1000
{
cout <<i<<"\n";
if (i==200) //se i for 200
break; //sair da iteração
}
cout <<"\n2a Sequencia - tem break - vai de 1 a 200, ";
cout <<"mesmo que tenha que acabar em mil\n";
system ("pause");
return EXIT_SUCCESS;
}
Na primeira iteração definimos: i deve começar em 1 e deve contar até que i seja menor ou igual a 1000. Como podemos ver, esta iteração vai de 1 a 1000.
Na segunda iteração definimos a mesma coisa: i deve começar em 1 e deve contar até que i seja menor ou igual a 1000. Mas aqui, colocamos a seguinte condição: se i for igual a 200, então saia da iteração (break). A iteração ainda continua sendo de 1 a 1000. Mas vai apenas de 1 a 200, pois quando chega a 200 o break é ativado.
Comando Continue
O comando continue se parece com o comando break, mas a diferença é que ele apenas ignora o resto do bloco de dados de uma iteração.
Vamos imaginar um programa que deve retornar apenas os múltiplos de 5 de uma sequência dada pelo usuário. Então, temos que verificar número por número e devemos ignorar todos os números que não são múltiplos de 5. Vejamos os exemplos:
#include <iostream>
#include <cstdlib>
using namespace std;
int main (void){
int inicio, limite, i;
cout <<"Digite o inicio da sequencia: ";
cin >> inicio;
cin.ignore ();
cout <<"Digite o limite da sequencia: ";
cin >> limite;
cin.ignore ();
if (inicio>=limite){
cout <<"\aO limite deve se maior que o inicio";
main ();
}
for (i=inicio;i<=limite;i++){
if ((i%5)!=0) // se não for divisível por 5
continue; // ignora o resto e continua com o for
cout <<i<<"\n";
}
cout <<"Sequencia com continue - mostra apenas multiplos de 5\n";
system ("pause");
return EXIT_SUCCESS;
}
Como podemos ver, sempre que um número não for múltiplo de 5 (ou não é divisível por 5), o programa deve ignorar o resto do bloco do for e repetir o código com o número seguinte. É como se o resto do código nem estivesse lá.

Break e Continue em C/C++ by Denys Xavier is licensed under a Creative Commons Attribution 4.0 International License.