Câu lệnh C if … else

95% Lập Trình Viên giỏi Đọc Hiểu English! Bạn Thì Sao?

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) 
{
   // code
}

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 ().

  • If the test expression is evaluated to true, statements inside the body of if are executed.
  • If the test expression is evaluated to false, statements inside the body of if are not executed.

Làm việc của Câu lệnh if

Để 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 <stdio.h>
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.\n", number);
    }

    printf("The if statement is easy.");

    return 0;
}

Đầu ra 1

Enter an integer: -2
You entered -2.
The if statement is easy.

Khi người dùng nhập -2, biểu thức kiểm tra number<0được đánh giá là true. Kể từ đây,Bạn đã nhập -2 được hiển thị trên màn hình.

Đầu ra 2

Enter an integer: 5
The if statement is easy.

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) {
    // run code if test expression is true
}
else {
    // run code if 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,

  • statements inside the body of if are executed.
  • statements inside the body of else are skipped from execution.

Nếu biểu thức kiểm tra được đánh giá là sai,

  • statements inside the body of else are executed
  • statements inside the body of if are skipped from execution.

Hoạt động của Câu lệnh if … else

Ví dụ 2: câu lệnh if … else

// Check whether an integer is odd or even

#include <stdio.h>
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

Enter an integer: 7
7 is an odd integer.

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 if … else 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 <stdio.h>
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

Enter two integers: 12
23
Result: 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 <>và =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 <stdio.h>
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) {
    printf("Hello");
}
printf("Hi");

tương đương với

if (a > b)
    printf("Hello");
printf("Hi");








Tìm kết quả nhanh