Bài 22. Lệnh Switch Case Trong C
Có thể bạn quan tâm
Lệnh switch case là một cấu trúc điều khiển & rẽ nhánh hoàn toàn có thể được thay thế bằng cấu trúc if else. Tuy nhiên, việc sử dụng switch case sẽ giúp code của chúng ta dễ viết và dễ đọc hơn; Một điều nữa là sử dụng switch case có vẻ như cho hiệu năng tốt hơn so với sử dụng if else. Bạn có thể xem rõ hơn về ưu nhược điểm của dùng lệnh switch case ở phần tài liệu tham khảo
- Video hướng dẫn lệnh switch case
- Cách hoạt động của cấu trúc switch case
- Lệnh goto trong C
Video hướng dẫn lệnh switch case
Cách hoạt động của cấu trúc switch case
Dưới đây là cú pháp của lệnh switch case:
switch (expression) { case constant1: // statements break; case constant2: // statements break; . . . default: // default statements }- expression phải bắt buộc là giá trị hằng, có thể là biểu thức nhưng kết quả cần là hằng số.
- Trong đó, expression sẽ được tính toán 1 lần duy nhất và sau đó so sánh với các giá trị của các case.
- Nếu có 1 case nào đó khớp giá trị, các khối lệnh tương ứng sau case đó sẽ được thực hiện cho tới khi gặp lệnh break. Do đó, nếu chúng ta không sử dụng break thì tất cả các case kể từ case khớp giá trị đều được thực hiện.
- Case default sẽ được thực hiện nếu không có case nào khớp giá trị với expression.
Dưới đây là sơ đồ khối mô tả hoạt động của lệnh switch case:
Bài tập thực hành
/*Nhập vào 2 số nguyên a, bNhập vào phép toán +, -, *, /Thực hiện tính toán theo phép toán nhập vào với hai số a, bVí dụ:
+ 2 3 => In ra 2 + 3*/
Lời giải tham khảo sử dụng lệnh switch case:#include <stdio.h> int main() { int a, b; char opera; printf("nNhap phep toan: "); scanf("%c", &opera); printf("nNhap vao 2 so a, b: "); scanf("%d%d", &a, &b); switch (opera) { case '+': printf("%d + %d = %d", a, b, a + b); break; case '-': printf("%d - %d = %d", a, b, a - b); break; case '*': printf("%d * %d = %d", a, b, a * b); break; case '/': if(b == 0){ printf("Khong the chia cho 0!"); }else{ printf("%d / %d = %.2f", a, b, (float)a / b); } break; default: printf("Khong co phep toan %c!", opera); break; } }Kết quả chạy chương trình:
PS G:c_courcesday_22> .SwitchStatement.exe Nhap phep toan: + Nhap vao 2 so a, b: 2 3 2 + 3 = 52 - 3 = -1 PS G:c_courcesday_22> .SwitchStatement.exe Nhap phep toan: * Nhap vao 2 so a, b: 2 3 2 * 3 = 6Lệnh goto trong C
Lệnh goto cho phép code của bạn nhảy đến thực hiện ở vị trí label bất kỳ của chương trình mà không cần nhất định phải theo thứ tự từ trên xuống. Do tính chất nhảy “lung tung” chẳng giống ai nên lệnh goto không được khuyến khích sử dụng.
Cú pháp của lệnh goto như sau:
goto label; ... .. ... ... .. ... label: statement;Trong đó, label là một định danh. Hình dưới đây cho thấy code đang chạy nếu gặp lệnh goto sẽ bỏ tiến trình sau nó mà nhảy tới nơi label để chạy tiếp.
Ví dụ về việc sử dụng lệnh goto trong C:
#include <stdio.h> int main(){ int count = 0; go_here: printf("Lap trinh khong kho!n"); if(count < 5){ count++; goto go_here; } }Kết quả chạy chương trình:
PS G:c_courcesday_22> .GoToStatement.exe Lap trinh khong kho! Lap trinh khong kho! Lap trinh khong kho! Lap trinh khong kho! Lap trinh khong kho! Lap trinh khong kho!Tài liệu tham khảo
- https://stackoverflow.com/questions/2158759/
- https://stackoverflow.com/questions/767821/
- https://www.programiz.com/c-programming/c-switch-case-statement
Từ khóa » Cách Dùng Switch Case
-
Cấu Trúc Rẽ Nhánh Switch ... Case Trong Ngôn Ngữ C++ - STDIO
-
Cấu Trúc Lệnh Switch Case Trong C++ (có Bài Tập Thực Hành)
-
C Cơ Bản: Câu Lệnh Switch Case - DevIOT
-
Câu Lệnh Switch Case Trong C++ | Codelearn
-
Cấu Trúc Rẽ Nhánh Bằng If Else Và Switch Case... - Khuê Nguyễn
-
Cấu Trúc SWITCH CASE Trong Java Qua VÍ DỤ
-
Cấu Trúc Rẽ Nhánh Switch Case Trong C - Lập Trình Từ Đầu
-
Lập Trình C: Switch-case | V1Study
-
Lệnh Switch Case Trong C/C++
-
2.3 Switch Case Statements - Khóa Học C++
-
Câu Lệnh Switch Case | Hướng Dẫn Học PHP
-
Câu Lệnh Switch Case Và Toán Tử điều Kiện Trong Java - Góc Học IT
-
Cấu Trúc Rẽ Nhánh Switch ... Case Trong Javascript - Viblo
-
Cấu Trúc Switch – Case