Cách hoạt động của lệnh break và continue trong ngôn ngữ C

This entry is part 19 of 69 in the series

84

/ 100

This entry is part 19 of 69 in the series Học C Không Khó

Lệnh break và continue là các lệnh kiểm soát vòng lặp, 2 lệnh này cho phép chúng ta quản lý và làm việc với vòng lặp trở nên hiệu quả hơn. Bài viết này Lập trình không khó sẽ cùng các bạn độc giả tìm hiểu về lệnh break, lệnh continue. Mình sẽ trình bày chi tiết cách hoạt động của mỗi lệnh và lấy ví dụ cụ thể, thực tế để các bạn hiểu được vai trò của 2 lệnh này.

Video hướng dẫn lệnh break và continue

Trong vòng lặp, lệnh breakcontinue khi xuất hiện thì sẽ được bao bọc bởi một khối lệnh if, bởi vì nếu không có lệnh if bao bọc thì vòng lặp sẽ trở nên vô dụng. Để hiểu rõ hơn bạn hãy xem video dưới đây nhé.

Cách hoạt động của lệnh break

Một vòng lặp đang thực hiện nếu gặp lệnh break sẽ thoát vòng lặp ngay lập tức. Xem sơ đồ mô tả luồng hoạt động của vòng lặp khi có lệnh break dưới đây:

Bài 21. Lệnh break và continue trong CBài 21. Lệnh break và continue trong C

Bài tập thực hành

/*

Kiểm tra một số nguyên mà nó được tạo thành từ các số chẵn hay không?

Ví dụ: 8, 222, 246, …

*/

Ý tưởng giải: Các bạn lấy từng chữ số của số đó ra kiểm tra. Nếu chỉ cần gặp 1 chữ số là số lẻ thì có thể kết luận luôn là “Sai”. Ngược lại nếu duyệt qua tất cả các chữ số mà không thấy chữ số lẻ nào thì kết luận là “Đúng”

Sau đây là lời giải tham khảo sử dụng lệnh break:

0

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

 

#include <stdio.h>

 

int

main

(

)

{

    

int

number

;

    

printf

(

“\nNhap number = “

)

;

    

scanf

(

“%d”

,

&number);

 

    

bool

allEven

=

true

;

// Giả sử ban đầu là đúng

    

int

last

;

    

while

(

number

>

0

)

{

        

last

=

number

%

10

;

// lấy c/số cuối của number

 

        

if

(

last

%

2

==

1

)

{

            

allEven

=

false

;

            

break

;

// thoát vòng lặp

        

}

        

number

/=

10

;

// bỏ chữ số cuối của number

    

}

    

    

if

(

allEven

)

{

        

printf

(

“\nToan chu so chan!”

)

;

    

}

else

{

        

printf

(

“\nCo chu so le!”

)

;

    

}

 

}

 

Kết quả chạy chương trình:

0

1

2

3

4

5

6

7

8

 

PS G:\c_cources\day_21> .\BreakStatement.exe

Nhap number = 12345

Co chu so le!

https://nguyenvanhieu.vn/wp-admin/post.php?post=4339&action=edit#

PS G:\c_cources\day_21> .\BreakStatement.exe

Nhap number = 2222

Toan chu so chan!

 

Cách hoạt động của lệnh continue

Kết quả chạy chương trình:

Nếu một vòng lặp đang chạy mà gặp lệnh continue, tất cả các lệnh trong thân vòng lặp nằm phía dưới lệnh continue sẽ bị bỏ qua ở lần lặp hiện tại. Vòng lặp sẽ chuyển sang kiểm tra điều kiện và tiếp tục lặp(nếu điều kiện lặp còn thỏa mãn).

Bài 21. Lệnh break và continue trong CBài 21. Lệnh break và continue trong C

Bài tập thực hành

/*

In ra các chữ số chẵn từ 1 đến 100.

*/

Gợi ý: Duyệt từ 1 đến 100 sử dụng vòng lặp bất kỳ, nếu giá trị lặp hiện tại là số lẻ thì dùng continue để bỏ qua. Phía dưới continue sẽ là lệnh printf để in ra giá trị.

Lời giải tham khảo:

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

 

#include <stdio.h>

 

/*

    In ra các chữ số chẵn từ 1 đến 100.

*/

 

int

main

(

)

{

    

for

(

int

i

=

0

;

i

<

=

100

;

i

++

)

{

        

if

(

i

%

2

!

=

0

)

{

            

continue

;

        

}

        

printf

(

“%d “

,

i

)

;

    

}

}

 

Kết quả chạy chương trình:

0

1

2

3

 

PS G:\c_cources\day_21> .\CotinueStatement.exe

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100

 

 

Kết quả chạy chương trình: