En aquest tema, explorarem dues instruccions de control molt útils en C++: break
i continue
. Aquestes instruccions s'utilitzen per alterar el flux normal d'execució dels bucles i les estructures de control.
- Instrucció
break
break
Descripció
La instrucció break
s'utilitza per sortir immediatament d'un bucle (for
, while
, do-while
) o d'una estructura switch
. Quan es troba una instrucció break
, el control del programa salta a la següent instrucció després del bucle o del switch
.
Sintaxi
Exemple Pràctic
#include <iostream> using namespace std; int main() { for (int i = 0; i < 10; i++) { if (i == 5) { break; // Surt del bucle quan i és igual a 5 } cout << "i: " << i << endl; } cout << "Bucle finalitzat." << endl; return 0; }
Explicació
En aquest exemple, el bucle for
s'executa fins que i
és igual a 5. Quan i
arriba a 5, la instrucció break
s'executa i el bucle es trenca, saltant a la següent instrucció després del bucle.
- Instrucció
continue
continue
Descripció
La instrucció continue
s'utilitza per saltar l'iteració actual d'un bucle i passar a la següent iteració. Quan es troba una instrucció continue
, el control del programa salta a la següent iteració del bucle, ometent qualsevol codi restant en l'iteració actual.
Sintaxi
Exemple Pràctic
#include <iostream> using namespace std; int main() { for (int i = 0; i < 10; i++) { if (i % 2 == 0) { continue; // Salta les iteracions on i és parell } cout << "i: " << i << endl; } cout << "Bucle finalitzat." << endl; return 0; }
Explicació
En aquest exemple, el bucle for
s'executa de 0 a 9. Quan i
és parell, la instrucció continue
s'executa i el control del programa salta a la següent iteració del bucle, ometent el cout
per als valors parells de i
.
- Comparació entre
break
i continue
break
i continue
Instrucció | Funció | Exemple d'Ús |
---|---|---|
break |
Surt immediatament del bucle o switch |
Surt d'un bucle for quan es compleix una condició específica |
continue |
Salta a la següent iteració del bucle | Omet les iteracions d'un bucle for per a valors específics |
- Exercicis Pràctics
Exercici 1
Escriu un programa que imprimeixi els números de l'1 al 10, però que s'aturi quan arribi al número 7.
Solució
#include <iostream> using namespace std; int main() { for (int i = 1; i <= 10; i++) { if (i == 7) { break; } cout << "i: " << i << endl; } return 0; }
Exercici 2
Escriu un programa que imprimeixi els números de l'1 al 10, però que ometi els números parells.
Solució
#include <iostream> using namespace std; int main() { for (int i = 1; i <= 10; i++) { if (i % 2 == 0) { continue; } cout << "i: " << i << endl; } return 0; }
- Errors Comuns i Consells
Errors Comuns
- Ús incorrecte de
break
icontinue
: Assegura't d'entendre quan utilitzarbreak
per sortir d'un bucle icontinue
per saltar a la següent iteració. - Bucle infinit: Un ús incorrecte de
continue
pot provocar un bucle infinit si no es modifica la condició del bucle adequadament.
Consells
- Utilitza
break
per sortir de bucles quan es compleix una condició específica. - Utilitza
continue
per ometre iteracions específiques d'un bucle sense sortir completament del bucle.
Conclusió
Les instruccions break
i continue
són eines poderoses per controlar el flux d'execució dels bucles en C++. Comprendre com i quan utilitzar-les pot ajudar-te a escriure codi més eficient i llegible. Practica amb els exercicis proporcionats per reforçar aquests conceptes i estar preparat per a situacions reals de programació.
Curs de Programació en C++
Mòdul 1: Introducció al C++
- Introducció al C++
- Configuració de l'Entorn de Desenvolupament
- Sintaxi i Estructura Bàsica
- Variables i Tipus de Dades
- Entrada i Sortida
Mòdul 2: Estructures de Control
Mòdul 3: Funcions
- Introducció a les Funcions
- Paràmetres de Funció i Tipus de Retorn
- Sobrecàrrega de Funcions
- Recursivitat
Mòdul 4: Arrays i Strings
Mòdul 5: Punteres i Referències
- Introducció als Punteres
- Aritmètica de Punteres
- Punteres i Arrays
- Referències
- Assignació Dinàmica de Memòria
Mòdul 6: Programació Orientada a Objectes
- Introducció a la POO
- Classes i Objectes
- Constructors i Destructors
- Herència
- Polimorfisme
- Encapsulació i Abstracció
Mòdul 7: Temes Avançats
- Plantilles
- Gestió d'Excepcions
- Entrada/Sortida de Fitxers
- Biblioteca de Plantilles Estàndard (STL)
- Expressions Lambda
- Multifil