Bài 22. Lệnh switch case trong C

Lệnh switch case là một cấu trúc điều khiển & rẽ nhánh hoàn toàn có thể được thay thế bằng cấu trúc if else. Tuy nhiên, việc sử dụng switch case sẽ giúp code của chúng ta dễ viết và dễ đọc hơn; Một điều nữa là sử dụng switch case có vẻ như cho hiệu năng tốt hơn so với sử dụng if else. Bạn có thể xem rõ hơn về ưu nhược điểm của dùng lệnh switch case ở phần tài liệu tham khảo

Video hướng dẫn lệnh switch case

Cách hoạt động của cấu trúc switch case

Dưới đây là cú pháp của lệnh switch case:

  • expression phải bắt buộc là giá trị hằng, có thể là biểu thức nhưng kết quả cần là hằng số.
  • Trong đó, expression sẽ được tính toán 1 lần duy nhất và sau đó so sánh với các giá trị của các case.
  • Nếu có 1 case nào đó khớp giá trị, các khối lệnh tương ứng sau case đó sẽ được thực hiện cho tới khi gặp lệnh break. Do đó, nếu chúng ta không sử dụng break thì tất cả các case kể từ case khớp giá trị đều được thực hiện.
  • Case default sẽ được thực hiện nếu không có case nào khớp giá trị với expression.

Dưới đây là sơ đồ khối mô tả hoạt động của lệnh switch case:

Mình xin 5 phút quảng cáo nha =))
Bài 23. Lệnh switch case trong C
Sơ đồ khối của lệnh switch case, nguồn: programiz.com

Bài tập thực hành

/*
Nhập vào 2 số nguyên a, b
Nhập vào phép toán +, -, *, /
Thực hiện tính toán theo phép toán nhập vào với hai số a, b

Ví dụ:


*/

Lời giải tham khảo sử dụng lệnh switch case:

Kết quả chạy chương trình:

Lệnh goto trong C

Lệnh goto cho phép code của bạn nhảy đến thực hiện ở vị trí label bất kỳ của chương trình mà không cần nhất định phải theo thứ tự từ trên xuống. Do tính chất nhảy “lung tung” chẳng giống ai nên lệnh goto không được khuyến khích sử dụng.

Cú pháp của lệnh goto như sau:

Trong đó, label là một định danh. Hình dưới đây cho thấy code đang chạy nếu gặp lệnh goto sẽ bỏ tiến trình sau nó mà nhảy tới nơi label để chạy tiếp.

Bài 23. Lệnh switch case trong C
Cách hoạt động của lệnh goto, nguồn: programiz.com

Ví dụ về việc sử dụng lệnh goto trong C:

Kết quả chạy chương trình:

Tài liệu tham khảo

  1. https://stackoverflow.com/questions/2158759/
  2. https://stackoverflow.com/questions/767821/
  3. https://www.programiz.com/c-programming/c-switch-case-statement
avatar
  Subscribe  
Notify of