C语言程序设计刘卫国贾宗福沈根海第4章节选择结构程序设计.pptVIP

C语言程序设计刘卫国贾宗福沈根海第4章节选择结构程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 选择结构程序设计 4.1 条件的描述 4.2 if选择结构 4.3 条件运算 4.4 switch多分支选择结构 4.5 选择结构程序举例 本章小结 4.1 条件的描述 4.1.1 关系运算 1.关系运算符 C语言的关系运算符有: (小于)、=(小于等于)、(大于)、=(大于等于)、==(等于)、!=(不等于) 在C语言中,约定以1(非0)表示真,以0表示假。由于C语言中没有逻辑型数据,因此C语言规定用整型数据来表示逻辑值,即用整数值1表示逻辑真,用整数值0表示逻辑假。在C语言中,将非0视为真。 在上述6种关系运算符中前4种(、=、、=)的优先级高于后两种(==、!=)。另外,关系运算符的优先级低于算术运算符的优先级。 2.关系表达式 关系表达式是由关系运算符将两个表达式连接起来的式子。一般格式为: 表达式1 关系运算符 表达式2 关系表达式的结果为1(真)或0(假)。设有i=1,j=2,k=3,则ij的值为0,i==kj的值为1(先计算kj,其值为1,等于i的值),i+j=k的值为1。 在表达式中连续使用关系运算符时,要注意正确表达运算的含义,注意运算优先级和结合性。例如,变量x的取值范围为0≤x≤20时,不能写成0=x=20,因为关系表达式0=x=20的运算过程是:按照优先级,先求出0=x的结果,再将结果1或0作=20的判断,这样无论x取何值,最后表达式一定成立,结果一定为1。这显然违背了原来的含义。此时,就要运用下面介绍的逻辑运算符进行连接,即应写为: x=0 x=20 4.1.2 逻辑运算 1.逻辑运算符 C语言的逻辑运算符有: (逻辑与)、||(逻辑或)、!(逻辑非) 其中运算符 和 || 是双目运算符,要求有两个运算分量,用于连接多个条件,构成更复杂的条件。运算符 ! 是单目运算符,用于对给定条件取非。逻辑运算产生的结果也是一个逻辑量:真或假,分别用1或0表示。 逻辑运算符中, ! 的优先级最高,其次是 ,|| 的优先级最低。另外, 和 || 的优先级低于关系运算的优先级, ! 的优先级高于算术运算符的优先级。 2.逻辑表达式 逻辑表达式是用逻辑运算符将逻辑量连接起来的式子。除!以外, 和 || 构成的逻辑表达式一般形式为: p1 逻辑运算符 p2 其中p1,p2是两个逻辑量。 若逻辑运算符为 ,则当连接的两个逻辑量全为真时,逻辑表达式取值为真,只要有一个为假,便取假值。若逻辑运算符为 ||,则当连接的两个逻辑量中只要有一个为真,逻辑表达式的值为真,只有两个逻辑量同时为假时,才产生假值。 ! 是一个单目运算符,只作用于后面的一个逻辑量。它对后面的逻辑量取非,如果逻辑量为假,便产生真值,如果逻辑量为真,便产生假值。 由于在C语言中,以1(非0)表示逻辑真,0表示逻辑假,所以参与逻辑运算的分量也可以是其他类型的数据,以非0和0判定它们是真还是假。 在一个包含算术、关系、逻辑运算的表达式中,不同位置上出现的数值,应区分哪些是数值运算对象、哪些是关系运算和逻辑运算对象。例如: 21 4 73+!0 3.逻辑运算的重要规则 逻辑与和逻辑或运算分别有如下性质: (1)a b:当a为0时,不管b为何值,结果为0。 (2)a || b:当a为1时,不管b为何值,结果为1。 C语言利用上述性质,在计算连续的逻辑与运算时,若有运算分量的值为0,则不再计算后继的逻辑与运算分量,并以0作为逻辑与算式的结果;在计算连续的逻辑或运算时,若有运算分量的值为1,则不再计算后继的逻辑或运算分量,并以1作为逻辑或算式的结果。也就是说,对于a b,仅当a为非零时,才计算b;对于a || b,仅当a为0时,才计算b。 例如,有下面的定义语句和逻辑表达式: int a=0,b=10,c=0,d=0; ab(c=a+10,d=100) 因为a为0,无论b(c=a+10,d=100)值为1或为0,表达式ab(c=a+10,d=100)值一定为0。所以,b(c=a+10,d=100)部分运算不需要计算。该表达式运算完成后,c和d值都不变,保持原值0。 又如: int a=5,b=10,c=0,d=0; ab-(c=b*b,d=a/b) 表达式中的-(c=b*b,d=a/b)是第二个运算符的右操作数,若加上一对圆括号更清晰。所以,可写成: ab(-(c=b*b,d=a/b)) 因为a、b均为非0,该逻辑运算表达式值还不能确定,(-(c=b*b,d=a/b))需要计算。该表达式运算完成后,其值为0,c为100,d为0。 对于逻辑或运算,有下面的定义语句和逻辑表达式: int a=1,b=10,c=0,d=0; a||b||(c=a+10,d=100) 因为a为非0,无论b||(c=a+1

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档