Giới thiệu về C Điều kiện: if / else và switch
Bất kỳ ngôn ngữ lập trình nào cũng cung cấp cho người lập trình khả năng thực hiện các lựa chọn.
Chúng tôi muốn làm X trong một số trường hợp, và Y trong các trường hợp khác.
Chúng tôi muốn kiểm tra dữ liệu và thực hiện các lựa chọn dựa trên trạng thái của dữ liệu đó.
C cung cấp cho chúng tôi 2 cách để làm như vậy.
Đầu tiên làif
tuyên bố, với nóelse
người trợ giúp, và thứ hai làswitch
tuyên bố.
if
Trong mộtif
, bạn có thể kiểm tra một điều kiện là đúng, và sau đó thực thi khối được cung cấp trong dấu ngoặc nhọn:
int a = 1;
if (a == 1) {
/* do something */
}
Bạn có thể thêm mộtelse
khối để thực thi một khối khác nếu điều kiện ban đầu là sai;
int a = 1;
if (a == 2) {
/* do something /
} else {
/ do something else */
}
Hãy coi chừng một nguồn lỗi phổ biến - luôn sử dụng toán tử so sánh==
trong so sánh chứ không phải toán tử gán=
, nếu khôngif
kiểm tra có điều kiện sẽ luôn đúng, trừ khi đối số là0
, ví dụ nếu bạn làm:
int a = 0;
if (a = 0) {
/* never invoked */
}
Lý do tại sao điều này xảy ra? Bởi vì kiểm tra có điều kiện sẽ tìm kiếm một kết quả boolean (kết quả của một phép so sánh) và0
số luôn tương đương với một giá trị sai. Mọi thứ khác đều đúng, kể cả số âm.
Bạn có thể có nhiềuelse
các khối bằng cách xếp chồng lên nhau nhiềuif
các câu lệnh:
int a = 1;
if (a == 2) {
/* do something /
} else if (a == 1) {
/ do something else /
} else {
/ do something else again */
}
switch
Nếu bạn cần thực hiện quá nhiều khối if / else / if để thực hiện kiểm tra, có lẽ vì bạn cần kiểm tra giá trị chính xác của một biến, khi đóswitch
có thể rất hữu ích cho bạn.
Bạn có thể cung cấp một biến dưới dạng điều kiện và một loạtcase
điểm đầu vào cho mỗi giá trị bạn mong đợi:
int a = 1;
switch (a) {
case 0:
/* do something /
break;
case 1:
/ do something else /
break;
case 2:
/ do something else */
break;
}
Chúng tôi cần mộtbreak
từ khóa ở cuối mỗi trường hợp, để tránh trường hợp tiếp theo được thực hiện khi trường hợp trước đó kết thúc. Hiệu ứng "thác nước" này có thể hữu ích theo một số cách sáng tạo.
Bạn có thể thêm trường hợp "nhận tất cả" ở cuối, được gắn nhãndefault
:
int a = 1;
switch (a) {
case 0:
/* do something /
break;
case 1:
/ do something else /
break;
case 2:
/ do something else /
break;
default:
/ handle all the other cases */
break;
}
Tải xuống miễn phí của tôiSổ tay C
Các hướng dẫn khác về tiếng clang:
- Giới thiệu về ngôn ngữ lập trình C
- C Các biến và kiểu
- Hằng số C
- Nhà điều hành C
- C Điều kiện
- Cách làm việc với các vòng lặp trong C
- Giới thiệu về mảng C
- Cách xác định độ dài của mảng trong C
- Giới thiệu về chuỗi C
- Cách tìm độ dài của một chuỗi trong C
- Giới thiệu về con trỏ C
- Vòng qua một mảng với C
- Booleans trong C
- Giới thiệu về các hàm C
- Cách sử dụng NULL trong C
- Các khái niệm I / O cơ bản trong C
- Dấu ngoặc kép so với dấu ngoặc kép trong C
- Cách trả về một chuỗi từ một hàm C
- Cách giải quyết cảnh báo hàm thư viện khai báo ngầm trong C
- Cách kiểm tra giá trị ký tự trong C
- Cách in ký tự phần trăm bằng cách sử dụng `printf () 'trong C
- Công cụ bổ nghĩa và công cụ chuyển đổi C
- Cách truy cập các tham số dòng lệnh trong C
- Phạm vi của các biến trong C
- Bạn có thể lồng các hàm trong C không?
- Biến tĩnh trong C
- C Biến toàn cục
- Từ khóa typedef trong C
- C Các loại được liệt kê
- C cấu trúc
- Tệp tiêu đề C
- Bộ tiền xử lý C