- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
表达式 表达式是由运算符连接常量、变量、函数所组成的式子。 每个表达式都有一个值和类型。 表达式求值,是按运算符的优先级和结合性所规定的顺序进行。 C语言规定,参加该表达式运算的所有操作数中不能包含有字符串 表达式运算之后得出来的结果,其类型就是参加该表达式所有操作数中最大的那个类型 赋值运算符1 基本赋值运算符 = 复合赋值运算符 += -= *= /= %= 赋值运算符2 = 一般形式: 变量=表达式; 功能:将赋值运算符右边表达式的值赋给其左边的变量。 例如:x=2+b意思是将2+b的运算结果赋给变量x。 注意几个要点: 赋值号(=)左边只能是变量,绝对不能是常数或表达式。 这是因为常数和表达式是没有存储单元的 赋值号右边表达式类型要与左边的变量保持一致。 如果不一致,则先将右边表达式的值转换为与左边变量相同的类型,然后进行赋值 赋值运算符的结合方向为自右向左。 如:float x=3.1;int y;y=x+2;这个赋值运算的处理过程是:现将2转换为2.0,再计算3.1+2.0;运算结果为5.1,最后将float的结果5.1转换为int型整数5并付给变量y 赋值运算符3 一般形式: 变量 算术运算符=表达式; 功能:对赋值运算符左、右两边的运算对象进行指定的算术运算符运算,再将运算结果赋予左边的变量。 注意要点: 复合赋值运算符右边的表达式是一个运算”整体“,不能把它们分开。 如:a*=b+1;等价于a=a*(b+1);如果把:a*=b+1;理解为a=a*b+1;那就错了。 算算:x=5;y=x%=3+=10*=2/=3+=20-=4*=5;y=? 赋值表达式举例 逗号运算符1 逗号“,”的用法有两种: 一种是用作分隔符 int a,b,c; scanf(%f%f%f,f1,f2,f3); 一种是用作运算符(双目运算符) y=2.1,10+x,x+y 运算优先级是所有运算符中最低的 运算顺序是自左向右的 逗号运算符2 例:a=2*6,a-4,a+15; 求值顺序为: 先计算2*6(计算并赋予a,计算前a没有值,计算后a=12) 再计算a-4(只计算,不赋值,计算前a=12,计算后a=12) 最后计算a+15(只计算,不赋值,计算前a=12,计算后a=12) 最终以12+15作为整个逗号表达式的值。 再考虑下列两个表达式,最终a存放的是什么值? a=a=2*6,a-4,a+15; a=(a=2*6,a-4,a+15); 逗号运算符3 例:a=(2*6,a-4,a+15); 求值顺序为: 先计算2*6(只计算,不赋值,计算前a没有值,计算后a没有值) 再计算a-4(只计算,不赋值,计算前a没有值,计算后a没有值) 最后计算a+15(计算并赋予a,计算前a没有值,计算后a=随机数+15 ) 最终以随机数+15作为整个逗号表达式的值。 再考虑下列两个表达式,最终a存放的是什么值? a=a=2*6,a-4,a+15; a=(a=2*6,a-4,a+15); 逗号运算符4 例:a=(2*6,a-4),a+15; 求值顺序为: 先计算2*6(只计算,不赋值,计算前a没有值,计算后a没有值) 再计算a-4(计算并赋予a,计算前a没有值,计算后a=随机数-4) 最后计算a+15(只计算,不赋值,计算前a=随机数-4,计算后a=随机数-4) 最终以随机数-4+15作为整个逗号表达式的值。 再考虑下列两个表达式,最终a存放的是什么值? a=a=2*6,a-4,a+15; a=(a=2*6,a-4,a+15); 逗号运算符5 例:a=2*6,(a-4,a+15); 求值顺序为: 先计算2*6 (计算并赋予a,计算前a没有值,计算后a=12) 再计算a-4(只计算,不赋值,计算前a=12,计算后a=12) 最后计算a+15(只计算,不赋值,计算前a=12,计算后a=12 ) 最终以12+15作为整个逗号表达式的值。 再考虑下列两个表达式,最终a存放的是什么值? a=a=2*6,a-4,a+15; a=(a=2*6,a-4,a+15); 逗号运算符举例 算术运算符1 单目运算符有: ++:(自增1,运算对象必须为变量,如:a++,++a) --:(自减1,运算对象必须为变量,如:a--,--a) + :(取正,如:+a) - :(取负,如:-a) 双目运算符有: +(加,如:a+b) -(减,如:a-b) *(乘,如:a*b) /(除,如:a/b) %(求余数,运算两边必须为整型,如:a%b) 算术运算符2 ++,--前缀形式和后缀形式的运算 例如: 设int x=5; y=++x; 表示先计算x=x+1,再计算y=x,结果y=6,x=6。 y=x++; 表示先计算y=x,再计算x=x+1,结果y=5,x=6。
文档评论(0)