从零开始的嵌入式生活:if-else语句详解

一、If-else语句的认知

       前面我们看到的代码都是顺序执行的,也就是先执行第一条语句,然后是第二条、第三条……一直到最后一条语句,这称为顺序结构。但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用,儿童因为年龄不够,没有权限使用。这时候程序就需要做出判断,看用户是否是成年人,并给出提示。

      在C语言中,使用if和else关键字对条件进行判断。

二、If-else语句的执行流程

if(判断条件)
{
    语句块1
}
else
{
    语句块2
}

    if意为“如果”,else意为“否则”,即如果满足判断条件这执行语句块1,如果不满足判断条件这执行语句块2,所谓语句块(Statement Block),就是由{ }包围的一个或多个语句的集合。如果语句块中只有一个语句,也可以省略{ }。

    例如:

#include <stdio.h>

int main(void)
{
    int age;

    printf("请输入你的年龄:");
    scanf("%d", &age);

    if(age >= 18)
    {
        printf("恭喜,你已经成年,可以使用该软件!");
    }
    else
    {
        printf("你还未成年,不宜使用该软件!");
    }
        
    return 0;
}

结果:

请输入你的年龄:23
恭喜,你已经成年,可以使用该软件!
请输入你的年龄:16
抱歉,你还未成年,不宜使用该软件!

三、只使用if语句

      如果我们只需要满足一个条件就执行下一语句,不满足不需要执行任何操作的话,那么我们就可以使用单独使用if语句。

if(判断条件)
{
    语句块
}

      如条件满足判断条件则,执行语句块,如果不满足则直接跳过。

四、多个if-else语句

        有些时候需要判定的情况更多,比如判断是否满18岁,不满足是否满16岁。这种情况下我们就可以用到多个if-else语句嵌套。

if(判断条件1)
{
    语句块1
} 
else  if(判断条件2)
{
    语句块2
}
else  if(判断条件3)
{
    语句块3
}
else  if(判断条件m)
{
    语句块m
}
else
{
     语句块n
}

        从上到下依次检测判断条件,当某个判断条件成立时,则执行其对应的语句块,然后跳到整个 if else 语句之外继续执行其他代码。如果所有判断条件都不成立,则执行语句块n,然后继续执行后续代码。

在使用 if 语句时还应注意以下两点:

      在 if 语句中,判断条件必须用括号括起来。

      语句块由{ }包围,但要注意的是在}之后不需要再加分号;(当然加上也没错, 基本是不会加)。

五、if语句的嵌套

        有些时候仅判断一次是不够的,比如判断玩家是否18岁,判断玩家是否为男性,这时候就需要用到多个if-else语句嵌套了。

if(判断条件1)
{
   if(判断条件2)
   {
     语句块1
   }
   else
   {
      语句块2
   }
}
else
{
  语句块3
}

    满足判断条件1并且同时满足判断条件2则执行语句块1,满足判断条件1不满足判断条件2则执行语句块2,不满足判断条件1则执行语句块3。 

六、多个if

if(判断条件1)
{
   语句块1
}
if(判断条件2)
{
   语句块2
}
if(判断条件3)
{
   语句块3
}

      多个if时,只要if条件为真,则会执行{}代码块。

      也就是说 满足条件1执行语句1,满足条件2执行语句2,满足条件3执行条件3。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值