Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)
Trong bài này chúng ta sẽ tìm hiểu lệnh switch case trong C++, đây là cũng là một lệnh rẻ nhánh rất hữu ích. Cuối bài học mình có tổng hợp một số bài tập switch case giúp bạn thực hành nữa nhé.
Ở bài học trước chúng ta đã cùng tìm hiểu về cấu trúc điều khiển if
trong C++ là gì rồi. Trong bài học hôm nay chúng ta sẽ cùng tìm hiểu một cấu trúc điều khiển khác nữa đó là switch case
.
Vậy cấu trúc điều khiển switch case
là gì? Chúng ta cùng tìm hiểu trong nội dung tiếp theo nhé.
1. Cấu trúc lệnh switch case trong C++
Lệnh switch case
cũng tương tự như lệnh if else if
mà chúng ta đã được học ở bài trước. Nghĩa là nó có nhiều điều kiện, chương trình chúng ta duyệt từng điều khiện từ trên xuống dưới, nếu thõa điều kiện nào thì đoạn code bên trong điều kiện đó sẽ được thực thi.
Bài viết này được đăng tại [free tuts .net]
Cú pháp switch case
Cú pháp của cấu trúc điều khiển switch case
trong C++ như sau:
switch(expression) { case constant-expression: statement(s); break; //optional case constant-expression: statement(s); break; //optional default : //Optional statement(s); }
Trong đó:
expression
: Là giá trị được truyền vào để so sánh với các điều kiện constant-expression.constant-expression
: Là điều kiện để so sánh với giá trị của expression truyền vào.break
: Là lệnh để thoát khỏi cấu trúc điều khiểnswitch case
.default
: Đây là giá trị mặc định, khi không có giá trị của expression nào thõa điều kiện constant-expression thì đoạn code bên trong default sẽ được thực thi.
Ví dụ: In ra số chẵn và số lẻ.
#include <iostream> using namespace std; int main() { int number = 3; switch (number % 2){ case 0: cout << "So chan"; break; case 1: cout << "So le"; break; } return 1; }
Trong ví dụ này thì bạn thấy lệnh ở case 1 sẽ được chạy.
Lưu đồ hoạt động switch case
Hãy xem lưu đồ hoạt động của cấu trúc điều khiển switch case
đưới đây:
2. Lưu ý khi sử dụng switch case C++
Một số điểm mà các bạn cần lưu ý khi sử dụng lệnh switch case
trong C++ như sau:
Thứ nhất. constant-expression phải cùng kiểu dữ liệu với expression và phải là một giá trị thực như 1, 2, 3, "Good", "Normal" ...
Thứ hai. Lệnh break
bên trong switch case
dùng để thoát khỏi cấu trúc điều khiển switch case
. Một cấu trúc điều khiển switch case
không có break
sẽ xét từng điều kiện một, ví dụ như nếu điều kiện 1 thõa thì sẽ thực thi đoạn code bên trong điều kiện 1, tiếp tục xét điều kiện 2 nếu thõa sẽ thực thi đoạn code bên trong điều kiện 2 và cứ tiếp tục cho đến khi kết thúc điều khiển switch case
. Nếu switch case
có sử dụng break
, thì khi gặp break sẽ thoát khỏi cấu trúc điều khiển switch case
và sẽ không xét tiếp điều kiện tiếp theo.
Thứ ba. Lệnh default
trong cấu trúc điều khiển switch case
là tùy chọn, tuy nhiên chúng ta nên sử dụng lệnh default
bên trong switch case
và đặt nó ở cuối của switch
, khi không có điều kiện nào thõa thì đoạn code bên trong default
sẽ được thực thi, và chúng ta cũng không cần sử dụng lệnh break
bên trong default
.
Thứ tư. Không được sử dụng 2 case có giá trị constant-expression
trùng nhau.
Thứ năm. Cho phép switch case
lồng nhau, tuy nhiên không khuyến khích các bạn sử dụng switch case
trùng nhau vì nó làm cho chương trình chúng ta phức tạp và khó đọc hơn thôi.
Thứ sáu. Nếu có nhiều điều kiện để so sánh thì khuyến khích các bạn sử dụng cấu trúc điều khiển switch case
hơn là if else if
vì nó làm cho chương trình cùa chúng ta rõ ràng và dễ đọc hơn.
3. Ví dụ lệnh switch case trong C++
Chúng ta cùng xét một ví dụ phân loại sinh viên dựa vào kết quả điểm học tập. Nếu điểm A thì phân loại là sinh viên xuất xắc, điểm B là sinh viên loại giỏi, điểm C là sinh viên loại khá, điểm D là sinh viên loại trung bình, điểm F là sinh viên loại yếu. Được viết bằng cấu trúc điều khiển switch case
như sau:
#include <iostream> using namespace std; int main () { char diem = 'A'; switch(diem) { case 'A': cout << "Xuat xac" << endl; break; case 'B': cout << "Gioi" << endl; break; case 'C': cout << "Kha" << endl; break; case 'D': cout << "Trung Binh" << endl; break; case 'F': cout << "Yeu" << endl; break; default: cout << "Diem khong hop le" << endl; } cout << "Diem cua ban la: " << diem << endl; return 0; }
Và kết quả sau khi thực thi đoạn code trên:
Ngoài ra, bạn có thể làm thêm những bài tập phía dưới để nâng cao kỹ năng sử dụng lệnh này nhé.
4. Kết luận
Như vậy là chúng ta đã cùng tìm hiểu cấu trúc điều khiển switch case
trong C++ là gì rồi, và bạn cũng biết cú pháp và cách sử dụng lệnh switch case trong C++.
Bài này mình xin dừng tại đây, trong bài tiếp theo chúng ta sẽ cùng tìm hiểu về vòng lặp for
trong C++. Các bạn nhớ theo dõi tiếp nhé.
Đừng quên làm những bài tập thực hành dưới đây để nắm vững hơn nhé.
5. Bài tập switch case c++
- C++ - Nhập tháng số in ra tên tháng
- C++ - Tìm số ngày của một tháng bất kỳ được nhập từ bàn phím
- C++ - Tạo một máy tính đơn giản
- C++ - Kiểm tra ký tự là nguyên âm hay phụ âm
- C++ - Kiểm tra một số là chẵn hay lẻ
- Sử dụng lệnh switch-case C++ để xây dựng menu