【分支语句】if else语句(1)

目录

分支语句(1)

一、if else

1. if(表达式)

2. if(表达式)

多分支语句

注意事项(1)

if和else只能控制其后第一条语句。

注意事项(3)

else与离他最近的if匹配


分支语句(1)

一、if else

C语言用0表示假,非0表示真。

1.

   if (表达式)

      语句;

2.

if(表达式)

      语句1;

  else

      语句2;

多分支语句

1.

if(表达式);

        语句1;

  else

        语句2;

  else

        语句3;

注意事项(1)

if和else只能控制其后第一条语句

例如

int main()

{

      int age = 20;

      if (age >= 18)

           printf(“成年\n”);

     else

           printf(“未成年\n”);

            printf(“要好好学习\n”);

    return 0;

}

该段代码中else只能控制printf(“未成年\n”)语句,不能控制printf(“要好好学习\n”)。所以输出打印的结果是成年要好好学习

:如果想让else控制其后更多语句,可以加上大括号。一个大括号就是一个代码块,表示一种逻辑。

例如

int main()

{

    int age = 20;

     if (age >= 18)

         printf(“成年\n”);

   else

 {      printf(“未成年\n”);

        printf(“要好好学习\n”);

}

return 0;

}

 2.  

  if (表达式)

           语句1;

  else if(表达式)

          语句2;

  else if(表达式)

           语句3;

注意事项(2)

注意逻辑顺序

例,输入int age = 60

               if(18 <= age < 26)

                     printf(“青年\n”);

这里输入的是60,但if后面想限制的表达式是18-26之间。按道理说是无法打印的,但在实际运行中是可以打印出青年的。那么原因是什么呢?

首先,这种写法是错误的。代码运行时的顺序是,先,18<=age,因为输入的值为60,符合,是真,即为1。此时18<=age部分为1,继续进行<26部分,1<26,为真,符合,打印出青年。

其次,正确的写法,可以写作age>18 && age<60 。

注意事项(3)

else与离他最近的if匹配

else与离他最近的if语句匹配。而不是与对齐的匹配。

例如

int a = 0;

int b = 2;

if (a == 1)

     if (b == 2)

          printf(haha\n);

else

         printf(hehe\n);

运行结果是,不打印。

因为else printf(hehe\n);语句是与if (b == 2)组合的,而不是if ( a== 1)。在这段代码中,if ( a== 1)是进行下面if else分支语句的先决条件,满足了if (a == 1)才会进行下方if else语句。

但输入的a=0 ,不满足if (a == 1),也就更不会进行下方语句。所以不会打印出文字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值