Công tắc C
Tuyên bố chuyển đổi
Thay vì viết nhiều câu lệnh if..else
, bạn có thể sử dụng câu lệnh switch
.
Câu lệnh switch
chọn một trong nhiều khối mã để thực thi:
Cú pháp
switch ( expression ) {
case x:
// code
block
break;
case y:
// code block
break;
default:
// code block
}
Đây là cách nó hoạt động:
- Biểu thức
switch
được đánh giá một lần - Giá trị của biểu thức được so sánh với giá trị của từng
case
- Nếu trùng khớp, khối mã liên quan sẽ được thực thi
- Câu lệnh
break
thoát ra khỏi khối switch và dừng việc thực thi - Câu lệnh
default
là tùy chọn và chỉ định một số mã sẽ chạy nếu không khớp kiểu chữ nào
Ví dụ dưới đây sử dụng số ngày trong tuần để tính tên ngày trong tuần:
Ví dụ
int day = 4;
switch (day) {
case 1:
printf("Monday");
break;
case 2:
printf("Tuesday");
break;
case 3:
printf("Wednesday");
break;
case 4:
printf("Thursday");
break;
case 5:
printf("Friday");
break;
case 6:
printf("Saturday");
break;
case 7:
printf("Sunday");
break;
}
// Outputs "Thursday" (day 4)
Hãy tự mình thử »Từ khóa nghỉ giải lao
Khi C gặp từ khóa break
, nó sẽ thoát ra khỏi khối switch.
Điều này sẽ dừng việc thực thi thêm mã và kiểm tra trường hợp bên trong khối.
Khi tìm thấy kết quả phù hợp và công việc đã hoàn thành thì đã đến lúc nghỉ ngơi. Không cần phải thử nghiệm thêm.
Việc ngắt có thể tiết kiệm rất nhiều thời gian thực thi vì nó "bỏ qua" việc thực thi tất cả phần còn lại của mã trong khối chuyển đổi.
Từ khóa mặc định
Từ khóa default
chỉ định một số mã để chạy nếu không có trường hợp nào khớp:
Ví dụ
int day = 4;
switch (day) {
case 6:
printf("Today is
Saturday");
break;
case 7:
printf("Today is Sunday");
break;
default:
printf("Looking forward to the Weekend");
}
// Outputs "Looking forward to the Weekend"
Hãy tự mình thử »Lưu ý: Từ khóa mặc định phải được sử dụng làm câu lệnh cuối cùng trong switch và không cần ngắt.