c++表达式与运算符及左值专题

c++表达式与运算符及左值专题

ID:9235709

大小:888.22 KB

页数:17页

时间:2018-04-24

c++表达式与运算符及左值专题_第1页
c++表达式与运算符及左值专题_第2页
c++表达式与运算符及左值专题_第3页
c++表达式与运算符及左值专题_第4页
c++表达式与运算符及左值专题_第5页
资源描述:

《c++表达式与运算符及左值专题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本文作者:黄邦勇帅本文是学习C++最基础的内容,因此应对其熟练掌握,本文主要介绍了最基本的运算符,表达式以及左值的概念,本文对运算符作了全面的解析,尽量做到全面,本文内容由浅入深,易学易懂。本文使用的是x86机器(主流计算机都是x86机器),windowsxp操作系统,VC++2005编译器进行讲解的。本文内容完全属于个人见解与参考文现的作者无关,其中难免有误解之处,望指出更正。声明:禁止抄袭本文,若需要转载本文请注明转载的网址,或者注明转载自“黄邦勇帅”。主要参考文献:1、C++.Primer.Plus.第五版.中文版[美]StephenPrata著孙建春韦强译人民邮电出版社200

2、5年5月2、C++.Primer.Plus.第四版.中文版StanleyB.Lippman、BarbaraE.Moo著李师贤等译人民邮电出版社2006年3月3、《程序设计语言C》中华人民共和国国家标准GB/T15272-941994年12月7日发布出版社不详4、《C和指针》第二版[美]KennethA.Reek著徐波译人民邮电出版社出版日期不详5、《C语言核心技术》PeterPrinzεTonyCrawford著O’ReillyTaiwan公司译机械工业出版社2007年8月6、《ANSIC标准详解》作者、出版社、出版日期不详第4部分:运算符与表达式及左值专题(共3章,共页)(注:有关

3、指针*运算符、&运算符、[]运算符的内容详见指针章节)第一章基础及关键概念一、基本概念1、整型:注意,本文所指的整型包括整数类型、字符型、布尔型及枚举类型。2、对象:指的是某种类型所占据的一片连续的内存单元,命名的对象就是变量,因此某种意义上讲,对象就是指的某一变量。注意:对象不仅仅指的是一片连续的内存单元,而且这片内存区域已经指定了某种类型。这里的对象与以后要讨论的类的对象是两个概念,应注意区分。3、算术类型:包括所有整型与浮点类型,即包括所有整数类型(short,int,long等),字符型、布尔型、枚举型及所有浮点型。4、标量类型:是不可再分为其他类型的类型,包括算术类型与指针

4、类型两类,也可认为标量类型是除聚集类型之外的所有类型。5、聚集(合)类型:是由标量类型、聚集类型聚合而成的,数组、结构、类类型都属于聚集类型。6、副作用:是指对执行环境的状态的改变(比如对变量值的改变),如下操作会产生副作用:1)、存取volatile对象;2)、修改对象的值;3)、修改文件的内容;4)、调用其中要作上述运算或操作的函数,也就是说函数可能不会产生副作用,只要在函数内没有发生以上3种情况的操作。7、表达式的副作用:表达式的副作用一般可以理解为对作为操作数的变量的值的改变,因此如下一些运算符会产生副作用自增++和自减――运算符,各种赋值运算符(包括复合赋值运算符)。8、序

5、点(顺序点):序点就是程序中的一个点,当程序执行到这个点时,必须保证对这个点之前的所有副作用都已经完成了。如下情况都是顺序点:1)、在函数调用的所有变元求值完毕时;2)、逻辑与&&、逻辑或

6、

7、、条件运算符?:、逗号运算符的左(或第一)操作数结束处3)、全表达式的结束处。4)、示例:a=(b+c+d)

8、

9、(f&&g?h,i:j);表达式中的顺序点有4个,分别是:逻辑或

10、

11、运算符的左操作数(b+c+d)之后;逻辑与&&运算符的左操作数f之后;条件运算符?:的第一操作数f&&g之后;逗号运算符的左操作数h之后;在进行计算时,所有的副作用必须在到达顺序点之前完成。9、全表达式(或称为完整表达

12、式):就是指不作为其他表达式一部分的表达式,因此以下表达式属于全表达式:1)、初始化,2)、表达式语句中的表达式,注意:表达式语句就是在表达式之后加一个分号,比如a=b+c;这是表达式语句,那么表达式语句中的表达式则指的就是”a=b+c”因此要注意;3)、if或switch语句中的控制表达式;4)、while或do语句中的控制表达式;5)、for语句中的三个表达式中的任一个;6)、retun语句中的表达式。10、依赖(或取决)于实现、机器:取决于实现或机器也就是说C++标准没有对此种情况作出规定,其具体的实现取决于编译器或者计算机本身的表示方式,比如对于浮点数而言,大部分机器都是使用

13、的IEEE754标准来存储浮点数。不管结果是依赖于机器还是依赖于实现,本文对于C++未作规定而由编译器或机器作出的规则都使用“由实现定义”,“依赖于实现”或“取决于实现”之类的语句,而不管是否取决于机器或编译器。11、不完整类型:指的是大小(或成员)不确定的类型,元素数不确定的数组,成员没有定义的结构与联合类型,void类型是不完整类型,而且永远都是不完整类型。比如inta[];structb;等都是不完整类型,不完整类型可以在其他位置使用完整类型说明使该

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。