Menu
CoddyTech

Câu lệnh switch

Thuộc phần Kiến thức nền tảng trong hành trình C++ của Coddy. Bài học 29 trên 74.

Câu lệnh switch giống như câu lệnh if có nhiều nhánh. Thay vì kiểm tra một điều kiện duy nhất, nó so sánh giá trị của một biến với nhiều trường hợp, rồi chạy đoạn code tương ứng với trường hợp khớp.

Đây là cấu trúc cơ bản của câu lệnh switch:

switch (variable) {
    case value1:
        // Code cần chạy nếu variable bằng value1
        break;
    case value2:
        // Code cần chạy nếu variable bằng value2
        break;
    // ... các trường hợp khác
    default:
        // Code cần chạy nếu không có trường hợp nào khớp
}
  • Từ khóa switch đứng sau biến bạn muốn kiểm tra, đặt trong dấu ngoặc đơn.
  • Mỗi case đại diện cho một giá trị có thể có của biến.
  • Code bên trong mỗi case sẽ chạy nếu biến khớp với giá trị của trường hợp đó.
  • Câu lệnh break rất quan trọng; nó thoát khỏi switch sau khi thực thi một trường hợp. Nếu không có câu lệnh này, chương trình sẽ “chạy tiếp” sang trường hợp tiếp theo.
  • Trường hợp default không bắt buộc và sẽ được thực thi nếu không có trường hợp nào khác khớp.

Đây là một ví dụ:

int day = 3;
std::string dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    // ... các trường hợp cho những ngày khác
    default:
        dayName = "Invalid day";
}

Bạn cũng có thể gộp nhiều trường hợp thành một:

int day = 3;
std::string dayName;

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    // ... các nhánh case cho những ngày khác
    default:
        dayName = "Invalid day";
}
challenge icon

Thử thách

Người mới

Tạo một chương trình nhận số tháng (1 cho tháng January, 2 cho tháng February, v.v.) và in ra mùa tương ứng. Dùng câu lệnh switch cho phần logic.

Các mùa và những tháng tương ứng là:

  • Winter: December (12), January (1), February (2)
  • Spring: March (3), April (4), May (5)
  • Summer: June (6), July (7), August (8)
  • Autumn: September (9), October (10), November (11)
  • Invalid month: với các lựa chọn khác

Tự làm thử

#include <iostream>

int main() {
    int month;
    std::cin >> month;
    std::string season = "";
    
    // Viết code của bạn bên dưới
    
    
    std::cout << season << std::endl;
    return 0;
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch C++ online