全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 压力管理技巧从职场到生活的应用
- 安徽省农村信用社联合社2026年校园招聘备考题库附答案详解(模拟题)
- 2025北京市丰台区马家堡社区卫生服务中心招聘备考题库(二)附答案详解(综合题)
- 2025北京市大兴区人力资源和社会保障局招聘劳务派遣4人备考题库含答案详解(典型题)
- 2025青海海西州德令哈市招聘社区工作人员113人备考题库附答案详解(精练)
- 2025重庆南岸区统计局公益性岗位招聘2人备考题库含答案详解(达标题)
- XX自治县2025年人才工作总结与2026年工作计划
- 2025黑龙江七台河新兴区面向原专职网格员招聘社区工作者30人备考题库有答案详解
- 2025广东广州市花都区招聘社区专职工作人员50人备考题库含答案详解(a卷)
- 北京师范大学2025年博士后进站考核(教育伦理)试题及答案
- 承包砂石场合同范本
- 2026年苏州工业职业技术学院单招职业技能测试模拟测试卷及答案解析(夺冠)
- 宜宾市叙州区事业单位2025年下半年公开考核招聘工作人员(24人)笔试考试备考试题及答案解析
- 2025浙江宁波北仑区新闻出版局招聘1人笔试模拟试卷带答案解析
- 基于组合模型的我国社会消费品零售总额精准预测研究
- 西游记第39回课件讲解
- 2025-2026学年统编版新教材道德与法治三年级上学期期末练习卷及答案
- 曹禺名作《日出》教学设计与文学赏析
- 自血治疗的课件
- 2025天津滨海传媒发展有限公司招聘13人笔试考试备考题库及答案解析
- 防黑恶势力安全教育课件
评论
0/150
提交评论