- 1、本文档共110页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章标记、类型与表达式讲述
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #include stdio.h int main(void) { int i; printf(%d\n, i = 3.6); printf(i = %d\n, i); return 0; } 2、复合赋值运算符 简复合赋值运算符有10个,本节介绍其中的5个,分别是: *= /= %= += -= 除了左值E1仅被计算一次,赋值表达式 E1 op= E2 等价于E1 = E1 op (E2), 其中,op是*、/、%、+ 或 - 中的任何一个 r *= 2 + 3 等价于 r = r * (2 + 3) #include stdio.h int main(void) { int r; r = 3; printf(%d\n, r *= 2 + 3); printf(r = %d\n, r); return 0; } 执行序列中某些特定的点被称为序点(sequence point) 表达式A和表达式B之间有序点,意味着与表达式A相关的每一个值计算和副作用完成后,与表达式B相关的每一个值计算和副作用才开始 如果与表达式相关的副作用有多个,C语言并没有规定这多个副作用发生的先后次序,仅规定这多个副作用在序点之前完成 int a = 12; a += a -= a * a; // 不推荐使用 九、后缀增1运算符与后缀减1运算符 后缀增1运算符(postfix increment operator)是 ++,属于单目运算符,其运算对象必须是可修改的左值 表达式 5++ 是错误的 由后缀增1运算符和运算对象构成的表达式有两个功能: ①求表达式的值 ②产生副作用 求表达式的值在副作用之前完成 表达式的值是运算对象的值;表达式的类型是运算对象的类型 副作用是使运算对象的值增1 后缀减1运算符(postfix decrement operator)是 --,除了副作用是使运算对象的值减1以外,后缀减1运算符与后缀增1运算符是类似的 int a = 20, b = 10; printf(%d\n, a++); printf(a = %d\n, a); printf(%d\n, b--); printf(b = %d\n, b); 十、前缀增1运算符与前缀减1运算符 前缀增1运算符(prefix increment operator)是 ++,属于单目运算符,其运算对象必须是可修改的左值 表达式 ++5 是错误的 由前缀增1运算符和运算对象构成的表达式有两个功能: ①求表达式的值 ②产生副作用 表达式的值是运算对象的值加1;表达式的类型是运算对象的类型 副作用是使运算对象的值增1 表达式 ++E 等价于 E += 1 前缀减1运算符(prefix decrement operator)是 --,除了“表达式的值是运算对象的值减1”和“副作用是使运算对象的值减1”以外,前缀减1运算符与前缀增1运算符是类似的 int a = 20, b = 10; printf(%d\n, ++a); printf(a = %d\n, a); printf(%d\n, --b); printf(b = %d\n, b); int a = 3, b; b = ++a + 2; 十一、类型转换运算符 类型转换运算符(cast operator)是 (type-name),属于单目运算符,表达式的值是将运算对象的值转换为 type-name 类型得到的值,表达式的类型是 type-name 注意:运算对象的类型并没有改变 double d = 8.7; printf(%d\n, (int)d % 3); printf(sizeof d = %d\n, sizeof d); printf(d = %f\n, d); 十二、逗
您可能关注的文档
- 第六课北宋王安石变法详解.ppt
- 第2章微型计算机系统基础知识讲述.ppt
- 第2章教学设计的理论基础与基本方法讲述.ppt
- 第2章数据挖掘可挖掘的知识类型讲述.ppt
- 第2章数字图像基础讲述.pptx
- 第2章数据类型与运算符——教学设计讲述.doc
- 第2章数据类型与数据运算讲述.ppt
- 第2章太阳能及其应用_1457418056讲述.ppt
- 第2章数据类型变量和输入函数讲述.pptx
- 第2章数据类型运算符表达式讲述.ppt
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)