Thứ Tư, 10 tháng 4, 2024

28.Break và Continue

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 <stdio.h>
 
int main () {
    int a = 10;
 
    while( a < 20 ) {   
        printf("Gia tri cua a: %d\n", a);
        a++;
   
       
    }
 
   return 0;
}

Kết quả

Break và continue trong lập trình C


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 <stdio.h>
 
int main () {
    int a = 10;
 
    while( a < 20 ) {   
        printf("Gia tri cua a: %d\n", a);
        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 <stdio.h>
 
int main () {
    int a = 10;
 
    do {
        
   
        printf("Gia tri cua a: %d\n", a);
        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 <stdio.h>
 
int main () {
    int a = 10;
 
    do {
       
if( a == 15) {
         // quay về
do khi a = 15 (bỏ qua lệnh printf)
            a = a + 1;
            continue;
        }

   
        printf("Gia tri cua a: %d\n", a);
        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