- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 分支程序设计 3.1 关系与逻辑运算 3.2 两路分支 3.3 多路分支 3.1 关系与逻辑运算 3.1.1 逻辑数据 用来表示“真”和“假”的数据称为逻辑数据 C语言中没有逻辑数据类型,它用其它数据类型来表示逻辑型数据 C中规定,0值表示“假”,非0值表示“真” 图3-1 C中的逻辑数据表示 3.1.2 关系运算 关系运算也叫比较运算,用来比较两个值的大小,结果是逻辑值 C中有6种关系运算 表3-1 关系运算符 注意事项 (1)关系运算是二元运算,对两个值进行大小比较 任意类型的表达式都可以参加比较运算 若有下面的定义: float y = 5, z; 则: 5 3 /* 两个初级表达式(常量)进行比较 */ y = 3 /* 两个初级表达式(变量和常量)进行比较 */ 2 * a == y + 3 /* 两个二元表达式进行比较 */ --a = b++ /* 一个一元表达式与一个后缀表达式进行比较 */ (m = 4) = (n = 3) /* 两个赋值表达式进行比较 */ (y 3) (a 5) /* 两个关系表达式进行比较 */ (2)关系运算的结果是逻辑值——“真”或“假” 在C中,一个式子的运算结果若为逻辑“真”,则它的值是整数1;若运算结果为逻辑“假”,则它的值是整数0 若有定义: int a = 3,b = 2, x = 5; 则: 5 3 结果为“真” → 值为1 x = 3 结果为“假” → 值为0 --a = b++ 结果为“真” → 值为1 (3)前四个的优先级高于后两个,所有运算的结合性都是左结合 a == b c 等价于 a == (b c) a b c 等价于 ((a b) c) (4)不可以简单地通过几个连续的关系运算来构建复杂的条件 如: 3 x 5 不能表示x∈(3,5) 3.1.2 逻辑运算 逻辑运算是对逻辑量进行的运算 C中有3个逻辑运算——逻辑与(and),逻辑或(or)和逻辑非(not) 表3-2 逻辑运算符 (1)逻辑运算是对逻辑值实施的运算,结果还是逻辑值 注意事项: 表3-2~表3-5 逻辑运算真值表 (2)任意类型的表达式都可以参加逻辑运算 要牢牢把握住一点:任何非0的值为“真”,只有0值才为“假” 若有以下定义: int a = 0, b = 13; float y = -3.14; char c = ‘A’; 则下列的表达式都是合法的: !5 结果为“假” → 值为0 !a 结果为“真” → 值为1 !y 结果为“假” → 值为0 !(b % 2) 结果为“假” → 值为0 a = 0 a 3 结果为“真” → 值为1 (c =‘a’ c = ‘z’)||(c=‘A’ c =‘Z’) 结果为“真” →值为1 (3)只要表达式的值已经确定逻辑运算就终止 进行逻辑运算时,只要表达式的值已经确定了,就不再继续处理了,有时也把它叫逻辑短路 图3-2 逻辑短路 如: int a = 1, b = 2, c = 3, d = 4, m = 2, n = 2; (m = a b) (n = c d); 执行上面的语句后m和n的值分别是0和2 (4)要尽量使用简单的表达式 比较运算之间存在互补关系 两个存在互补关系的运算,只要对一个取非运算就和另一个等价 在编程时应尽量选择简单的格式 基本的原则是:能用关系运算表示的,就不要再进行逻辑运算 图3-3 关系运算间的互补 3.2 两路分支 分支又叫选择,它是一种程序结构 它是根据某一条件的“真”或“假”,有选择地执行程序中某一部分代码 图3-4 两路分支的逻辑结构 3.2.1 if…else语句 图3-5 if…else语句 (1) if后的括号不能省略,括号后不能有分号 (2) expression可以是任意类型的表达式 (3) s1和s2是语句,它们可以是一条语句、空语句或多条语句,若为多条语句就必须使用{}括起来 注意事项: 图3-6 if…else后跟多条语句 (4
文档评论(0)