黑马程序员__C语言 if基本概念和if注意点

  1. ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

一.if基本概念

1.第一种格式

if (条件表达式)
  {
      语句;
      ...
  }
  特点:首先会判断条件表达式是否为真,如果条件表达式为真就执行if后面大括号中的内容

int age = 19;
      if (age >= 18)
      {
            printf("成年人\n");

      }
      printf("执行完毕\n");

2.第二种格式

if (条件表达式)
  {
        语句;
        ...
  }else
  {
        语句;
        ...
  }
  特点:选择题 要么执行if后面大括号中的内容 要么执行else后面大括号中的内容

  int age = 12;
      if (age >= 18) {
            printf("成年人\n");
      }else{
            printf("再等等吧,不太着急\n");
      }

3.第三种格式

if (条件表达式1)
  {
        语句;
        ...
  }else if(条件表达式2)
  {
        语句;
        ...
  }else if(条件表达式3)
  {
        语句;
        ...
  }
  ...
  else
  {
        语句;
        ...
  }
  特点:会从上至下的判断条件表达式,当条件表达式1为真就执行条件表达式1后面大括号中的内容,而其他都不执行,如果条件表达式1不为真就会判断条件表达式2是否为真,如果条件表达式2为真就会执行条件表达式2后面大括号中的内容,其他都不会执行,以此类推
  int age = 28;
      if (age == 1) {
            printf("刚出生\n");
      }
      else if (age == 2)
      {
            printf("刚会走路\n");
      }
      else if (age == 18)
      {
            printf("成年人\n");
      }
      else if (age == 28)
      {
            printf("娶媳妇\n");
      }
      else
      {
            printf("人到黄昏\n");
      }

二.if注意点

1.if的省略

if是可以省略大括号的(but 不推荐这样写
      因为if省略大括号的时候当条件表达式为真会执行if后面的“第一条语句”
      如果if省略大括号就代表着if后面的第一条语句和if是一个整体
      int a = 4;
      if (a > 5)
            printf("a大于5\n");
      printf("XXOO\n");// 这条语句和if没有关系

2.分 问题

  分号问题,分号是空语句
      int a = 4;
      if (a > 5); //分号也是一条语句,是一条空语句
        printf("a大于5\n");

3.作用域

作用域不对
      int a = 10;
      if (a > 5)
      {
//            变量拥有自己的作用域
            int b = 22;
      }
      printf("b = %d\n", b);

4.作用域混乱

作用域混乱,if后面的第一条语句和if是一个整体,只有if条件满足才会执行int b = 22;
  以后想在if后面定义变量必须加上大括号,明确变量的作用域
      int age = 14;
      if (age > 5)
            int b = 22;
      printf("b = %d\n", b);

终结:注意:因为C语言中任何数值都有真假性,有时候可能把== 误写成=, 为了解决这种问题,以后在书写判断一个数是否 == 或者 != 一个变量的时候把常量写前面。
注意:if 和 else 是一个整体, else会匹配离它最近的一个if。
注意:在日常开发中尽量不要省略大括号



---------------------- <a target="blank">ASP.Net+Android+IOS开发</a>、<a target="blank">.Net培训</a>、期待与您交流! ----------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值