📜  C if … else语句

📅  最后修改于: 2020-10-04 12:16:48             🧑  作者: Mango

在本教程中,您将借助示例学习C编程中的if语句(包括if … else和嵌套的if..else)。

C if语句

C编程中if语句的语法为:

if (test expression) 
{
   // statements to be executed if the test expression is true
}

如果语句如何工作?

if语句在括号()评估测试表达式。

  • 如果测试表达式的计算结果为true,则执行if体内的语句。
  • 如果测试表达式的计算结果为false,则不会执行if体内的语句。

How if statement works in C programming?

要了解有关何时将测试表达式评估为true(非零值)和false(0)的更多信息,请检查关系运算符和逻辑运算符。


示例1: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.\n", number);
    }

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

    return 0;
}

输出1

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

当用户输入-2时,测试表达式number<0评估为true。因此, 您输入的-2将显示在屏幕上。

输出2

Enter an integer: 5
The if statement is easy.

当用户输入5时,测试表达式number<0被评估为false,并且if体内的语句未执行


C if … else语句

if语句可能具有可选的else块。 if..else语句的语法为:

if (test expression) {
    // statements to be executed if the test expression is true
}
else {
    // statements to be executed if the test expression is false
}

如果… else语句如何工作?

如果测试表达式的计算结果为true,

  • if体内的语句被执行。
  • else主体内的语句将从执行中跳过。

如果测试表达式的值为假,

  • else体内的语句被执行
  • if体内的语句将从执行中跳过。

How if...else statement works in C programming?


示例2: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;
}

输出

Enter an integer: 7
7 is an odd integer.

当用户输入7时,将测试表达式number%2==0评估为false。因此,将执行else主体内部的语句。


C如果…其他阶梯

if...else语句根据测试表达式是true还是false来执行两个不同的代码。有时,必须从两种以上的可能性中进行选择。

if … else阶梯允许您在多个测试表达式之间进行检查并执行不同的语句。


if … else Ladder的语法

if (test expression1) {
   // statement(s)
}
else if(test expression2) {
   // statement(s)
}
else if (test expression3) {
   // statement(s)
}
.
.
else {
   // statement(s)
}

示例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;
}

输出

Enter two integers: 12
23
Result: 12 < 23

如果…则嵌套

它可能包括一个if...else另一个身体内部的语句if...else语句。


示例4:如果…则嵌套

下面给出的该程序使用<>=关联两个整数,类似于if...else梯形图的示例。但是,我们将使用嵌套的if...else语句来解决此问题。

#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;
}

如果if...else语句的主体只有一个语句,则不需要使用方括号{}

例如,这段代码

if (a > b) {
    print("Hello");
}
print("Hi");

相当于

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