c++PRIMER中文版

c++PRIMER中文版

ID:43484498

大小:128.80 KB

页数:44页

时间:2019-10-07

c++PRIMER中文版_第1页
c++PRIMER中文版_第2页
c++PRIMER中文版_第3页
c++PRIMER中文版_第4页
c++PRIMER中文版_第5页
资源描述:

《c++PRIMER中文版》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第一篇C++概述第2章C++浏览本章将首先看一看C++对数组类型的支持。数组是相同类型元素的集合,例如整型数组,可能代表考试的分数,或者字符串数组,可能代表在文本文件中包含的单词。然后,我们会看一看内置数组类型的缺点,以及怎样通过提供一个基于对象的Array类型的类来改善这些缺点。然后将其扩展成一个针对特化之后的Array子类型的面向对象层次结构。最后,我们还要比较一下Array类型与C++标准库的vector类,并第一次了解泛型算法。沿着这条路,我们将进一步了解C++对异常处理、模板和名字空间的支持。2.1内置

2、数组数据类型正如第1章所介绍的那样,C++为基本算术数据类型(如整数类型)提供了内置的支持。如://declaresanintegerobject,ival//initializedtoafirstvalueof1024intival=1024;它也支持双精度和单精度浮点数据类型://declaresadoubleprecisionfloatingpointobject,dval//initializedtoafirstvalueof3.14159doubledval=3.14159;//declaresasin

3、gleprecisionfloatingpointobject,fval//alsoinitializedtoafirstvalueof3.1415920第2章C++浏览floatfval=3.14159;C++也支持布尔类型以及用来存放字符集中单个元素的字符类型。C++也为算术数据类型提供了赋值、一般算术运算以及关系运算的内置支持。算术运算如加、减、乘、除,关系运算如等于、不等于、小于、大于。例如:intival2=ival+4096;//addition(加)intival3=ival2-ival;//sub

4、traction(减)dval=fval*ival;//multiplication(乘)ival=ival3/2;//division(除)boolresult=ival2==ival3;//equality(等于)result=ival2+ival!=ival3;//inequality(不等于)result=fval+ival2ival2;//greater-than(大于)另外,标准库还支持基本类抽象的组合,例如字符串、复数。(在2.7节之

5、前我们暂时不考虑标准库提供的vector类)。在内置数据类型与标准库类的类型之间是复合类型(compoundtypes),特别是指针和数组类型(我们将在2.2节中介绍指针类型)。数组(array)是一个顺序容器,它包含单一类型的元素。例如,序列:01123581321代表菲波拉契数列的前9个数。(只要给出最前面两个元素,后面的元素依次可以由前面两个元素相加得出。)为了定义和初始化一个数组以便存放这些数,我们可以这样写:intfibon[9]={0,1,1,2,3,5,8,13,21};数组对象的名字是fibon,

6、这是一个包含9个元素的整型一维(dimension)数组。第一个元素为0,最后一个为21,通过数组下标(subscript)操作符我们可以以索引方式访问数组的元素。例如,为了读取数组的第一个元素,我们可能会这样写:intfirst_elem=fibon[1];//不正确不幸的是,这是不正确的,虽然它本身并没有语言错误。在C++中,数组下标从0开始,而不是1。在位置1上的元素实际上是数组的第二个元素。类似地,位置0上的元素才是第一个元素,为了访问数组的最后一个元素,我们总是要索引到数组长度-1的位置处的元素。fib

7、on[0];//第一个元素fibon[1];//第二个元素...fibon[8];//最后一个元素fibon[9];//喔!...由9索引的元素不是数组的元素。fibon的9个元素由下标0~8索引。初学者一个常见21第一篇C++概述的错误就是用位置1~9来索引。事实上,这非常普遍,以至于这个错误有了自己专用的名字:一位偏移(off-by-one)错误。通常我们用循环来遍历数组中的元素。例如,下面的程序初始化一个包含10个元素的数组,其值分别从0到9。然后在标准输出上以降序输出:intmain(){intia[10

8、];intindex;for(index=0;index<10;++index)//ia[0]=0,ia[1]=1,等等ia[index]=index;for(index=9;index>=0;--index)cout<

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

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

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