Câu lệnh C if ... else

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 ifcâ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 iflệ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 ifsẽ đượ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 ifsẽ 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 ifkhông được thực thi

Câu lệnh C if… else

Câu iflệnh có thể có một elsekhối tùy chọn . Cú pháp của if… elsecâ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… elselệ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… elsecâu lệnh bên trong nội dung của một if… elsecâ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 <, >=tương tự như if… elseví dụ của thang. Tuy nhiên, chúng tôi sẽ sử dụng một if… elsecâ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… elsecâ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"); 

thú vị bài viết...