C语言(第04章)

C语言(第04章)

ID:43918796

大小:124.50 KB

页数:28页

时间:2019-10-16

C语言(第04章)_第1页
C语言(第04章)_第2页
C语言(第04章)_第3页
C语言(第04章)_第4页
C语言(第04章)_第5页
资源描述:

《C语言(第04章)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第四章 选择结构程序设计关系运算符和关系表达式逻辑运算符和逻辑表达式if语句switch语句程序举例选择结构程序设计选择型程序所解决的问题称为判断问题,它描述的求解规则是:在不同的条件下所应进行的相应操作。书写选择结构的步骤是:首先确定要判断的是什么条件进一步再确定判断结果为不同的情况(“真”或“假”)时应该分别执行什么样的操作。C语言中可用三种语句来实现选择结构。4.1关系运算符与关系表达式关系运算是指对两个运算量之间的大小比较。C语言中提供的关系运算符有6个:>(大于)>=(大于等于)==(等于)<(小于)<=(

2、小于等于)!=(不等于)==和!=的优先级小于其它四个。并且,它们都低于纯算术类,高于赋值类。它们都是从左向右的结合方式。关系表达式的值只有两个:表达式成立,即为“真”,以“1”表示;表达式不成立,即为“假”,以“0”表示关系运算注意事项要说明x在区间[a,b]中,数学中使用表达式a≤x≤b,但C语言中的表达式a<=x<=b的含义与之不同。为了判别x是否在[a,b]范围内应写成:a<=x&&x<=b由于关系表达式的值是整型数0或1,故也可以将其看成是一种整型表达式。由于字符数据按ASCII码存储,所以可以把它作为整数

3、参加运算和比较。在判定两个浮点数是否相等时,由于存储上的误差,会得出错误的结果。例如:1.0/3.0*3.0==1.0并不成立。应避免对两个实数表达式作“相等”或“不相等”的判别,而改用判断两数差的绝对值是否小于某值。4.2逻辑运算符和逻辑表达式C语言有三个逻辑运算符:&&(逻辑与)

4、

5、(逻辑或)!(逻辑非)C语言不提供逻辑型数据“真”和“假”,在进行关系运算时,结果为“真”用1表示,“假”用0表示。在进行逻辑时则把所有“非零”值当作“真”,只把0当作“假”。&&和

6、

7、是二元运算符,结合方向为自左至右;!为一元运算符

8、,结合方向为自右至左。&&运算的优先级别高与

9、

10、运算,但都低于关系运算符,而!运算的优先级别高于关系运算符。逻辑运算中的规律0

11、

12、aa1&&aa1

13、

14、a10&&a0a

15、

16、!a1a&&!a0a

17、

18、aaa&&aa!(a

19、

20、b)!a&&!b!(a&&b)!a

21、

22、!b!(!a)a掌握上述规律能使复杂的逻辑运算简化、清晰若逻辑表达式中有函数或赋值性质的运算,则由于编译器对代码的优化作用,可能在提前知道表达式结果的情况下,短路表达式的求值过程,不再调用后面的函数或进行赋值。逻辑表达式优化的基本规则“真”和任

23、何逻辑值进行“或”(

24、

25、)运算总是“真”,当运算符“

26、

27、”左边的部分为“真”(不为0)时,其右的表达式就不再计算;如:x=y=z=1; ++x

28、

29、++y

30、

31、++z;中,因++x值为2(真),无论++y

32、

33、++z为何值,最终结果肯定是“真”,所以++y

34、

35、++z就不再求值;“假”和任何逻辑值进行“与”(&&)运算总是“假”,当运算符“&&”左边的部分为“假”(为0)时,其右的表达式也不再计算;如:x=y=z=-1; ++x

36、

37、++y&&++z;中,因++x

38、

39、++y的值为0,无论++z为何值,最终结果都是“假”,所以+

40、+z也没有执行;条件运算符条件运算是一种在两个表达式的值中选择一个的操作。它的一般形式为:它也称为“条件表达式”,操作过程为:若e1为真(非0),则此条件表达式的值为e2的值;若e1为假(0),则表达式取e3的值。若e2和e3值的类型不一致,则取二者中类型较高的。条件运算符“?:”共要求三个运算量,是C语言中唯一的三元运算符。e1?e2:e3例:输入两数,输出大者voidmain(){floata,b,max;printf("input2realsplease:");scanf("%f%f",&a,&b);max=a

41、>b?a:b;printf("Themaxis%f",max);}条件运算符的优先级很低,仅比赋值操作符的级别高,结合方式也是从右至左。这里语句max=a>b?a:b;相当于max=(a>b?a:b);if...else结构的应用if...else语句是C语言选择型结构的基本形式。它构成如图所示的“二选一”控制结构。条件式PYN语句A语句Bif(条件)elseS1S2if...else结构的应用它的工作过程是:先对条件表达式进行判断,若为真(成立,值为非零),就执行if分结构(S1);否则(不成立,值为0),就执

42、行else分结构(S2)。条件表达式可以是关系表达式、逻辑表达式,也可以是算术表达式。因为判断主要以其值是否为0为准。设有任意数x,它的绝对值为判断内容:x<0是否成立。可能结果:①

43、x

44、=x(当x≥0)②

45、x

46、=-x(当x<0)例4.1求一个数的绝对值例4.1求一个数的绝对值N-S图如右,C函数如下:doubleabsval(doublex)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。