C++面向对象程序设计
上QQ阅读APP看书,第一时间看更新

2.6.1 数组

如果需要处理一组类型相同的数据,应该用什么方案呢?多数时候,对大批量同类型数据的处理,所用的方法都是相同的,也就是说,经常需要依次按照相同方法处理同类型的不同数据。在高级程序设计语言中数组正是用来组织、存储和表示这种批量同类型数据的。

数组是具有一定顺序关系的若干对象的集合体,组成数组的对象称为该数组的元素。数组元素用数组名与带方括号的下标表示,同一数组的各元素具有相同的类型。数组可以由除void型以外的任何一种类型构成。

数组可以用来存储和表示线性序列,二维数组可以存储和表示数学中的矩阵。

1.一维数组的声明与使用

与基本类型的变量一样,要使用一个数组首先要声明它,并且在大多数情况下声明的同时也是定义,也就是说在声明数组的时候即为之分配了内存空间,当然也可以同时进行初始化。声明一个数组包括声明数组名、元素的类型、数组的结构。

一维数组类型声明的语法形式为:

T Name[size]

其中T为类型名,如int型、float型等,Name为数组名,size为常量表达式,表示数组的大小。

【例2-16】编写程序,计算出Fibonacci数列前20项的值,将计算结果保存到数组FBNC中。并将其输出到屏幕上,每行5项,一共4行。

分析:本例求解的问题是用数组FBNC[n]保存数列的每一项,Fibonacci数列的组成规律为:

从第3项开始,每个数据项的值为前两个数据项的和。

本例题只要计算前20项的值。可以采用一维整型数组int FBNC[20]来保存这个数列的前20项。

源代码:

程序运行结果:

2.多维数组的声明与使用

—维数组是最基本的数组,一个数组又可以作为元素去构成更复杂的数组,也就是说可以声明“数组的数组”。例如,一个可以表示矩阵或二维表格的二维数组,实际上就是由一维数组构成的数组,我们以二维数组为例,说明多维数组的声明与使用。

声明多维数组语法形式如下:

T Name[sizel][size2]…;

其中sizel,size2,…为常量表达式,分别表示各维度的大小。

【例2-17】程序功能是向一个具有3行4列的二维数组a[3][4],输入数值并输出全部数组的元素。阅读程序,了解多维数组元素的输入/输出方法。

源程序:

程序运行结果: