Menu Close

IF ELSE 阶梯语句 和 嵌套IF ELSE 语句

1.IF ELSE IF  阶梯语句

IF ELSE IF阶梯语法结构:

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;

这种类型的结构称为else-if阶梯。 该链通常看起来像一个梯子,因此也称为else-if 阶梯。这种结构也称阶梯结构。

IF ELSE IF阶梯

测试表达式从上到下进行评估。 只要找到真实的测试表达式,就会执行与其关联的语句。 当所有n个测试表达式都为false时,将执行默认的else语句。

例1.1 打印出分数的级别

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

1.我们已经用标记初始化了一个变量。 在else-if阶梯结构中,我们提供了各种条件。
2. 变量标记中的值将与第一个条件进行比较,因为它是正确的,与此相关的语句将被打印在输出屏幕上。
3.如果第一个测试条件为假,则将其与第二个条件进行比较。
4.该过程将一直进行到对所有表达式求值,否则控制将退出else-if阶梯,并且将打印默认语句。

例1.2.比较两个数的大小

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

结果:

Enter two integers: 12
23
Result: 12 < 23

2.嵌套IF ELSE语句

可以在另一个 if…else 语句的主体中包含一个 if…else 语句。

下面给出的这个程序使用 <、> 和 == 来比较两个整数,类似于 例1.2中的if…else 梯形图的示例。但是,我们将使用嵌套的 if…else 语句来解决这个问题。

例2.1 比较两个数的大小

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

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

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

相当于:

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

例2.2 嵌套IF ELSE语句比较一个数大于1或是大于10

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

上面的程序检查数字是否小于或大于10,并使用嵌套的if-else语句打印结果。

 

  • 首先,我们声明了一个变量num,其值为1。然后,我们使用了if-else构造。
  • 在外部if-else中,提供的条件检查数字是否小于10。如果条件为true,执行内部循环。 在该例中,条件为真,因此将进入内部块进行运算.
  • 在内部块运算中,我们再次有一个条件检查我们的变量是否包含值1。 当条件为真时,它将处理If块,否则将处理else块。 在这种情况下,条件为真,因此如果执行了一个程序段,并且该值被打印在输出屏幕上。
  • 上面的程序将打印变量的值并成功退出。
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Leave the field below empty!

Posted in C语言教程