- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计2--李2012
* 2.4.2 赋值运算(双目、右结合、倒第二) 变量=表达式 功能:把其右侧表达式的值赋给左侧的变量。 赋值运算中,两端数据类型如不一致,系统自动将右边的类型转换成左边变量的数据类型后再赋值。(赋值的类型转换规则 教材P30) 赋值表达式的值是左端变量的值。 赋值语句: 赋值表达式加上分号。 * 复合赋值运算 复合赋值运算符: += -= *= /= %= 优先级别结合性与赋值运算符相同 赋值运算符和复合赋值运算符左端只能 是变量。不能是常量和表达式。 1=a a+b=c * 复合赋值运算 已知x=3,y=2,则表达式x*=y+8的值 为几? int i=3,执行完i+=i-=i*i后,i的值是多少? int x=20,求x+=x-=x*=x的值 1) 30 2) -12 3) 0 * [例2.7]复合赋值运算符举例。 main() {int a=3,b=9,c=-7; a+=b; c+=b; b+=(a+c); printf(a=%d,b=%d,c=%d\n,a,b,c); a+=b=c; printf(a=%d,b=%d,c=%d\n,a,b,c); a=b=c; printf(a=%d,b=%d,c=%d\n,a,b,c);} * 2.4.4逗号运算 逗号运算符: , --优先级别最低。 逗号表达式:用逗号运算符把两个或多个算术表达式连接起来构成逗号表达式。 表达式1,表达式2,…… 求值过程:从左到右,逐个求表达式的值,最后整个表达式的值取最右侧的表达式的值。 * 【 例2.9 】逗号表达式举例 main() { int a,b; a=(b=2,++b,b+5); printf(The value of a is %d\n,a); } 运行结果: The value of a is 8 * 2.4.5 关系运算 关系运算符: = = == != 优先级:算术关系赋值运算符 = = = = != 关系表达式:用关系运算符将两个表达式连接起来的式子。 值是1或0。 * 2.4.6 逻辑运算 逻辑运算符:! || a b !a !b ab a||b 真 假 真 假 假 假 真 真 短路运算: 和||一旦能够确定表达式的值, 就不再继续运算下去。 * 注意: 逻辑运算符两侧的操作数,除可以是0和非0的整数外,也可以是其他任何类型的数据,如实型、字符型等。 在计算逻辑表达式时,并不是所有的逻辑运算符都被执行,只有在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。 int a=1,b=2,c=3,d=4,m=1,n=1; (m=ab)(n=cd) //m值为0, n=cd 不执行,n值为1 int n1=5,n2=2,n3=3,n4=4,x=1,y=1; (x=n1n2)||(y=n3n4) //m值为0, y=n3n4不执行,n值为1 * 2.4.7 条件表达式 条件运算符: ? : 条件表达式:含有条件运算符的表达式。三目运算符。 表达式1?表达式2:表达式3 执行过程:先计算表达式1,为真(非0),计算表达式2的值作为条件表达式的值;表达式1值为0,则计算表达式3的值作为条件表达式的值。 * 2.4.7 条件表达式 main() { int a,b; scanf(“a=%d,b=%d”,a,%b); printf(“The min is %d”,ab?a:b); } a=3,b=4 * 2.4.7 条件表达式 main() { int a=5,b=4,c=6,d; printf(“%d\n”,d=ac?(ac?a:c):(b)); } 4 * 2.4.8 运算符的结合律和优先级 优先级 运算符 结合规则 1 [ ] ( ) - . 从左至右 2 ! ~ ++ -- - * sizeof 从右至左 3 * / % 从左至右 4 + - 从左至右 5 从左至右 6 = = 从左至右 7 == != 从左至右 8 从左至右 9 ^ 从左至右 10 | 从左至右 11 从左至右 12 || 从左至右 13 ?: 从右至左 14 = += -= *= /= %= = ^= |= =
您可能关注的文档
- 鲁教版初三思品第一学期期中总复习.ppt
- 代谢的多样性C.ppt
- 北理工远程教育22.ppt
- 第六讲C语言基础知识(二).ppt
- PR-5传播与沟通.ppt
- C语言深度挖掘1.ppt
- 高一数学2-3变量间的相关关系课件新人教A版必修.ppt
- 关注两会关注民生.ppt
- C语言重点知识 第1讲.ppt
- 第五章设施规划.ppt
- 2024-2025学年高二政治课件(选择性必修1)8-2联合国.pptx
- 浙江省台州市2024-2025学年高一上学期期末质量评估生物试题2.docx
- 七选五完形填空语法填空精选7.docx
- 四川省绵阳中学2024-2025学年高三下学期开学考试英语试题(原卷版).docx
- 必考题型梳理题型四发展变化类课件--高三历史二轮复习.pptx
- 2017-2018学年人教A版高中数学选修2-3课后提升训练五1213排列的综合应用.doc
- 打造尖子生培养课件-高中上学期班主任培训.pptx
- 高三生物二轮复习课件细胞工程.pptx
- 浙江省宁波市奉化区2024-2025学年高二上学期期末生物试卷2.docx
- 第一单元平移旋转和轴对称-四年级数学下册典型例题(原卷版).docx
文档评论(0)