本章的学习要点 今掌握数组的概念 区分静态数组和动态数组 掌握数组的基本操作(数组元素的输入、输出、排序) 掌握控件数组的建立与应用 今了解二维数组的使用
第9章 数组 本章的学习要点 ❖掌握数组的概念 ❖区分静态数组和动态数组 ❖掌握数组的基本操作(数组元素的输入、输出、排序) ❖掌握控件数组的建立与应用 ❖了解二维数组的使用
91数组的概念 变量在一个时刻只能存放一个值,当数据不多时 使用简单变量可解决问题,但数据庞大时用简单变量 效率太低 例如: 1)输入100个数,按从大到小或者从小到大的顺序输出 2)某学校有近万名学生,做一个学生信息表
变量在一个时刻只能存放一个值,当数据不多时, 使用简单变量可解决问题,但数据庞大时用简单变量 效率太低。 例如: 1)输入100个数,按从大到小或者从小到大的顺序输出。 2)某学校有近万名学生,做一个学生信息表。 9.1 数组的概念
91数组的概念 数组的概述 数组是具有相同数据类型的数据元素的集合。它由同一个名 字不同下标的同类型变量组成。 数组中的变量称为数组元素,数组中的每个元素都有一个唯 一的下标(索引)来标识自己 数组元素的个数称为数组的长度(大小) 数组的特点: 1)数组的命名规则遵循标识符命名规则; 2)数组中的元素是有序排列的; Score(1 3)数组的元素个数是有限的; 4)数组的数据类型就是该数 Score量 Score(2) 5)数组元素的存储不是松散状态,而 Score(100)F 数组的内存表示
9.1 数组的概念 1.数组的概述 数组是具有相同数据类型的数据元素的集合。它由同一个名 字不同下标的同类型变量组成。 数组中的变量称为数组元素,数组中的每个元素都有一个唯 一的下标(索引)来标识自己。 数组元素的个数称为数组的长度(大小) 数组的特点: 1)数组的命名规则遵循标识符命名规则; 2)数组中的元素是有序排列的; 3)数组的元素个数是有限的; 4)数组的数据类型就是该数组的下标变量的数据类型; 5)数组元素的存储不是松散状态,而是占据一片连续区域。 Score(1) Score(2) …… Score(100) Score 数组的内存表示
91数组的概念 使用数组和简单变量主要存在如下区别: (1)输入的简单变量越多,程序就越长,程序本身占用 的内存空间就越大。 (2)在一个程序中使用的简单变量个数有限,对大批量 数据,简单变量就不能表示了。 (3)简单变量的存储位置呈松散状态,数组却占据着 片连续的存储区域。 (4)在程序结构上,简单变量不适合使用循环的办法来 解决,增加了代码的复杂度
使用数组和简单变量主要存在如下区别: (1)输入的简单变量越多,程序就越长,程序本身占用 的内存空间就越大。 (2)在一个程序中使用的简单变量个数有限,对大批量 数据,简单变量就不能表示了。 (3)简单变量的存储位置呈松散状态,数组却占据着一 片连续的存储区域。 (4)在程序结构上,简单变量不适合使用循环的办法来 解决,增加了代码的复杂度。 9.1 数组的概念
91数组的概念 数组的定义 1)数组的声明 个数组包括数组名称、数组维数、数组大小、数组类型以 及作用范围。 在使用数组时要将以上内容告诉计算机,以便开辟足够的内 存单元来存储数据,这个过程叫做声明数组。 声明数组的语法格式: { Public| Private|Dim}数组名[(维数定义)][As数据类型] 说明 (1)数组必须“先声明,后使用”; (2)一条声明语句可以同时声明多个不同维数的数组,但数 组间不能同名
2.数组的定义 1)数组的声明 一个数组包括数组名称、数组维数、数组大小、数组类型以 及作用范围。 在使用数组时要将以上内容告诉计算机,以便开辟足够的内 存单元来存储数据,这个过程叫做声明数组。 声明数组的语法格式: {Public | Private | Dim} 数组名[(维数定义)][As 数据类型] .. 说明: (1)数组必须“先声明,后使用”; (2)一条声明语句可以同时声明多个不同维数的数组,但数 组间不能同名。 9.1 数组的概念
91数组的概念 2)数组的上、下界 数组有上界和下界,数组的元素在上下界内连续递增。 语法格式 [下界1To]上界1[,[下界2To]上界2] 其中: 下界和上界分别表示该维的最小和最大下标值,通过关 键字To连接起来确定下标的取值范围。默认下界为0,下界 可以省略,若省略下界说明下标的取值范围是从0到上界。 例如:声明数组Sums Dim sums(9) As Double’该数组包含10个元素,a(0)~a(9)
2)数组的上、下界 数组有上界和下界,数组的元素在上下界内连续递增。 语法格式: [下界1 To] 上界1 [,[下界2 To]上界2]... 其中: 下界和上界分别表示该维的最小和最大下标值,通过关 键字To连接起来确定下标的取值范围。默认下界为0,下界 可以省略,若省略下界说明下标的取值范围是从0到上界。 例如:声明数组Sums Dim Sums(9)As Double ’该数组包含10个元素,a(0)~a(9) 9.1 数组的概念
91数组的概念 3)数组的维数 ◇下标变量中下标的个数决定数组的维数,各维下标之 间用逗号“,”隔开。 一个下标的下标变量构成一维数组,一维数组表示线 性顺序; 两个下标的下标变量构成二维数组,二维数组用于表 示平面; 今三个下标的下标变量构成三维数组,三维数组可以表 示立体空间。 有多少个下标的下标变量就构成多少维的数组,通常 又把二维以上的数组称为多维数组
3) 数组的维数 ❖ 下标变量中下标的个数决定数组的维数,各维下标之 间用逗号“,”隔开。 ❖ 一个下标的下标变量构成一维数组,一维数组表示线 性顺序; ❖ 两个下标的下标变量构成二维数组,二维数组用于表 示平面; ❖ 三个下标的下标变量构成三维数组,三维数组可以表 示立体空间。 有多少个下标的下标变量就构成多少维的数组,通常 又把二维以上的数组称为多维数组。 9.1 数组的概念
91数组的概念 例如: 0 range(1to5)表示一维数组共有5个元素。 Apple (1 to 3, 2 to 5) 表示二维数组,大小为3×4,元素总数为二个维数的乘积12, 该数组在数学上可表示为3行4列的矩阵。 Pear(1 to 2, 1 to 3, 2 to 4) 表示三维数组,大小为2×3×3,元素总数为三个维数的乘 积18,该数组在数学上可以用立体图形来表示。 注意: 在增加数组的维数时,数组所占的存储空间会大幅度增加, 由于对每一个下标变量都分配空间,所以声明数组的大小要合 适
例如: Orange(1 to 5)表示一维数组共有5个元素。 Apple(1 to 3, 2 to 5) 表示二维数组,大小为3×4,元素总数为二个维数的乘积12, 该数组在数学上可表示为3行4列的矩阵。 Pear(1 to 2,1 to 3,2 to 4) 表示三维数组,大小为2×3×3,元素总数为三个维数的乘 积18,该数组在数学上可以用立体图形来表示。 注意: 在增加数组的维数时,数组所占的存储空间会大幅度增加, 由于对每一个下标变量都分配空间,所以声明数组的大小要合 适。 9.1 数组的概念
91数组的概念 4)数组的类型 “As数据类型”表明数组元素的类型。可以声明任 何基本数据类型的数组:Byte、 Boolean、Long、 Currency、 Single、 Double、Date、 String(变长字符 串)、 String*1 ength(定长字符串)、0 bject(对象 型)、 Variant(变体型)、用户定义类型
4) 数组的类型 “As 数据类型”表明数组元素的类型。可以声明任 何基本数据类型的数组:Byte、Boolean、Long、 Currency、Single、Double、Date、String(变长字符 串)、String*length(定长字符串)、Object(对象 型)、Variant(变体型)、用户定义类型。 9.1 数组的概念
91数组的概念 5)下标变量的使用说明 今下标变量由数组名后跟小括号“Q”括起来的下标组成。且下标 必须放在小括号内。 例如:a(3)不能写成a3,否则被当作简单变量处理。 下标可以是常量、数值变量、算术表达式。 例如:a(6),b(2*m+1),c(i)。 若下标中若含有变量,使用前该变量应提前赋值。 例如:当i=1时:a(i)表示a(1),a(i+2)表示a(3); 当i=b(1)=1时:a(b(1)表示a(1)。 今下标变量的类型就是数组的类型,所有下标变量都具有一样的类 型 令下标变量像简单变量一样,一个下标变量代表相应数组的一个组 成元素
5) 下标变量的使用说明 ❖ 下标变量由数组名后跟小括号“()”括起来的下标组成。且下标 必须放在小括号内。 例如: a(3)不能写成 a3,否则被当作简单变量处理。 ❖ 下标可以是常量、数值变量、算术表达式。 例如: a(6),b(2*m+1),c(i)。 若下标中若含有变量,使用前该变量应提前赋值。 例如:当i=1时:a(i)表示a(1),a(i+2)表示a(3); 当i=b(1)=1时:a(b(1))表示a(1)。 ❖ 下标变量的类型就是数组的类型,所有下标变量都具有一样的类 型。 ❖ 下标变量像简单变量一样,一个下标变量代表相应数组的一个组 成元素。 9.1 数组的概念