分支与选择

       

目录

1、分支流程

关系运算符:

逻辑运算符是&&、||、!

If、else语句

Switch语句

2、问题反馈


 前言:程序设计的基本结构可以由:顺序结构、分支结构、循环结构。顺序结构不在这里讨论了。

1、分支流程

        分支结构主要用来进行程序流通得方向控制,那么计算机如何识别流动的方向。主要有接下来我们介绍的运算法进行判断。

关系运算符:

        主要有>      <     ==   >=   <=构成。这种关系运算符的输入结果在C语言中的1表示真、0表示假。

        扩展:在python、C++等语言中关系运算符通过布尔值true、false来外显关系的结果,其实质也是1与0的表示。

介绍完关系运算符之后进一步介绍逻辑运算法。

逻辑运算符是&&、||、!

(1>2) && (a++)

首先&&是遇0则结果为0。基于这一特性计算机为了提高运算效率,设置出短路特性。该特性体现在首先执行&&之间的表达式如果结果为真则直接输出结果,对后面的进行短路截断,不参与运算。

基于这一特征,此处会产生许多容易理解错误的地方。例如将逻辑运算符和自增自减运算结合在一起,判断结果。容易对人产生误导。作者在初识这一块也在思维上出现了错误,具体结果在问题1中。

|| 逻辑是遇1则1,也存在截断特性,具体同上。

If、else语句

主要有三种形式:if(条件)、if(条件){} else{}、if (条件1)else if(条件2)else if(条件3)else{}。

main()

{

  if ()

  {

  }

}

双目选择语句

a>b? a : b;

用于快速输入选择符号

Switch语句

首先要注意书写的细节。

Case后面必须跟常量,Switch判断条件必须为整型,其原因在于浮点型在计算机中只能是近似值,在判断case语句的时候必然不能相等。

2、问题反馈

思考问题:“1<2 && 0++”,其值是真是假

问题根源:1、我认为++的优先级高于&&,那么就会先运行0++

2、其次认为0++是一个表达式,在参与&&运算的时候,应该运算的是0++的左值即1

可是又有问题在于:0++的先用后加原理产生矛盾

问题2:

更改过程:将while改为if语句

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值