Trong hướng dẫn này, chúng ta sẽ tìm hiểu về câu lệnh switch và hoạt động của nó trong lập trình C ++ với sự trợ giúp của một số ví dụ.
Câu switchlệnh cho phép chúng tôi thực thi một khối mã trong số nhiều lựa chọn thay thế.
Cú pháp của switchcâu lệnh trong C ++ là:
switch (expression) ( case constant1: // code to be executed if // expression is equal to constant1; break; case constant2: // code to be executed if // expression is equal to constant2; break;… default: // code to be executed if // expression doesn't match any constant )
Câu lệnh switch hoạt động như thế nào?
Giá trị expressionđược đánh giá một lần và so sánh với các giá trị của mỗi casenhãn.
- Nếu có khớp, mã tương ứng sau khi nhãn khớp sẽ được thực thi. Ví dụ, nếu giá trị của biến bằng
constant2, mã saucase constant2:sẽ được thực thi cho đến khibreakgặp câu lệnh. - Nếu không khớp, mã sau
default:sẽ được thực thi.
Lưu ý : Chúng ta có thể làm điều tương tự với if… else… ifcái thang. Tuy nhiên, cú pháp của switchcâu lệnh gọn gàng hơn và dễ đọc và dễ viết hơn nhiều.
Lưu đồ của câu lệnh switch
Lưu đồ của C ++ switch… case statement
Ví dụ: Tạo Máy tính bằng cách sử dụng Câu lệnh chuyển đổi
// Program to build a simple calculator using switch Statement #include using namespace std; int main() ( char oper; float num1, num2; cout <> oper; cout << "Enter two numbers: " <> num1>> num2; switch (oper) ( case '+': cout << num1 << " + " << num2 << " = " << num1 + num2; break; case '-': cout << num1 << " - " << num2 << " = " << num1 - num2; break; case '*': cout << num1 << " * " << num2 << " = " << num1 * num2; break; case '/': cout << num1 << " / " << num2 << " = " << num1 / num2; break; default: // operator is doesn't match any case constant (+, -, *, /) cout << "Error! The operator is not correct"; break; ) return 0; )
Đầu ra 1
Nhập toán tử (+, -, *, /): + Nhập hai số: 2.3 4.5 2.3 + 4.5 = 6.8
Đầu ra 2
Nhập toán tử (+, -, *, /): - Nhập hai số: 2.3 4.5 2.3 - 4.5 = -2.2
Đầu ra 3
Nhập toán tử (+, -, *, /): * Nhập hai số: 2.3 4.5 2.3 * 4.5 = 10.35
Đầu ra 4
Nhập toán tử (+, -, *, /): / Nhập hai số: 2.3 4.5 2.3 / 4.5 = 0.511111
Đầu ra 5
Nhập toán tử (+, -, *, /):? Nhập hai số: 2.3 4.5 Error! Nhà điều hành không đúng.
Trong chương trình trên, chúng ta đang sử dụng switch… casecâu lệnh để thực hiện các phép tính cộng, trừ, nhân và chia.
Chương trình này hoạt động như thế nào
- Đầu tiên chúng tôi nhắc người dùng nhập toán tử mong muốn. Đầu vào này sau đó được lưu trữ trong
charbiến có tên oper. - Sau đó, chúng tôi nhắc người dùng nhập hai số, được lưu trữ trong các biến số float là num1 và num2.
- Sau đó,
switchcâu lệnh được sử dụng để kiểm tra toán tử do người dùng nhập:- Nếu người dùng nhập
+, phép cộng được thực hiện trên các số. - Nếu người dùng nhập
-, phép trừ được thực hiện trên các số. - Nếu người dùng nhập
*, phép nhân được thực hiện trên các số. - Nếu người dùng nhập
/, phép chia được thực hiện trên các số. - Nếu người dùng nhập bất kỳ ký tự nào khác, mã mặc định sẽ được in.
- Nếu người dùng nhập
Lưu ý rằng breakcâu lệnh được sử dụng bên trong mỗi casekhối. Điều này kết thúc switchtuyên bố.
Nếu breakcâu lệnh không được sử dụng, tất cả các trường hợp sau câu lệnh đúng casesẽ được thực thi.








