- 1、本文档共94页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 基本数据及其运算4
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * (2)在C语言中运算符的确定 在由多个字符组成的表达式中,应尽可能多地从左向右将若干个字符组成一个运算符。 如:i+++j 其结合性是:(i++) +j 而不是:i+(++j) 。 (3)printf 函数输出实参的顺序 如:int i=3; printf (“%d,%d\n”,i,i++); 有的系统按从左到右的顺序求值,输出结果是:3,3 而Turbo C 是按从右到左顺序求值,输出结果是:4,3 结论:不写别人甚至自己都看不懂的程序,也不写那些不知道系统会怎样运行的程序 2.2.3 关系运算和逻辑运算 关系运算符:、=、、=、==、!= 关系运算符用于对两个值进行关系比较,判定比较条件是否满足。在C语言中,条件满足的值为1;条件不满足为 0。 (1) 优先级:、=、、= 高于 ==,!= 如: 表达式 x y == c d 等价于 (x y) == (c d) (2) 关系运算符的优先级低于算术运算符的优先级 如: x u+v 等价于 x (u+v) (3) 关系运算符的结合方向是自左至右的 如: i=1,j=2,k=3 则表达式 kji 的值为 0 出错指数: 2.2.3 关系运算和逻辑运算 逻辑运算符 (逻辑与)、|| (逻辑或)、! (逻辑非) 其中:运算符 和 || 是双目运算符,要求有两个运算数;运算符 ! 是单目运算符,只要求一个运算数。 优先级:! || 说明:逻辑运算结果也是一个逻辑量,即真(用1表示)或假(用0表示)。判定一个运算分量的值为真或假时,以运算分量的值不等于零为真,值等于0 为假。 高于 高于 逻辑运算(真值表) a b !a a b a || b 非0 非0 0 1 1 非0 0 0 0 1 0 非0 1 0 1 0 0 1 0 0 优先级: ! (非) 高 算术运算符 关系运算符 || 赋值运算符 低 2.2.3 关系运算和逻辑运算-例 例如: a b x y (a b) (x y) a != b || x != y (a != b) || (x != y) x == 0 || x y z y (x == 0) || ((x y) (z y)) !a b || x y z y ((!a) b) || ((xy) (zy)) 等价于 等价于 等价于 等价于 2.2.3 关系运算和逻辑运算-例 在算术、关系、逻辑混合运算的表达式中,不同位置上出现的运算分量,应区分哪些是算术运算分量、哪些是关系运算分量和哪些是逻辑运算分量。 例 如: 2 1 4 7 3 + !0 等价于: ( (2 1) 4) (7 (3 + (!0) ) ) 1 1 1 4 0 0 2.2.3 关系运算和逻辑运算 例:判别某一年是否为闰年? 闰年是满足以下两个条件之一: (1)该年份能被4整除,但不能被100整除 (2)该年份能被400整除 用逻辑表达式可描述闰年条件: (year%4 == 0 year%100 != 0) || year%400 == 0 可简化为: (year%4 == 0 year%100) || year%400 == 0 表达式结果为真表明是闰年,为假是非闰年。 2.3.3 关系运算和逻辑运算 “逻辑与”和“逻辑或”运算符的性质: a b 当 a 为 0 时,结果为 0,不必再
文档评论(0)