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.