- Cấu trúc lặ p
6. int i=100; // 100 là số tự nhiên nhỏ nhất có 3 chữ số 7.
Hướng dẫn lập trình hướng đối tượng với C++_ first_pace
b. Sử dụng break
continue chỉ dùng để kết thúc sớm một lần lặp, rồi lại chuyển ngay qua lần lặp tiếp theo. Để thốt hồn tồn khỏi vịng lặp thì ta phải sử dụng lệnh break. Khi chương trình gặp câu lệnh break, nó sẽ thốt ln khỏi vịng lặp và tiếp tục thực thi câu lệnh tiếp theo ngay sau vịng lặp. Điều này hồn tồn giống như trong ví dụ về lệnh switch mà mình đã đề cập ở trên. Chương trình sau mơ tả cách hoạt động của lệnh break cho vòng lặp while.
C++ Code:
1. // chương trình tìm số tự nhiên có 3 chữ số nhỏ nhất chia hết cho 13
2. #include <iostream>
3. using namespace std;
4.
5. int main(){
6. int i=100; // 100 là số tự nhiên nhỏ nhất có 3 chữ số7. 7.
8. while(i<=999){ // 999 là số tự nhiên lớn nhất có 3 chữ số 9. if(i%13==0){ // nếu i chia hết cho 13 9. if(i%13==0){ // nếu i chia hết cho 13
10. cout << i << endl; 11. break; 11. break;
12. }
12. } 17.}
Chú ý: khi có nhiều vịng lặp lồng nhau thì lệnh break chỉ thốt ra khỏi vịng lặp hiện tại,
chứ khơng phải thốt hết ra khỏi mọi vòng lặp.
c. Sử dụng goto
Câu lệnh goto là lệnh rẽ nhánh vô điều kiện (unconditional branch statement). Kinh nghiệm của các tiền bối đi trước cho thấy sử dụng lệnh goto sẽ là chương trình trở nên rối rắm và khó kiểm sốt. Người ta thường gọi những đoạn code tối nghĩa như vậy
là “spaghetti code”. Tuy nhiên có một vài trường hợp nó tỏ ra khá hữu dụng. Ví dụ khi ta
muốn thốt từ vịng lặp trong cùng của một khối các vòng lặp lồng nhau, ra bên ngồi thì dùng goto là một phương án tốt, hoặc khi tốc độ xử lý chương trình là mối quan tâm hàng đầu thì goto có thể được chọn. Để sử dụng goto ta chỉ cần chỉ định một nhãn (label) để nó “nhảy tới”. Một nhãn là một định danh hợp lệ theo sau bởi dấu hai chấm. Chương trình sau in ra 100 số nguyên dương đầu tiên sử dụng lệnh goto.
C++ Code:
1. // chương trình in ra 100 số nguyên dương đầu tiên
2. #include <iostream>
3. using namespace std;