欢迎来到天天文库
浏览记录
ID:40238254
大小:907.00 KB
页数:103页
时间:2019-07-28
《C++程序设计基础杨长兴 第5章 数组与指针》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++程序设计基础主编杨长兴中国水利水电出版社第5章数组与指针5.1数组及其应用5.2指针及其应用5.3指针与数组5.4字符串5.5指针数组与多级指针5.1数组及其应用5.1.1数组的概念某些程序在运行过程中要处理大批量的数据,而且这批数据中数据之间有某种逻辑上的联系,从而构成逻辑上的整体。如成绩统计分析程序处理一个班60名学生的数学成绩时,这些成绩构成一批数据,解方程组程序求解一个多元一次方程组时,方程组所有系数也构成一批数据。设计程序时,为批量数据中的每个数据定义一个变量显然非常麻烦,也难以反映出数据之间的逻辑联系和实现对数据有规律的运算。此时可将这种批量数据
2、作为一个整体处理,用数组来描述和存储。具有相同类型的一批数据所构成的整体称为数组。一个变量用来表示一个数据,一个数组则用来表示一批数据,因此数组也可理解为一批变量。数组的名字简称为数组名。所以数组代表一批数据(或变量)。数组中的数据称为数组元素(或数组分量),数组元素可以用下标(顺序号)来区分。例如,一个班60名学生的数学成绩可以用一个数组g来表示,每个学生的成绩分别表示为:g[0],g[1],g[2],…,g[i],…,g[59]又如二元一次方程组:未知数x的系数可以用数组a表示,其元素为:a[0][0],a[0][1]a[1][0],a[1][1]在这里,区分
3、g数组的元素需要一个顺序号,故称为一维数组;而区分a数组的元素需要两个顺序号,故称为二维数组。引入数组的概念后,我们可以用循环语句控制下标的变化,从而实现对数组元素有规律的访问。例如,输入60名学生的成绩,可写为:for(i=0;i<60;i++)cin>>g[i];5.1.2一维数组数组在使用之前也要定义,即确定数组的名字、类型、大小和维数。1.一维数组的定义一维数组的定义形式为:类型符数组名[常量表达式];其中,方括号中的常量表达式的值表示数组元素的个数,即数组的大小或长度。常量表达式可以包括字面常量和符号常量以及由它们组成的常量表达式,但必须是整型。方括号之
4、前的数组名是一个标识符。类型符指出数组(数组元素)的类型。例如数组定义inta[10];要注意的是方括号中不能含有变量,下面的定义错误的:intN;cin>>N;//输入数组的长度inta[N];//企图根据N的临时输入值定义数组的长度如果N是已经定义的符号常量则合法,例如:#defineN10//或者constintN=10;inta[N];2.一维数组元素的引用一维数组元素的引用形式为:数组名[下标]一个数组元素的引用就代表一个数据,它和简单变量等同使用。C++规定,数组元素的下标从0开始。在引用数组元素时要注意下标的取值范围。当所定义数组的数组元素的个数为N
5、时,下标值取0到N-1之间的整数。例如上面定义的数组a有10个元素,即a[0],a[1],…a[9],如程序引用数组元素a[i],就要保证程序运行时i在0到9之间。下标可以是整型常量、整型变量或整型表达式。要给上面的数组a中数组元素输入数据可表示如下(假设i是已定义的整型变量):for(i=0;i<10;i++)cin>>a[i];//输出则改为:cout<>a[0]>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6]>>a[7]>>a[8]>>a[9];3.一维数组的存储结构程序运行期间,每个变量对应一个
6、特定的存储单元,一维数组在内存中则占据一片连续的存储单元,数组元素按下标从小到大连续排列,每个元素占用相同的字节数。例如,定义数组a如下:inta[5];则数组a的存储结构如图5.1所示。数组名a代表数组所占内存的起始地址,即第一个元素的地址(该元素首字节的编号)。图中数字1000表示内存地址,可认为a代表地址常量1000。4.一维数组的初始化如同变量初始化一样,在定义数组的同时,可设定数组全部或部分元素的初值。数组的初始化可用以下几种方法实现。(1)顺序列出数组全部元素的初值数组初始化时,将数组元素的初值依次写在一对花括号内。例如:intx1[5]={0,1,2
7、,3,4};经上面定义和初始化之后,使得x1[0]、x1[1]、x1[2]、x1[3]的初值分别为0、1、2、3和4。注意,如提供的初值个数超过了数组元素个数,编译源程序时会出现语法错误。(2)仅对数组的前面一部分元素设定初值intx2[10]={0,1,2,3};对x2前四个元素设定了初值,依次为0,1,2,3。编译系统默认后六个元素为0。(3)对全部数组元素赋初值时,可以不指定数组元素的个数intx3[]={0,1,2,3,4,5,6,7,8,9};编译系统根据花括号中数据的个数确定数组的元素个数。所以数组x3有10个元素。但若提供的初值个数小于数组应有的元素
8、个数时,则
此文档下载收益归作者所有