Thứ Sáu, 3 tháng 5, 2024

30. Break và Continue trong C ++

Break

Break được sử dụng khi bạn muốn dừng vòng lặp (for, while, do-while) ngay lập tức. Khi gặp câu lệnh break trong một vòng lặp, vòng lặp sẽ kết thúc ngay lập tức và câu lệnh kế tiếp sau vòng lặp được thực thi.


Lệnh break có thể được sử dụng để kết thúc một case trong câu lệnh switch.


Nếu bạn sử dụng vòng lặp lồng nhau, câu lệnh break sẽ dừng việc thực hiện vòng lặp trong cùng và bắt đầu thực hiện câu lệnh kế tiếp sau vòng lặp trong cùng.

Ví dụ đây là một chương trình với vòng lặp while, nó sẽ in giá trị của a từ 10-19. Bạn nhập code vào IDE online và chạy thử

#include <iostream>
 
using namespace std;


int main(){
    int a = 10;
 
    while( a < 20 ) {   
        cout << a << endl;
        a++;
   
       
    }
 
    return 0;
}

Kết quả

 


 

 

Bây giờ chúng ta muốn kết thúc ngay khi a=15, ta sử dụng lệnh Break. Lưu ý cần phải có điều kiện. Đây là code

#include <iostream>
 
using namespace std;


int main(){
    int a = 10;
 
    while( a < 20 ) {   
        cout << a << endl;
        a++;
          
       
if( a > 15) {
            /* ket thuc vong lap khi a lon hon 15 */
            break;
        }

   
       
    }
 
    return 0;
}
 

Chạy thử trên IDE online, ta thấy kết quả

 


 

Continue

Câu lệnh continue khi được thực hiện nó sẽ bỏ qua các câu lệnh bên dưới nó trong vòng lặp và quay trở lại vòng lặp mới ngay. Thay vì buộc kết thúc vòng lặp như lệnh Break, nó buộc trở về kiểm tra điều kiện để thực hiện vòng lặp tiếp theo và bỏ qua các lệnh bên trong vòng lặp hiện tại sau lệnh continue.

Đối với vòng lặp for, câu lệnh continue làm cho điều khiển chương trình tăng hoặc giảm biến đếm của vòng lặp. Đối với vòng lặp while và do-while, câu lệnh continue làm cho điều khiển chương trình quay về đầu vòng lặp và kiểm tra điều kiện của vòng lặp.

Đây là một chương trình với vòng lặp do while thay vì while như ví dụ trong phần Break, nó sẽ in giá trị của a từ 10-19. Bạn nhập code vào IDE online và chạy thử.

 

#include <iostream>
 
using namespace std;


int main(){
    int a = 10;
 
    do {
        
   
        cout << a << endl;
        a++;
    
    } while( a < 20 );
 
 
    return 0;
}

Kết quả sẽ giống như chương trình sử dụng vòng lặp while. 





Bây giờ chúng ta muốn sử dụng Continue để chương trình không in ra giá trị a=15

Khi vòng lặp chạy tới a=15, chương trình cộng thêm 1 cho biến a (a thành 16) ngay sau đó quay về lệnh do (không thực hiện lệnh printf). Vòng tiếp theo, lúc này a=16, mọi thứ sẽ lặp lại như bình thường cho đến hết.

Đây là chương trình,  bạn nhập code vào IDE online và chạy thử.


#include <iostream>
 
using namespace std;


int main(){
    int a = 10;
 
    do {
        
       
if( a == 15) {
         // quay về do khi a = 15 (bỏ qua lệnh cout)
            a = a + 1;
            continue;
        }

        cout << a << endl;
        a++;
    
    } while( a < 20 );
 
 
    return 0;
}
 

Kết quả

 


 

Phần tiếp theo


Phần trước

 

 

Không có nhận xét nào:

Đăng nhận xét