


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C+ 优先级与结合性概念2008-07-11 12:57 优先级与结合性,这两个概念大家都很清楚,我在这里简短描述下,以便我们深入讨论。优先级:决定哪部分表达式先计算。结合性:计算时是从左向右顺序,还是从右向左的顺序。 好像听糊涂了,我们来举个例子吧: b=+a; 先看优先级:+ 优先级比 = 要高,先算这一部分。再看结合性:+ 的结合性是从右到左,这里就是它,直接算。现在就剩下 = 号了,优先级就是自己,但结合性还是 从右到左,那么现在把a 的值取出来赋值给 b 。所以: 整个结果相当于a = a + 1; b=a;再看一个例子: b=a+; 先看优先级,+ 虽然高,但是后置的(它的结合性是从左到右,这点不认真看优先级表还真不知道呢),这就意味着它返回左值。而返回值后就必须进行下面的计算,这里是 = ,运算全部完成后才能进行自身+运算,所以它最后算。 我们这里先看 = ,再看结合性: 从右到左。故取 a 的值赋值给 b ; 最后 a 的值加1 。相当于: b=a; a = a + 1;下面我们来看一个比较复杂的: a-=b+=+c+2+e+; 这个够复杂吧,谁先? 单目运算符前缀 + 先算,然后是 + ,赋值运算最后。然后看结合性。 -= += 都是从右到左,右边先算。故:上例分解为: +c; b=b+ e+c+2; a=a-b;e+; 我为什么知道? 因为我看过调试器里的汇编代码。我们也来看看吧。不要吃惊,我做了注释。 看完后感觉怎样?是不是有一种如释重负的感觉。我当时看完后觉得这世界都变美丽了。现在作下总结好了。 赋值运算符:结合性从右到左,这个好理解,将右边的值赋值给左边嘛,当然是从右到左了。记住,这些运算符有 = -= += *= /= %= = = &= = |=使用时要牢记,另外 != 是逻辑运算符“不等于”,一定要搞清楚。 先确定优先级,然后确定结合性。优先级看看优先级表就可以知道了,但容易忽略结合性,记住,相同优先级的前提下,就要看结合性,从哪开始先算。可以理解为结合性表示的是同级优先级,即同级运算符中的优先级。横向性。优先级表示的是全局优先级,即不同运算符中的优先级。纵向性。优先级指明了,谁先算后算的关系。另外,对于自增自减表达式, 我们规定。前缀:先于表达式中其它部分的运算进行计算;后缀:后于表达式中其它部分的运算进行计算。在 C+ 中 x + y 是表达式, z = x + y 也是表达式,这和我们生活中认为等号右边的才是表达式有所不同。C+中,一条语句就是一个表达式。因此,要对整个语句考虑结合性、优先级。通过以上分析,现在我来谈谈我自己的看法:+A ; 结合性,从右到左。 变量在右,返回右值。/先看到 + 再看到 A ,返回 A 时 A 已经自增。A+ ; 结合性,从左到右。 变量在左,返回左值。/先看到 A,可以返回值,直接返回。A 本身再自增。再来看看 B=A+; B=+A; 很容易就知道运算关系是怎么样的了,下面进行说明:A+,执行后置运算,后计算A自增。先返回变量A的值参与表达式中其它部分的运算,整个表达式计算完成后,A才自增。因其间返回的临时值参是一个常量,故该表达式不能写成:A+ = 100;/ 常量不能赋值+A,执行前置运算,先计算A自增,然后返回A自增后的值。因为A自增操作已经完成,不必返回临时常量,直接返回A本身即可。所以该表达式最终返回值是一个变量,故可以写成:+A = 200; / 变量可以赋值注意,理解它们, +A, A+ ,要把它们当一个整体来看,即最小单位。在这里是没什么左右的,不要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工机械设备调度管理方案
- 大学毕业论文致谢词8篇
- 隧道二次衬砌施工质量控制方案
- 2025年针对国有企业的水电供应合同
- 2.3群落的演替教学设计-2023-2024学年高二上学期生物人教版(2019)选择性必修2
- 北师大版必修二第七单元第20课从“战时共产主义政策”到“斯大林模式”教学设计
- 毕业设计(论文)致谢7篇
- 八年级英语上册 Unit 2 How often do you exercise第2课时说课稿 (新版)人教新目标版
- 桥(教学设计)-2024-2025学年语文六年级上册统编版
- 施工现场材料堆放标准化管理方案
- 2025至2030年中国物业管理行业市场发展现状及投资前景展望报告
- 苏教版三年级上册数学全册教学设计(配2025年秋新版教材)
- 《2025基本医疗卫生与健康促进法》知识测试题附答案
- 气动阀基础知识培训课件
- 重庆中医药学院2025年第二季度考核招聘工作人员笔试备考题库带答案详解
- 2025奇台县公安局招聘警务辅助人员(144人)考试模拟试题及答案解析
- 2025-2026学年浙教版(2024)初中科学八年级上册教学计划及进度表
- 2025年育婴师考试必考知识试题及答案
- 基孔肯雅热防护知识科普课件
- 中医优才考试试题及答案
- 2025-2026学年新交际英语(2024)小学英语一年级上册教学计划及进度表
评论
0/150
提交评论