1. Tìm hiểu lệnh switch case
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.
Cú pháp
Cú pháp của cấu trúc điều khiển switch case trong C++ như sau:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
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ển
switch 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.
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:
- constant-expression phải cùng kiểu dữ liệu với expression và phải là hằng số như 1, 2, 3, “Good”, “Normal” …
- Lệnh
breakbên trongswitch casedùng để thoát khỏi cấu trúc điều khiểnswitch case. Một cấu trúc điều khiểnswitch casekhông cóbreaksẽ 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ểnswitch case. Nếuswitch casecó sử dụngbreak, thì khi gặp break sẽ thoát khỏi cấu trúc điều khiểnswitch casevà sẽ không xét tiếp điều kiện tiếp theo. - Lệnh
defaulttrong cấu trúc điều khiểnswitch caselà tùy chọn, tuy nhiên chúng ta nên sử dụng lệnhdefaultbên trongswitch casevà đặt nó ở cuối củaswitch, khi không có điều kiện nào thỏa thì đoạn code bên trongdefaultsẽ được thực thi, và chúng ta cũng không cần sử dụng lệnhbreakbên trongdefault. - Không được sử dụng 2 giá trị constant-expression trùng nhau.
- Cho phép
switch caselồng nhau, tuy nhiên không khuyến khích các bạn sử dụngswitch casetrù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. - 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 casehơn làif else ifvì nó làm cho chương trình cùa chúng ta rõ ràng và dễ đọc hơn.
Lưu đồ hoạt động
Hãy xem lưu đồ hoạt động của cấu trúc điều khiển switch casedưới đây:
2. Ví dụ với 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 sắ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:
|
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
28
29
30
|
#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:
3. 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.
Nguồn:https://freetuts.net




