Xem thêm

Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)

Huy Erick
Trong bài viết này, chúng ta sẽ tìm hiểu về lệnh switch case trong C++. Lệnh này là một lệnh rẻ nhánh rất hữu ích. Cuối bài viết cũng tổng hợp một số bài tập...

Trong bài viết này, chúng ta sẽ tìm hiểu về lệnh switch case trong C++. Lệnh này là một lệnh rẻ nhánh rất hữu ích. Cuối bài viết cũng tổng hợp một số bài tập switch case giúp bạn thực hành nữa đấy.

test php

Trong bài viết trước, chúng ta đã tìm hiểu về cấu trúc điều khiển if trong C++ là gì. Trong bài viết này, chúng ta sẽ tìm hiểu một cấu trúc điều khiển khác, đó là switch case.

Vậy switch case là gì? Chúng ta hãy tìm hiểu trong phần tiếp theo.

1. Cấu trúc lệnh switch case trong C++

Lệnh switch case tương tự như lệnh if-else if chúng ta đã học trước đó. Nghĩa là nó có nhiều điều kiện, và chương trình sẽ duyệt và kiểm tra từng điều kiện từ trên xuống dưới. Nếu điều kiện nào thõa mãn, đoạn code bên trong điều kiện đó sẽ được thực thi.

Cú pháp switch case

Cú pháp của cấu trúc lệnh switch case trong C++ như sau:

switch(expression)
{
  case constant-expression1:
    //Đoạn code thực thi khi constant-expression1 thõa mãn
    break;
  case constant-expression2:
    //Đoạn code thực thi khi constant-expression2 thõa mãn
    break;
  ...
  default:
    //Đoạn code thực thi nếu không có điều kiện nào thõa mãn
    break;
}

Trong đó:

  • expression: là giá trị được truyền vào để so sánh với các điều kiện constant-expression.
  • constant-expression: là điều kiện để so sánh với giá trị của expression truyền vào.
  • break: là lệnh để thoát khỏi cấu trúc lệnh switch case.
  • default: đây là giá trị mặc định, khi không có giá trị của expression nào thỏa mãn điều kiện constant-expression, đoạn code bên trong default sẽ được thực thi.

Ví dụ: In ra số chẵn và số lẻ.

Trong ví dụ này, đoạn code ở case 1 sẽ được chạy.

Lưu đồ hoạt động switch case

Hãy xem lưu đồ hoạt động của cấu trúc lệnh switch case dưới đây:

Lưu đồ hoạt động switch case

2. Lưu ý khi sử dụng switch case C++

Dưới đây là một số điểm mà bạn cần lưu ý khi sử dụng lệnh switch case trong C++:

  1. constant-expression phải có cùng kiểu dữ liệu với expression và phải là một giá trị thực như 1, 2, 3, "Tốt", "Bình thường",...
  2. Lệnh break trong switch case được sử dụng để thoát khỏi cấu trúc lệnh. Một cấu trúc lệnh switch case không có lệnh break sẽ xét từng điều kiện một. Ví dụ, nếu điều kiện 1 thõa, đoạn code bên trong điều kiện 1 sẽ được thực thi. Tiếp tục xét điều kiện 2, nếu thõa, đoạn code bên trong điều kiện 2 sẽ được thực thi, và tiếp tục cho đến khi kết thúc cấu trúc lệnh switch case. Nếu sử dụng lệnh break, khi gặp break, chương trình sẽ thoát khỏi cấu trúc lệnh switch case và không xét tiếp điều kiện tiếp theo.
  3. Lệnh default trong cấu trúc lệnh switch case là tùy chọn, nhưng nên sử dụng lệnh default và đặt nó ở cuối cấu trúc switch case. Khi không có điều kiện nào thỏa mãn, đoạn code bên trong default sẽ được thực thi, và không cần sử dụng lệnh break bên trong default.
  4. Không được sử dụng 2 case có giá trị constant-expression trùng nhau.
  5. Cho phép lồng switch case, nhưng không khuyến khích vì làm cho chương trình phức tạp và khó đọc hơn.
  6. Nếu có nhiều điều kiện để so sánh, sử dụng cấu trúc lệnh switch case hơn là if-else if vì làm cho chương trình rõ ràng và dễ đọc hơn.

3. Ví dụ lệnh switch case trong C++

Chúng ta hãy xét một ví dụ phân loại sinh viên dựa vào kết quả điểm học tập. Nếu điểm A thì phân loại là sinh viên xuất sắc, điểm B là sinh viên loại giỏi, điểm C là sinh viên loại khá, điểm D là sinh viên loại trung bình, điểm F là sinh viên loại yếu. Đoạn code sử dụng cấu trúc lệnh switch case như sau:

char grade = 'A';

switch(grade)
{
  case 'A':
    cout << "Sinh viên xuất sắc!";
    break;
  case 'B':
    cout << "Sinh viên loại giỏi!";
    break;
  case 'C':
    cout << "Sinh viên loại khá!";
    break;
  case 'D':
    cout << "Sinh viên loại trung bình!";
    break;
  case 'F':
    cout << "Sinh viên loại yếu!";
    break;
  default:
    cout << "Không phân loại được";
    break;
}

Kết quả sau khi thực thi đoạn code trên:

g PNG

Ngoài ra, bạn có thể làm thêm những bài tập phía dưới để nâng cao kỹ năng sử dụng cấu trúc lệnh switch case.

4. Kết luận

Chúng ta đã tìm hiểu về cấu trúc lệnh switch case trong C++, và cũng biết cú pháp và cách sử dụng lệnh này.

Bài viết này kết thúc ở đây, trong bài viết tiếp theo, chúng ta sẽ tìm hiểu về vòng lặp for trong C++. Hãy tiếp tục theo dõi!

Đừng quên làm những bài tập thực hành dưới đây để nắm vững hơn!

1