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
break
bên trongswitch case
dùng để thoát khỏi cấu trúc điều khiểnswitch case
. Một cấu trúc điều khiểnswitch 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ểnswitch case
. Nếuswitch case
có sử dụngbreak
, thì khi gặp break sẽ thoát khỏi cấu trúc điều khiểnswitch case
và sẽ không xét tiếp điều kiện tiếp theo. - Lệnh
default
trong cấu trúc điều khiểnswitch case
là tùy chọn, tuy nhiên chúng ta nên sử dụng lệnhdefault
bên trongswitch case
và đặt nó ở cuối củaswitch
, khi không có điều kiện nào thỏa thì đoạn code bên trongdefault
sẽ được thực thi, và chúng ta cũng không cần sử dụng lệnhbreak
bên trongdefault
. - Không được sử dụng 2 giá trị constant-expression trùng nhau.
- Cho phép
switch case
lồng nhau, tuy nhiên không khuyến khích các bạn sử dụngswitch 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. - 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.
Lưu đồ hoạt động
Hãy xem lưu đồ hoạt động của cấu trúc điều khiển switch case
dướ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