网站大量收购独家精品文档,联系QQ:2885784924

计算机二级考试-chap4 选择结构.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1 关系运算和逻辑运算 4.1.1 C语言中的逻辑值   C语言中,参与逻辑运算的量为非零值或整数零,非零值和整数零分别表示运算量为“真”或“假”。逻辑运算的结果值,即逻辑表达式的值应该是一个逻辑值“真”或“假”。C语言编译系统在给出逻辑运算结果时,以数值1代表“真”,以0代表“假”,但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。 4.1.2 关系运算符和关系表达式 关系运算实际上就是“比较运算”,将两个数进行比较,判断比较的结果是否符合指定的条件。 1.关系运算符 关于关系运算符的说明: (1)表4-1中前4种运算符(、=、、=)的优先级别相同,后两种也相同。前4种优先级别高于后两种。如,“”优先级别高于“!=”。 (2)关系运算符与算术运算符、赋值运算符的优先级关系如下: 算术运算符(高)→关系运算符(中)→赋值运算符(低) 即:算术运算符优先级别高于关系运算符,关系运算符优先级别又高于赋值运算符。 (3)关系运算符的结合方向是“自左向右”。 2.关系表达式及关系表达式的值   用关系运算符将两个表达式(算术表达式、关系表达式、逻辑表达式、赋值表达式、字符表达式等)连接起来的式子,称关系表达式。例如,a=b。   在C语言中,关系表达式的结果值为1或0。当关系表达式成立时,其结果值为1,否则,其值为0。若a=10,b=6,表达式a=b为“真“,其值为1。   当关系运算符两边的值类型不一致时,系统将自动进行转换。转换规则与双目运算中的类型转换规则相同。 关系运算示例:试求x=531的值。 分析:x=531相当于:  x=(53)1  =11  =0 故x的值为0。 关系表达式主要用于选择结构中的条件判断。   ※重点提示:表示“等于”关系的运算符“= =”和“不等于”关系的运算符“!=”与数学中的表示方法不同。在使用它们时请予以注意,以免写错关系运算符而导致错误的结果。例如,欲判断x是否等于0,如果写成:x=0就不是判断x是否等于0的含义了,而成了把0赋值给变量x。正确的写法应为:x= =0。 4.1.3 逻辑运算符和逻辑表达式 1.C语言中的逻辑运算符   关系表达式只适于描述单一的条件,对于较复杂的复合条件就需要将若干个关系表达式连接起来才能描述,如描述“x大于0且不等于2”,就需要将两个关系表达式x0和x!=2连接起来:x0x!=2。其中“”是C语言中的逻辑运算符。C语言提供了三种逻辑运算符,如表4.2所示。 关于逻辑运算符的说明: (1)逻辑运算符的优先次序如下: !(高)→(中)→||(低) (2)逻辑运算符具有自左向右的结合性 (3)逻辑运算符与赋值运算符、关系运算符、算术运算符的优先次序如下:(由高到低) !(逻辑非)→算术运算→关系运算→(逻辑与)→||(逻辑或)→赋值运算 例如: a=b) (xy) 可以写为:a=bxy (a= =b)||(x= =y) 可以写为:a= =b||x= =y (!a)||(a=b) 可以写为:!a||a=b 2.逻辑表达式和逻辑表达式的值 用逻辑运算符将关系表达式或逻辑值连接起来的式子称逻辑表达式。一个逻辑表达式中可以包含多个逻辑运算符,如xya=b-!c 参与逻辑运算的量为非零值或整数零,非零值和整数零分别表示运算量为“真”或“假”。逻辑运算的结果值,即逻辑表达式的值应该是一个逻辑值“真”或“假”,即为“1”或“0”。 以下是关于逻辑运算的几点说明: (1)参与逻辑运算的量不但可以是0和1,或者是0和非零的整数,也可以是任何类型的数据,如字符型、实型或指针型等。但最终以0和非0来判定它们属于“真”或“假”。 (2)在逻辑表达式求解中,并不是所有逻辑运算符都需要执行,有时只需执行一部分运算符就可得出逻辑表达式的最后结果。例如xyz,只有x为真时才需要判断y的真假,若x为假,则立即得出整个表达式为假。 (3)逻辑表达式的运用场合与关系表达式完全相同,也是用于流程控制语句中的条件描述。只不过,关系表达式描述的是单一的条件,逻辑表达式描述的是复合的条件。 (4)在处理一个复杂表达式时,对于表达式中不同位置上出现的数值,应区分哪些是作为数值运算或关系运算的对象,哪些作为逻辑运算的对象。例如求下列表达式的值:   8=52||65-!0  计算步骤如下:   ① 表达式自左至右扫描求解。因为关系符优先于,所以首先处理8=5,在关系运算符=两侧的8和5作为数值参加关系运算,8=5的值为1。   ② 再进行12||65-!0运算。自左至右扫描求解,两侧的1和2作为逻辑运算对象,因为参加运算的皆为非0,故结果为1。   ③ 接下来进行1||65-!0运算。6的左侧为||运算符,右侧为运算符,根据优先级别,应先进行的运算。即先进行65-!0运算。

文档评论(0)

飞扬的岁月 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档