Trong bài này bọn họ sẽ học lệnh Switch Case vào C, đó là lệnh dùng để rẻ nhánh công tác và nó gần giống với lệnh if else. Tuy nhiên, xét về tính thuận lợi thì if else vẫn ưu nuốm hơn.

Bạn đang xem: Cách dùng lệnh switch case

*


*

Lệnh Switch Case nhìn có vẻ như rườm rà, ko thực sự linh động trong câu hỏi rẻ nhánh chương trình, bởi vì nó chỉ soát sổ đúng từng một điều kiện mà thôi. Hãy tìm hiểu về cú pháp trước nhé và làm vài lấy một ví dụ để minh chứng lời bản thân nói nhé.

1. Cú pháp Switch Case vào C

Cú pháp của chính nó như sau:


switch (expression)​ case constant1: // statements break; case constant2: // statements break; . . . Default: // default statements
Trong đó:

expression là biểu thức cần kiểm traMỗi case là 1 trong trường hợp, giả dụ biểu thức thỏa mãn nhu cầu ở case nào thì case đó sẽ tiến hành chạy. Với lệnh break sinh sống mỗi case sẽ giúp đỡ thoát ngoài khối lệnh switch, tránh chứng trạng trình biên dịch chạy qua case tiếp theo.Trường hợp không có case nào phù hợp thì lệnh nghỉ ngơi default sẽ được chạy.

Như các bạn thấy, với cú pháp bởi thế thì sẽ khá khó trong việc tiến hành nhiều lệnh lồng nhau. Vị vậy phần nhiều lập trình viên vẫn thích áp dụng if else hơn.

Bài viết này được đăng trên


Tham khảo sơ đô hoạt động vui chơi của nó qua hình bên dưới đây.

Xem thêm: Bánh Mì Bò Sốt Tiêu Đen Đơn Giản Tại Nhà, Thực Đơn Hôm Nay: Bò Sốt Tiêu Đen

Ví dụ: Viết ứng dụng máy tính cơ bản

Trong lấy ví dụ này được cho phép người dùng nhập vào nhì số cùng phép toán bắt buộc tính, cùng chỉ gật đầu đồng ý các phép toán cộng, trừ, nhân, cùng chia.


#include int main() char operator; double n1, n2; printf("Nhập phép tính (+, -, *, /): "); scanf("%c", &operator); printf("Nhập nhì số cân tính: "); scanf("%lf %lf",&n1, &n2); switch(operator) case "+": printf("%.1lf + %.1lf = %.1lf",n1, n2, n1+n2); break; case "-": printf("%.1lf - %.1lf = %.1lf",n1, n2, n1-n2); break; case "*": printf("%.1lf * %.1lf = %.1lf",n1, n2, n1*n2); break; case "/": printf("%.1lf / %.1lf = %.1lf",n1, n2, n1/n2); break; // operator doesn"t match any case constant +, -, *, / default: printf("Error! operator is not correct"); return 0;
Theo như lấy một ví dụ này thì nếu:

Nhập vệt + thì case đầu tiên sẽ được chạyNhập dấu - thì case thứ 2 sẽ tiến hành chạyNhập vệt * thì case lắp thêm 3 sẽ tiến hành chạyNhập lốt / thì case sản phẩm 4 sẽ được chạyNhập ký tự khác thì vẫn chạy ngơi nghỉ default

Mình chạy cùng nhập một vài dữ liệu thì công dụng có dạng như sau:


2. Biến hóa Switch case sang trọng If else

Bây giờ mình đang thực hiện chuyển đổi chương trình trên bằng phương pháp thay nắm lệnh switch case thành lệnh if else. Tuy trông gồm vẻ xuề xòa nhưng xét đến code thì rất sáng sủa.


#include int main() char operator; double n1, n2; printf("Nhập phép tính (+, -, *, /): "); scanf("%c", &operator); printf("Nhập nhị số cân tính: "); scanf("%lf %lf",&n1, &n2); if (operator == "+") printf("%.1lf + %.1lf = %.1lf",n1, n2, n1+n2); else if (operator == "-") printf("%.1lf - %.1lf = %.1lf",n1, n2, n1-n2); else if (operator == "*") printf("%.1lf * %.1lf = %.1lf",n1, n2, n1*n2); else if (operator == "/") printf("%.1lf / %.1lf = %.1lf",n1, n2, n1/n2); else printf("Error! operator is not correct"); return 0;
Chạy lên các bạn sẽ nhận được tác dụng tương từ bỏ như phần 1.

Ngoài ra bạn có thể sử dụng lệnh switch case lồng nhau nhé, nhưng không nên bởi do đó trông code cực kỳ rối. Thay bởi đó bnạ hãy áp dụng lệnh if else lồng nhau sẽ xuất sắc hơn.

Trên là kiến sản phẩm công nghệ cơ bạn dạng của lệnh Switch vào C, hứa găp lại bạn ở bài tiếp theo sau nhé.






Tổng phù hợp hơn 1000 bài tập C / C++ có giải thuật

bài này vẫn tổng hợp hơn 1000 bài tập C / C++ tất cả lời giải…