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 switch
lệ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 switch
câ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 case
nhã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 khibreak
gặ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… if
cái thang. Tuy nhiên, cú pháp của switch
câ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 statementVí 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… case
câ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
char
biế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 đó,
switch
câ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 break
câu lệnh được sử dụng bên trong mỗi case
khối. Điều này kết thúc switch
tuyên bố.
Nếu break
câu lệnh không được sử dụng, tất cả các trường hợp sau câu lệnh đúng case
sẽ được thực thi.