Goto, Break và Continue
Trong bài này chúng ta sẽ cùng tìm hiểu qua 1 số câu lệnh bổ trợ trong quá trình sử dụng các cấu trúc rẽ nhánh và cấu trúc lặp như nhảy đến 1 dòng xác định, thoát khỏi vòng lặp tức thời,.. đó là các từ khóa goto
,break
, continue
. Nào bắt đầu thôi!
Goto statement
Thường thấy trong các câu lệnh if-else hoặc switch-case, lệnh goto giúp chúng ta “nhảy” đến 1 dòng code nào đó được xác định bởi label chúng ta sẽ cùng xem qua ví dụ dưới đây về cách dùng nó:
Chúng ta có thể thấy đề bài yêu cầu nhập 1 số dương, nếu nhập số âm sẽ xuất ra thông báo “Ban nhap vao so am, vui long nhap lai!” và cho người dùng quay về dòng code nhập lại số, đó chính là tác dụng của cặp đôi goto-label này 😃 label ở đây mình tạo là ThuLai và đoạn goto ThuLai nằm ở điều kiện if(n < 0) tương đương số nhập vào là số âm, kết quả chương trình khi mình test 1 vài số:
Với goto các bạn có thể vọc vạch để tạo ra 1 menu trên console cho phép người dùng nhập lựa chọn nhìn cũng rất ngầu, các bạn tự suy nghĩ và làm thử nếu thắc mắc gì bình luận bên dưới mình giúp nhé.
Không thể dùng goto để nhảy xuống label được viết phía sau dòng goto (hay còn gọi là goto và label không thể trong cùng 1 block)
Break statement
Trong switch-case, break được đặt sau mỗi case để dánh dấu kết thúc cho case đó và bạn có thể dùng break với chức năng tương tự cho các cấu trúc vòng lặp như while, do-while hoặc for.
Break cho vòng lặp for
Dùng để thoát ra khỏi vòng lặp bất cứ khi nào bạn cần mà không cần đợi đến phần xét điều kiện, chương trình sau cho phép người dùng nhập tối đa vào 10 số, mỗi lần nhập sẽ in ra số đó, nếu nhập số -1 sẽ thoát khỏi vòng lặp và không in số -1.
Nó sẽ cực kì tiện lợi khi bạn muốn custom vòng lặp for của mình để hạn chế việc chạy hết vòng lặp.
Break cho vòng lặp while
Như việc bạn dùng với vòng lặp for ở trên và ngoài ra ở while thường dùng break để có thể thoát ra khỏi vòng lặp vô hạn, chúng ta cùng nhau làm lại ví dụ ở phần goto statement và lần này sẽ dùng vòng lặp vô hạn kết hợp với break nhé
Khi chạy chương trình chúng ta nhận được kết quả tương tự
Ở mức độ cơ bản, chúng ta sử dụng cách dùng goto-lablel hoặc while-break đều không có quá nhiều khác biệt, khi đụng đến bài tập các bạn nhớ được ít nhất 1 cách là OK!
Continue statement
Lệnh continue được sử dụng cho cấu trúc lặp với chức năng bỏ qua lần lập hiện tại và đến lần lập tiếp theo, chương trình sau sẽ in ra số từ 1 đến 10 và bỏ qua số 5
Khi dùng continue cho while (hoặc do-while) các bạn chú ý phần bỏ qua của continue, bạn có thể cho bỏ qua cả phần thay đổi giá trị biến lặp khiến cho vòng lặp biến thành vòng lặp vô hạn.
Tổng kết
Chúng ta đã cùng nhau tìm hiểu về goto, break và continue trong C++, các bạn hãy truy cập vào Series hướng dẫn lập trình C++ by TuiTuCode để học tiếp những bài thú vị khác nhé. Có thắc mắc về bài học các bạn để lại bình luận bên dưới để được giải đáp ngay và đừng quên theo dõi page Tui Tự Code để cập nhật các bài viết mới nhé. Pie~