Trong hướng dẫn này, bạn sẽ tìm hiểu về câu lệnh if (bao gồm if… else và if… else lồng nhau) trong lập trình C với sự trợ giúp của các ví dụ.
C if Tuyên bố
Cú pháp của if
câu lệnh trong lập trình C là:
if (test expression) ( // statements to be executed if the test expression is true )
Nếu câu lệnh hoạt động như thế nào?
Câu if
lệnh đánh giá biểu thức kiểm tra bên trong dấu ngoặc đơn ()
.
- Nếu biểu thức kiểm tra được đánh giá là true, các câu lệnh bên trong phần thân của
if
sẽ được thực thi. - Nếu biểu thức kiểm tra được đánh giá là false, các câu lệnh bên trong phần thân của
if
sẽ không được thực thi.
Để tìm hiểu thêm về thời điểm biểu thức kiểm tra được đánh giá thành true (giá trị khác 0) và false (0), hãy kiểm tra các toán tử quan hệ và logic.
Ví dụ 1: câu lệnh if
// Program to display a number if it is negative #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // true if number is less than 0 if (number < 0) ( printf("You entered %d.", number); ) printf("The if statement is easy."); return 0; )
Đầu ra 1
Nhập một số nguyên: -2 Bạn đã nhập -2. Câu lệnh if rất dễ dàng.
Khi người dùng nhập -2, biểu thức kiểm tra number<0
được đánh giá là true. Do đó, Bạn đã nhập -2 được hiển thị trên màn hình.
Đầu ra 2
Nhập một số nguyên: 5 Câu lệnh if rất dễ dàng.
Khi người dùng nhập 5, biểu thức kiểm tra number<0
được đánh giá là sai và câu lệnh bên trong phần thân của if
không được thực thi
Câu lệnh C if… else
Câu if
lệnh có thể có một else
khối tùy chọn . Cú pháp của if… else
câu lệnh là:
if (test expression) ( // statements to be executed if the test expression is true ) else ( // statements to be executed if the test expression is false )
Câu lệnh if… else hoạt động như thế nào?
Nếu biểu thức kiểm tra được đánh giá là true,
- các câu lệnh bên trong phần thân của
if
được thực thi. - các câu lệnh bên trong phần thân của
else
được bỏ qua khỏi quá trình thực thi.
Nếu biểu thức kiểm tra được đánh giá là sai,
- các câu lệnh bên trong phần thân của
else
được thực thi - các câu lệnh bên trong phần thân của
if
được bỏ qua khỏi quá trình thực thi.
Ví dụ 2: câu lệnh if… else
// Check whether an integer is odd or even #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // True if the remainder is 0 if (number%2 == 0) ( printf("%d is an even integer.",number); ) else ( printf("%d is an odd integer.",number); ) return 0; )
Đầu ra
Nhập số nguyên: 7 7 là số nguyên lẻ.
Khi người dùng nhập 7, biểu thức kiểm tra number%2==0
được đánh giá là sai. Do đó, câu lệnh bên trong phần thân của else
được thực thi.
C nếu… khác Thang
Câu if… else
lệnh thực thi hai mã khác nhau tùy thuộc vào biểu thức kiểm tra là đúng hay sai. Đôi khi, một sự lựa chọn phải được thực hiện từ nhiều hơn 2 khả năng.
Thang if… else cho phép bạn kiểm tra giữa nhiều biểu thức kiểm tra và thực thi các câu lệnh khác nhau.
Cú pháp của if… else Ladder
if (test expression1) ( // statement(s) ) else if(test expression2) ( // statement(s) ) else if (test expression3) ( // statement(s) )… else ( // statement(s) )
Ví dụ 3: C if… else Ladder
// Program to relate two integers using =,> or < symbol #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); //checks if the two integers are equal. if(number1 == number2) ( printf("Result: %d = %d",number1,number2); ) //checks if number1 is greater than number2. else if (number1> number2) ( printf("Result: %d> %d", number1, number2); ) //checks if both test expressions are false else ( printf("Result: %d < %d",number1, number2); ) return 0; )
Đầu ra
Nhập hai số nguyên: 12 23 Kết quả: 12 <23
Lồng nhau nếu… khác
Có thể bao gồm một if… else
câu lệnh bên trong nội dung của một if… else
câu lệnh khác .
Ví dụ 4: Lồng nhau if… else
Chương trình này đưa ra dưới đây liên quan hai số nguyên bằng cách sử dụng <
, >
và =
tương tự như if… else
ví dụ của thang. Tuy nhiên, chúng tôi sẽ sử dụng một if… else
câu lệnh lồng nhau để giải quyết vấn đề này.
#include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); if (number1>= number2) ( if (number1 == number2) ( printf("Result: %d = %d",number1,number2); ) else ( printf("Result: %d> %d", number1, number2); ) ) else ( printf("Result: %d < %d",number1, number2); ) return 0; )
Nếu phần nội dung của một if… else
câu lệnh chỉ có một câu lệnh, bạn không cần sử dụng dấu ngoặc ()
.
Ví dụ, mã này
if (a> b) ( print("Hello"); ) print("Hi");
tương đương với
if (a> b) print("Hello"); print("Hi");