So Sánh Swich - Case Và If - Else? - Programing For Dummies

Tuesday, April 26, 2011

So sánh swich - case và if - else?

Đề bài

Để tiếp cận vấn đề hiệu quả nhất, tôi sẽ đưa ra bài toán nhỏ như sau: "Viết chương trình nhập một số nguyên từ bàn phím, nếu nhập số 0 thì in ra màn hình 'mau xanh' nếu 1 thì in ra màn hình 'mau do', nếu khác 0 và 1 thì in ra màn hình 'gia tri nhap vao khong dung' ".

Sử dụng if-else

If - else là công cụ tuyệt vời trong trường hợp này: Hình 1: Bài giải sử dụng lệnh if - else

Sử dụng switch-case

Nhưng chương trình cũng có thể được viết như sau: Hình 2: Bài giải sử dụng lệnh switch - case Tôi đã trình bày hai cách làm phổ biến nhất để giải quyết kiểu bài toán nhiều điều kiện đầu vào như đề bài. Hãy chắc chắn răng bạn đã biết rõ về lệnh switch case nhé: switch - case

So sánh if-else với switch-case

Đến đây sẽ có nhiều bạn tự hỏi tại sao lại có lệnh switch - case trong khi if - else hoàn toàn có thể giải quyết được vấn đề tương tự? Cũng đề bài trên những bây giờ tôi bổ sung lại điều kiện như sau: "nhập số nguyên có giá trị từ 0 đến 99 và sau đó in ra 100 màu tương ứng khác nhau". Trong trường hợp này, tôi sẽ giải thích vì sao lại phải có switch - case với 3 lý do chính như sau:
  • Switch - case sẽ giúp cấu trúc chương trình rõ ràng, dễ đọc, dễ hiểu hơn so với if-else.
  • Switch - case sẽ kiểm tra 1 biến để thực hiện 100 trường hợp khác nhau, còn if else phải kiểm tra 100 điều kiện để thực hiện 100 trường hợp khác nhau.
  • Giả sử số điều kiện lên đến 1000, nếu sử dụng if-else thì R.I.P cho anh lập trình viên ^^, vì phải viết rất nhiều biểu thức điều kiện có thể gây ra những nhầm lẫn không đáng có.
Đã có nhiều người muốn so sánh để tìm ra sự khác biệt về hiệu suất chương trình (tốc độ, khả năng tiêu tốn bộ nhớ ...) của hai câu lệnh swich-case và if-else nhưng hầu như không có sự khác biệt nào về hiệu suất giữa chúng. Lời khuyên của tôi là: Trong trường hợp số điều kiện nhiều bạn nên dùng switch case, còn nếu số điều kiện ít việc dùng if-else hay switch-case đơn giản chỉ là sở thích của bạn.

3 comments:

  1. AnonymousMarch 29, 2024 at 3:27 PM

    Thanksssss

    ReplyDeleteReplies
      Reply
  2. BìnhMarch 29, 2024 at 3:27 PM

    Thanksssssss

    ReplyDeleteReplies
      Reply
  3. thogkx5June 7, 2024 at 9:20 AM

    Hayyyyyyyyyyyy

    ReplyDeleteReplies
      Reply
Add commentLoad more... Newer Post Older Post Home Subscribe to: Post Comments (Atom)

Popular post

  • So sánh swich - case và if - else?
  • Mã máy (Machine Language) - Hợp ngữ (Assembly language)
  • Cách tổ chức source file trong C/C++ Project
  • Ưu nhược điểm của ngôn ngữ lập trình C
  • C/C++ Compiler hoạt động như thế nào?
  • Con trỏ đa cấp - Mảng hai chiều [Pointers to pointers - Two dimention array]
  • Lịch sử ra đời của ngôn ngữ lập trình C.
  • Enum và ứng dụng
  • Vì sao nên tổ chức C/C++ project thành nhiều source file?
  • Ứng dụng của Pointer - Cấp phát động (Dynamic memory allocation)

Từ khóa » Khi Nào Nên Dùng Switch Case