Lệnh break, continue, goto đều có thể được sử dụng trong cấu trúc lặp for, while, do while. Cùng tìm hiểu cách sử dụng của những lệnh này nhé.
1. Lệnh break
Các bạn đã làm quen với lệnh break; trong cấu trúc rẽ nhánh switch. Các bạn cũng có thể sử dụng lệnh break; trong vòng lặp để kết thúc ngay vòng lặp chứa nó.
Chương trình C++ minh họa lệnh break;
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; i++) {
// break condition
if (i == 3) {
break; // terminate the loop
}
cout << i << endl;
}
system("pause");
}
Kết quả
1
2
Chương trình trên được sử dụng để in ra màn hình giá trị của biến i trong mỗi vòng lặp. Nhưng khi điều kiện i==3 thỏa mãn:
if (i == 3) {
break;//kết thúc vòng lặp
}
thì vòng lặp kết thúc. Do đó, chương trình không in ra giá trị lớn hơn hoặc bằng 3.
2. Lệnh continue
Chúng ta cũng có thể dùng từ khóa continue trong vòng lặp. Khi gặp từ khóa continue, nó sẽ kết thúc vòng lặp hiện tại. Nói cách khác, continue thoát khỏi một lần lặp, còn break thì kết thúc luôn vòng lặp.
Chương trình C++ minh họa lệnh continue;
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; i++) {
// condition to continue
if (i == 3) {
continue;//skip the iteration when i==3
}
cout << i << endl;
}
system("pause");
}
Kết quả
1
2
4
5
Chương trình trên được sử dụng để in ra màn hình giá trị của biến i trong mỗi vòng lặp. Nhưng khi điều kiện i==3 thỏa mãn:
if (i == 3) {
continue;//bỏ qua lần lặp khi i==3
}
thì bỏ qua lần lặp với i==3 rồi bắt đầu lần lặp mới và in ra tiếp 4 và 5.
3. Lệnh goto
Cú pháp:
goto label;
... .. ...
... .. ...
... .. ...
label:
statement;
... .. ...
Khi gặp lệnh goto, chương trình sẽ nhảy tới thực hiện câu lệnh viết sau nhãn (label) và tất nhiên là thoát khỏi vòng lặp luôn.
Chương trình C++ minh họa lệnh goto
#include <iostream>
using namespace std;
int main() {
float num, average, sum = 0.0;
int i, n;
cout << "Maximum number of inputs: ";
cin >> n;
for(i = 1; i <= n; ++i){
cout << "Enter n" << i << ": ";
cin >> num;
if(num < 0.0){
// Control of the program move to jump:
goto jump;
}
sum += num;
}
jump:
average = sum / (i - 1);
cout << "\nAverage = " << average;
system("pause");
}
Kết quả
Maximum number of inputs: 10
Enter n1: 2.3
Enter n2: 5.6
Enter n3: -5.6
Average = 3.95
Lệnh goto thường rất ít sử dụng và bạn nên cân nhắc khi sử dụng để tránh sự khó hiểu cho chương trình.
Qua bài này, các bạn đã biết cách sử dụng lệnh break, continue, goto trong C++. Hãy sử dụng chúng linh hoạt và phù hợp với yêu cầu bài toán nhé.