Câu lệnh điều kiện trong C là gì?
Các câu lệnh điều kiện trong lập trình C được sử dụng để đưa ra quyết định dựa trên các điều kiện. Các câu lệnh điều kiện thực hiện tuần tự khi không có điều kiện xung quanh các câu lệnh. Nếu bạn đặt một số điều kiện cho một khối câu lệnh, luồng thực thi có thể thay đổi dựa trên kết quả được điều kiện đánh giá. Quá trình này được gọi là ra quyết định trong 'C.'
Trong lập trình 'C' các câu lệnh điều kiện có thể thực hiện được với sự trợ giúp của hai cấu trúc sau:
1. Câu lệnh if
2. Câu lệnh if-else
Nó còn được gọi là phân nhánh vì một chương trình quyết định câu lệnh nào sẽ thực thi dựa trên kết quả của điều kiện được đánh giá.
Trong hướng dẫn này, bạn sẽ học-
- Câu lệnh có điều kiện là gì?
- Câu lệnh if
- Toán tử quan hệ
- Câu lệnh If-Else
- Biểu thức có điều kiện
- Các câu lệnh If-else lồng nhau
- Các câu lệnh Else-if lồng nhau
Câu lệnh if
Nó là một trong những câu lệnh điều kiện mạnh mẽ. Câu lệnh if chịu trách nhiệm sửa đổi luồng thực thi của một chương trình. Câu lệnh if luôn được sử dụng với một điều kiện. Điều kiện được đánh giá đầu tiên trước khi thực hiện bất kỳ câu lệnh nào bên trong phần thân của If. Cú pháp cho câu lệnh if như sau:
if (condition)instruction;
Điều kiện được đánh giá là đúng hoặc sai. True luôn là giá trị khác 0 và false là giá trị chứa 0. Các lệnh có thể là một lệnh đơn lẻ hoặc một khối mã được bao bởi dấu ngoặc nhọn {}.
Chương trình sau minh họa việc sử dụng cấu trúc if trong lập trình 'C':
#includeint main(){int num1=1;int num2=2;if(num1 Đầu ra:
num1 is smaller than num2Chương trình trên minh họa việc sử dụng cấu trúc if để kiểm tra sự bằng nhau của hai số.
- Trong chương trình trên, chúng ta đã khởi tạo hai biến là num1, num2 với giá trị lần lượt là 1, 2.
- Sau đó, chúng ta đã sử dụng if với một biểu thức kiểm tra để kiểm tra số nào là nhỏ nhất và số nào là lớn nhất. Chúng tôi đã sử dụng một biểu thức quan hệ trong cấu trúc if. Vì giá trị của num1 nhỏ hơn num2 nên điều kiện sẽ đánh giá là true.
- Do đó nó sẽ in câu lệnh bên trong khối If. Sau đó, điều khiển sẽ đi ra ngoài khối và chương trình sẽ được kết thúc với kết quả thành công.
Toán tử quan hệ
C có sáu toán tử quan hệ có thể được sử dụng để tạo biểu thức Boolean để đưa ra quyết định và điều kiện kiểm tra, trả về true hoặc false:
<ít hơn
<= nhỏ hơn hoặc bằng
> lớn hơn
> = lớn hơn hoặc bằng
== bằng
! = không bằng
Lưu ý rằng phép kiểm tra bằng (==) khác với toán tử gán (=) vì nó là một trong những vấn đề phổ biến nhất mà một lập trình viên phải đối mặt khi trộn chúng với nhau.
Ví dụ:
int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}Đầu ra:
You succeedHãy nhớ rằng một điều kiện đánh giá giá trị khác 0 được coi là đúng.
Ví dụ:
int present = 1;if (present)printf("There is someone present in the classroom \n");Đầu ra:
There is someone present in the classroomCâu lệnh If-Else
Câu lệnh if-else is là một phiên bản mở rộng của If. Dạng tổng quát của if-else như sau:
if (test-expression){True block of statements}Else{False block of statements}Statements;n kiểu cấu trúc này, nếu giá trị của biểu thức kiểm tra là true, thì khối câu lệnh thực sự sẽ được thực thi. Nếu giá trị của biểu thức kiểm tra nếu sai, thì khối câu lệnh sai sẽ được thực thi. Trong mọi trường hợp, sau khi thực hiện, điều khiển sẽ được tự động chuyển sang các câu lệnh xuất hiện bên ngoài khối If.
Các chương trình sau minh họa việc sử dụng cấu trúc if-else:
Chúng ta sẽ khởi tạo một biến với một số giá trị và viết một chương trình để xác định xem giá trị đó nhỏ hơn mười hay lớn hơn mười.
Hãy bắt đầu.
#includeint main(){int num=19;if(num<10){printf("The value is less than 10");}else{printf("The value is greater than 10");}return 0;} Đầu ra:
The value is greater than 10
- Chúng ta đã khởi tạo một biến có giá trị 19. Chúng ta phải tìm xem số lớn hơn hay nhỏ hơn 10 bằng chương trình 'C'. Để làm điều này, chúng tôi đã sử dụng cấu trúc if-else.
- Ở đây chúng tôi đã cung cấp một điều kiện num <10 vì chúng tôi phải so sánh giá trị của chúng tôi với 10.
- Như bạn có thể thấy khối đầu tiên luôn là khối true, có nghĩa là, nếu giá trị của biểu thức kiểm tra là true thì khối đầu tiên là If, sẽ được thực thi.
- Khối thứ hai là một khối khác. Khối này chứa các câu lệnh sẽ được thực thi nếu giá trị của biểu thức kiểm tra trở thành sai. Trong chương trình của chúng tôi, giá trị của num lớn hơn mười do đó điều kiện kiểm tra trở thành sai và khối khác được thực thi. Do đó, đầu ra của chúng tôi sẽ là từ một khối khác là "Giá trị lớn hơn 10". Sau if-else, chương trình sẽ kết thúc với kết quả thành công.
Trong lập trình 'C', chúng ta có thể sử dụng nhiều cấu trúc if-else bên trong nhau được gọi là lồng các câu lệnh if-else.
Biểu thức có điều kiện
Có một cách khác để diễn đạt câu lệnh if-else là giới thiệu toán tử ?: . Trong một biểu thức điều kiện các : nhà điều hành chỉ có một tuyên bố liên quan đến việc nếu và khác.
Ví dụ:
#includeint main() {int y;int x = 2;y = (x >= 6) ? 6 : x;/* This is equivalent to: if (x >= 5) y = 5; else y = x; */printf("y =%d ",y);return 0;} Đầu ra:
y =2Các câu lệnh If-else lồng nhau
Khi một loạt quyết định được yêu cầu, if-else lồng nhau được sử dụng. Lồng có nghĩa là sử dụng một cấu trúc if-else trong một cấu trúc khác.
Hãy viết một chương trình để minh họa việc sử dụng if-else lồng nhau.
#includeint main(){int num=1;if(num<10){if(num==1){printf("The value is:%d\n",num);}else{printf("The value is greater than 1");}}else{printf("The value is greater than 10");}return 0;} Đầu ra:
The value is:1Chương trình trên kiểm tra nếu một số nhỏ hơn hoặc lớn hơn 10 và in kết quả bằng cách sử dụng cấu trúc if-else lồng nhau.
- Đầu tiên, chúng ta đã khai báo một biến num có giá trị là 1. Sau đó, chúng ta đã sử dụng cấu trúc if-else.
- Trong if-else bên ngoài, điều kiện được cung cấp sẽ kiểm tra xem một số có nhỏ hơn 10. Nếu điều kiện là true thì và chỉ khi đó, nó sẽ thực hiện vòng lặp bên trong. Trong trường hợp này, điều kiện là đúng do đó khối bên trong được xử lý.
- Trong khối bên trong, chúng ta lại có một điều kiện kiểm tra xem biến của chúng ta có chứa giá trị 1 hay không. Khi một điều kiện là đúng, thì nó sẽ xử lý khối If nếu không, nó sẽ xử lý một khối khác. Trong trường hợp này, điều kiện là đúng do đó khối If a được thực thi và giá trị được in trên màn hình đầu ra.
- Chương trình trên sẽ in ra giá trị của một biến và thoát thành công.
Hãy thử thay đổi giá trị của biến để xem chương trình hoạt động như thế nào.
LƯU Ý: Trong if-else lồng nhau, chúng ta phải cẩn thận với việc thụt lề vì nhiều cấu trúc if-else tham gia vào quá trình này, do đó, rất khó để tìm ra các cấu trúc riêng lẻ. Thụt lề thích hợp giúp bạn dễ dàng đọc chương trình.
Các câu lệnh Else-if lồng nhau
Else-if lồng nhau được sử dụng khi các quyết định đa đường được yêu cầu.
Cú pháp chung của cách cấu tạo các thang else-if trong lập trình 'C' như sau:
if (test - expression 1) {statement1;} else if (test - expression 2) {Statement2;} else if (test - expression 3) {Statement3;} else if (test - expression n) {Statement n;} else {default;}Statement x;Loại cấu trúc này được gọi là bậc thang else-if. Chuỗi này thường trông giống như một cái thang do đó nó còn được gọi là một cái thang khác-nếu. Các biểu thức kiểm tra được đánh giá từ trên xuống dưới. Bất cứ khi nào một biểu thức kiểm tra đúng nếu được tìm thấy, câu lệnh liên kết với nó sẽ được thực thi. Khi tất cả n biểu thức kiểm tra trở thành sai, thì câu lệnh else mặc định được thực thi.
Hãy để chúng tôi xem thực tế làm việc với sự trợ giúp của một chương trình.
#includeint main(){int marks=83;if(marks>75){printf("First class");}else if(marks>65){printf("Second class");}else if(marks>55){printf("Third class");}else{printf("Fourth class");}return 0;} Đầu ra:
First classChương trình trên in điểm theo điểm được ghi trong một bài kiểm tra. Chúng tôi đã sử dụng cấu trúc bậc thang else-if trong chương trình trên.
- Chúng tôi đã khởi tạo một biến có dấu. Trong cấu trúc bậc thang else-if, chúng tôi đã cung cấp các điều kiện khác nhau.
- Giá trị từ các dấu biến sẽ được so sánh với điều kiện đầu tiên vì nó là true, câu lệnh liên kết với nó sẽ được in trên màn hình đầu ra.
- Nếu điều kiện thử nghiệm đầu tiên là sai, thì nó được so sánh với điều kiện thứ hai.
- Quá trình này sẽ tiếp tục cho đến khi tất cả biểu thức được đánh giá, nếu không, điều khiển sẽ đi ra khỏi thang else-if và câu lệnh mặc định sẽ được in.
Hãy thử sửa đổi giá trị và nhận thấy sự thay đổi trong đầu ra.
Tóm lược
- Các câu lệnh ra quyết định hoặc phân nhánh được sử dụng để chọn một đường dẫn dựa trên kết quả của biểu thức được đánh giá.
- Nó còn được gọi là câu lệnh điều khiển vì nó điều khiển luồng thực thi của một chương trình.
- 'C' cung cấp cấu trúc if, if-else cho các câu lệnh ra quyết định.
- Chúng ta cũng có thể lồng if-else trong nhau khi nhiều đường dẫn phải được kiểm tra.
- Thang else-if được sử dụng khi chúng ta phải kiểm tra nhiều cách khác nhau dựa trên kết quả của biểu thức.