Câu lệnh switch

Trong các ngôn ngữ lập trình máy tính, câu lệnh switch hay câu lệnh chuyển đổi (tiếng Anh: 'switch statement') là một loại cơ chế điều khiển lựa chọn để cho phép giá trị của một biến hay biểu thức thay đổi luồng điều khiển của một chương trình thực thi thông qua tìm kiếm và ánh xạ.

Chức năng của câu lệnh switch có gì đó tương tự với câu lệnh if được sử dụng trong ngôn ngữ lập trình như C/C++, C#, Visual Basic.NET, Java và tồn tại trong hầu hết các ngôn ngữ lập trình mệnh lệnh cấp cao như Pascal, Ada, C/C++, C#, Visual Basic.NET, Java, và trong nhiều loại ngôn ngữ khác, dùng các từ khóa như switch, case, selectinspect.

Câu lệnh switch có hai biến thể: một là switch có cấu trúc như trong Pascal, vốn thực thi chính xác trong một nhánh, và switch không cấu trúc như trong C, với chức năng như một loại goto. Các lý do chính để dùng switch bao gồm cải thiện sự rõ ràng bằng cách giảm thiểu sự lặp lại của mã nguồn, và (nếu heuristic cho phép) cũng cho phép những tiềm năng để thực thi nhanh hơn thông qua tối ưu hóa trình biên dịch trong nhiều trường hợp.

Câu lệnh switch trong C
switch (age) {
  case 1:  printf("You're one.");            break;
  case 2:  printf("You're two.");            break;
  case 3:  printf("You're three.");          break;
  case 4:  printf("You're four.");  break;
  default: printf("You're not 1,2,3 or 4!");
}

Lịch sử

[sửa | sửa mã nguồn]

Trong bài viết Introduction to Metamathematics năm 1952, Stephen Kleene đã chính thức chứng minh rằng hàm CASE (là hàm IF-THEN-ELSE ở dạng đơn giản nhất) là một hàm đệ quy nguyên tố (primitive recursive function), trong đó ông định nghĩa khái niệm definition by cases theo cách sau:

"#F. The function φ defined thus
φ(x1 , ... , xn ) =
  • φ1(x1 , ... , xn ) if Q1(x1 , ... , xn ),
  • . . . . . . . . . . . .
  • φm(x1 , ... , xn ) if Qm(x1 , ... , xn ),
  • φm+1(x1 , ... , xn ) otherwise,

Cú pháp điển hình

[sửa | sửa mã nguồn]

Tham khảo

[sửa | sửa mã nguồn]

Đọc thêm

[sửa | sửa mã nguồn]
Chúng tôi bán
Bài viết liên quan
Review Visual Novel Summer Pockets Trial
Review Visual Novel Summer Pockets Trial
Summer Pocket là sản phẩm mới nhất của hãng Visual Novel danh giá Key - được biết đến qua những tuyệt tác Clannad, Little Buster, Rewrite
Baemin từ
Baemin từ "tân binh" đầy nổi bật thành "tàn binh" bên bờ vực dừng hoạt động ở Việt Nam
Thương hiệu "viral" khắp cõi mạng nhưng "không bao giờ có lãi", liệu có lặp lại câu chuyện của những chú gà vàng đen Beeline?
Nhân vật Erga Kenesis Di Raskreia trong Noblesse
Nhân vật Erga Kenesis Di Raskreia trong Noblesse
Erga Kenesis Di Raskreia (Kor. 에르가 케네시스 디 라스크레아) là Lãnh chúa hiện tại của Quý tộc. Cô ấy được biết đến nhiều hơn với danh hiệu Lord hơn là tên của cô ấy.
Nhân vật Zanac Valleon Igana Ryle Vaiself - Overlord
Nhân vật Zanac Valleon Igana Ryle Vaiself - Overlord
Zanac được mô tả là một người bất tài trong mắt nhiều quý tộc và dân thường, nhưng trên thực tế, tất cả chỉ là một mưu mẹo được tạo ra để đánh lừa đối thủ của anh ta