Poedu_C_Lesson13_分支

  • else:通常与if进行搭配使用

 

 

  • if语句

  1. if只会判断一次,判断完后会进入相对应的分支体执行当中的代码,if会产生一个cmp指令,cmp指令会进行一个减法运算来进行比较,它的结果将会影响到EFL(标志寄存器)
  2. if语句也是顺序执行,只是它会变成汇编代码,会包含一个j系的指令通过EFL(标志寄存器)来判断是否跳转。

例如:

int main()
{
 int x =30;
 x = x-100;
 if(x<100)
 {
  printf("Hello World\n");
 }
 return 0;
}

 此例代码中,cmp指令会拿两个参数进行比较(cmp指令和sub指令做的事情相同,但sub会保存值,cmp不会保存值,cmp会直接改写EFL),得到结果为负数,将EFL中的SF位(符号位)置1,j系指令官方定义大于等于0时跳转,此时x为负数,SF为1,当SF为0时才会跳转,结果将会输出“Hello world”

  • EFL(标志寄存器)

      EFL(标志寄存器)中的值可以认为是没有含义的,它的含义体现在标志位,它总共有32个位,每个位都有特定的含义。

 

  • EOF常量

      代表整体的结束,被定义在stdio.h中。

  • stdin

       stdin是标准键盘输入流,定义在stdio.h中。

  • fflush函数

        fflush函数需要传递一个流,将里的数据清空掉,达到清空缓冲区的效果。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值