Từ trước đến giờ, chúng ta đã coi xử lý của thân của vòng lặp như là một chuỗi các lệnh không thể tách rời và không thể tách rời được thực hiện toàn bộ ở mỗi lượt của vòng lặp. Tuy nhiên, là một LTV, bạn có thể phải đối mặt với những trường hợp sau:
- không cần phải thực hiện toàn bộ vòng lặp, cần stop việc thực tiếp tục thực hiện thân của vòng lặp và chuyển sang làm thực hiện một công việc khác
- chúng ta có thể bắt đầu việc kiểm tra điều kiện mà không cần thiết phải hoàn thành việc thực hiện hết lượt hiện tại của vòng lặp
Hai lệnh này là:
- break – thoát khỏi vòng lặp ngay lập tức và kết thúc vô điều kiện hoạt động của vòng lặp; Chương trình bắt đầu thực hiện lệnh gần nhất sau thân của vòng lặp;
- continue – thực hiện giống như đã thực hiện đến cuối của thân vòng lặp; biểu thức điều kiện sẽ được kiểm tra ngay lập tức.
Cả hai từ này đều là từ khoá.
Bây giờ chúng ta hãy nhìn vào hai ví dụ đơn giản. Chúng ta sẽ trở lại chương trình để nhận ra số lớn nhất đã nhập. Chúng ta sẽ thử code nó theo 2 cách, sử dụng break và continue
Đây là biến thể của chương trình sử dụng break →
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#include <iostream> using namespace std; int main(void) { int number; int max = -100000; int counter = 0; for( ; ; ){ cin >> number; if(number == -1) { break; } counter++; if(number > max) { max = number; } } if(counter) { cout << "The largest number is " << max << endl; } else { cout << "Are you kidding? You haven't entered any number!" << endl; } return 0; } |