C Các tuyên bố về trường hợp chuyển đổi

C Switch Case Statements



Câu lệnh switch — hay đơn giản là câu lệnh case — là một cơ chế dòng điều khiển xác định việc thực thi một chương trình dựa trên giá trị của một biến hoặc một biểu thức.

Sử dụng câu lệnh switch cho phép bạn kiểm tra nhiều điều kiện và chỉ thực thi một khối cụ thể nếu điều kiện là đúng. Mặc dù nó hoạt động tương tự như câu lệnh if… else if… .else, nhưng cú pháp đơn giản hơn và dễ đọc và dễ quản lý hơn.







Hướng dẫn này tập trung vào việc chỉ cho bạn cách tạo và làm việc với các câu lệnh switch trong lập trình C.



Cách sử dụng cơ bản

Câu lệnh switch rất dễ thực hiện. Cú pháp chung như hình dưới đây:



chuyển (expr) {
casevar1:
// mã số
nghỉ;
casevar2:
//mã số
nghỉ;
casevar3:
// mã số
nghỉ;
casevarN:
// mã số
nghỉ;
...
….
….
vỡ nợ:
//mã số
}

Làm thế nào nó hoạt động

Câu lệnh switch thực hiện một logic đơn giản để đánh giá từng khối trường hợp.





Nó bắt đầu bằng cách đánh giá biểu thức bên trong khối chuyển mạch. Sau đó, nó so sánh giá trị từ khối chuyển đổi với từng khối trường hợp.

Khi nó định vị khớp bên trong một trong các khối trường hợp đã xác định, nó sẽ thực thi mã bên trong khối đó cho đến khi gặp từ khóa break.



Nếu nó không gặp phải sự trùng khớp trong một trong hai khối trường hợp đã xác định, nó sẽ nhảy đến câu lệnh mặc định và thực thi mã bên trong nó. Khối mặc định là tùy chọn và có thể bỏ qua nếu không có hành động bắt buộc nào đối với trường hợp không khớp

GHI CHÚ: Tốt nhất là đảm bảo mỗi câu lệnh trường hợp kết thúc bằng một câu lệnh break để ngăn tất cả các câu lệnh sau khối phù hợp thực thi.

Ví dụ về tuyên bố trường hợp chuyển mạch C

Hãy để chúng tôi minh họa câu lệnh switch với một ví dụ rất đơn giản:

#bao gồm

intmain() {
NSở đâu= 5;
chuyển (ở đâu) {
case3:
printf ('Giá trị là 3');
nghỉ;
case4:
printf ('Giá trị là 4');
nghỉ;
case5:
printf ('Giá trị là 5');
nghỉ;
vỡ nợ:
printf ('Giá trị không phải là 3, 4 cũng không phải 5');
}
return0;
}

Nếu chúng ta chạy ví dụ trên, chúng ta sẽ nhận được kết quả tương tự như bên dưới:

Giá trị là5

Sơ đồ dòng sau minh họa logic của chương trình trên:

Một tuyên bố chuyển đổi lồng nhau

C cho phép bạn có các câu lệnh switch lồng nhau bên trong một câu lệnh switch. Câu lệnh switch lồng nhau liên quan đến giá trị của switch bên ngoài.

Hãy xem xét ví dụ sau:

#bao gồm

intmain() {
NSnợ= 5;
intaccess_code= 2028;
chuyển (nợ) {
trường hợp 1:
chuyển (access_code) {
case2021:
printf ('[+] Mã truy cập hợp lệ!');
nghỉ;
vỡ nợ:
printf ('[-] Mã truy cập không hợp lệ!');
}
nghỉ;
vỡ nợ:
printf ('[-] Chỉ Khoa 1 được phép!');
}
return0;
}

Trong ví dụ trên, chúng tôi triển khai hai câu lệnh switch. Lần đầu tiên kiểm tra xem khoản nợ được cung cấp là 1. Nếu đúng, nó sẽ chuyển sang khối chuyển đổi tiếp theo và kiểm tra mã truy cập hợp lệ.

Nếu giá trị ghi nợ không phải là một, việc thực thi sẽ chuyển sang khối mặc định.

Sau đây là việc thực thi đoạn mã trên với mã ghi nợ và mã truy cập chính xác và không chính xác.

Trong ví dụ đầu tiên, cả mã ghi nợ và mã truy cập đều đúng; do đó, việc thực thi không bao giờ đạt đến các khối mặc định.

Trong ví dụ thứ hai, cả mã ghi nợ và mã truy cập đều không chính xác; do đó, việc thực thi ngay lập tức chuyển đến khối mặc định đầu tiên.

Nguyên tắc cho các tuyên bố chuyển đổi

Sau đây là các hướng dẫn nhanh đáng chú ý khi tạo câu lệnh switch trong C.

  1. Bạn phải chuyển một biểu thức cho từ khóa switch.
  2. Câu lệnh trường hợp phải kiểm tra các giá trị duy nhất
  3. Chấm dứt mỗi khối trường hợp bằng cách sử dụng từ khóa break.
  4. Bạn có thể lồng nhiều câu lệnh switch.
  5. Bạn có thể bao gồm một câu lệnh mặc định khi một hành động cần thiết cho các trường hợp không khớp.

Phần kết luận

Hướng dẫn này đã hướng dẫn bạn những kiến ​​thức cơ bản về cách tạo và sử dụng câu lệnh C switch. Câu lệnh switch rất hữu ích khi bạn có các trường hợp quyết định phức tạp có thể khó thực hiện với câu lệnh and if else.