VisualBasic程序设计基础数组

上传人:宝路 文档编号:47924801 上传时间:2018-07-06 格式:PPT 页数:41 大小:264.14KB
返回 下载 相关 举报
VisualBasic程序设计基础数组_第1页
第1页 / 共41页
VisualBasic程序设计基础数组_第2页
第2页 / 共41页
VisualBasic程序设计基础数组_第3页
第3页 / 共41页
VisualBasic程序设计基础数组_第4页
第4页 / 共41页
VisualBasic程序设计基础数组_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《VisualBasic程序设计基础数组》由会员分享,可在线阅读,更多相关《VisualBasic程序设计基础数组(41页珍藏版)》请在金锄头文库上搜索。

1、第10章 数组10.1 10.1 数组的概念数组的概念 10.2 10.2 数组的作用域数组的作用域 10.3 10.3 一一 维维 数数 组组 10.4 10.4 默默 认认 数数 组组 10.5 10.5 数组元素的操作数组元素的操作 10.6 10.6 静态数组与动态数组静态数组与动态数组 10.7 10.7 数组的清除和重定义数组的清除和重定义 10.8 10.8 控控 件件 数数 组组 10.9 10.9 数组的排序与查找数组的排序与查找 10.1 数组的概念数组是一组变量的集合,各个变量有相同的名字,相同的数据类型,彼此间具有特定的关系。 10.2 数组的作用域与变量一样数组按作用

2、域分为:全局数组(应用程序级)、模块级数组和局部数组(过程级)。1全局数组在标准模块的声明部分使用Public声明,可以在应用程序的所有模块中对其元 素进行存取。Public 数组名(n)As 数据类型注意:不能在窗体模块和类模块中声明全局数组。2模块级数组在模块的声明部分使用Private或Dim语句(二者等价)声明,模块级数组只在声明它的模块中可用。Private | Dim Private | Dim 数组名(数组名(n n)As As 数据类型数据类型 3过程级数组在过程中使用Dim或Static语句声明,只能在本过程中使用。Dim|Static 数组名(n)As 数据类型使用Stat

3、ic声明的静态数组,在过程的两次执行之间它的所有元素的值均被保留。10.3 一 维 数 组1引例 2语法结构 一维数组是数组的最简单形式 ,就像简单的变量一样,你必须在使 用数组前声明它。声明一维数组的语 法有以下两种方式。Dim 数组名称(下标下界 To 下标上界)As 数据类型Dim 数组名称(下标上界)As 数据类型 要点提示:(1)“数组名称”的命名规则与普通变量的命名规则一致。(2)在同一过程中,数组名称不能与其他变量名称相同,否则会出错。 图10-1表示数组名与变量名相同,出现编译错误。 (3)在定义数组时,每一维的元素 个数必须由一个常数来确定,不能是变量 或表达式。 (4)下标

4、下界和下标上界一起用来 限定数组起止单元的序号,下界必须小于 上界,它们必须是整数,下标下界默认为 0。语句Option Base n用来指定数组下标 的默认下界,n只能是0或1。 (5)LBound函数返回数组某一“维” 的下界值,而UBound函数返回数组某一“ 维”的上界值,两个函数一起使用即可确 定一个数组的大小。其格式为: LBound(数组,维) UBound(数组,维) (6)数据类型是指组成数组的单元 中所存储的数的类型,它们是相同的,就 是说每一个特定的数组中,只能存储一种 类型的数据。 10.4 默 认 数 组默认数组就是默认数据类型为Variant的数组。在一般情况下,定

5、义数组应指明其类型。 如上节所述,数组在定义时要声明其数据类型,也就是说一个数组各个元素的数据类型都要求相同,即一个数组只能存放同一种类型的数据。然而对于默认数组而言,同一个数组中却可以存放各种不同数据类型的数据。因此,默认数组可以说 是一种“混合数组”。 一般来说,默认数组变量可以通过以 下3种方式定义:(1)显式定义为Variant。例如:Dim Numbers() As Variant(2)在定义时不指明类型。例如:Dim Numbers()(3)不定义而直接使用。 10.5 数组元素的操作10.5.1 数组的引用结论:类似于Number(2)的表示,只有出现在声明语句中时为数组的定义,

6、出现在其他任何地方都是对数组元素的引用。10.5.2 数组的输入 对于数组元素的输入,一般有3 种方法: (1)直接使用赋值语句,即通 过赋值运算符“”来输入。 (2)使用InputBox函数,结合 For循环控制结构来输入。 (3)特别的,对于一维数组, 可使用Array函数来输入。10.5.2.1 一维数组使用Array 函数输入 1引例 2语法结构 Array函数用来把一个数据集合读入 一维数组。其格式为: Dim 数组变量名 As Variant 数组变量名Array(数组元素值)注意: (1)在“数组变量名”之后没有括 号。 (2)数组变量只能定义为Variant 型,且没有上下界。

7、 (3)“数组元素值”是需要赋给数 组各元素的值,各值之间以逗号分开。 (4)只能给一维数组赋值。 10.5.2.2 使用InputBox函数对于二维或二维以上的数组的数组 元素一般通过For循环语句配合 InputBox函数输入。 10.5.3 数组元素的输出数组元素的输出可使用Print方法来实现。10.5.4 For EachNext语句类似于循环控制的ForNext语句 For EachNext语句可以用来执行指 定重复次数的一组操作,但不需要为其 提供初值和终值,而是根据数组元素的 个数确定执行循环体的次数。For EachNext语句专门用于数组或对象“ 集合”的操作。其一般形式为

8、:For Each 成员 In 数组 循环体 Exit For Next成员 这里的“成员”是一个变体类型变量 ,它是为循环提供的,并在For EachNext结构中重复使用,它实际上 代表的是数组中的每个元素。“数组”是 一个数组名,它没有括号及上下界。 10.6 静态数组与动态数组定义数组后,为了使用数组必须为数组开 辟所需要的内存区。然而在实际应用中往往不能 马上确定数组中元素的个数,也就是说在Visual Basic中内存区开辟的时机不同,根据内存开辟 的时机可以把数组分为静态(Static)数组和动态 (Dynamic)数组。通常把需要在编译程序时开辟 内存区的数组叫做静态数组,而把

9、需要在运行时 开辟内存区的数组叫做动态数组。 数组的定义形式决定了其为动态数组还是静态数组,即:(1)用数值常数或符号常量作为下标定维的数组是静态数组。(2)用变量作为下标定维的数组是动态数组。动态数组以变量作为下标值,在程序运行过程中完成定义。创建动态数组的一 般步骤如下:(1)和普通数组的声明一样使用 Dim语句。公用数组用Public语句声明数组;模块级数在模块级(窗体层或标准模 块)用Dim语句声明数组;局部数组在过 程中用Static或Dim语句声明数组。此数组为一个空维数组,即一个没有 下标的数组,但括号不能省略。 (2)用ReDim语句在过程中分配实 际的元素个数。 例如: Di

10、m TestVar() As Integer 在窗体层或标准模块中声明 Dim Size As Integer Sub Form_Click() Size=InputBox(“输入一个值:“,“数据“,“12“) ReDim TestVar(Size) End Sub该例先在窗体层或标准模块中用Dim 语句声明了一个空维数组TestVar和一个 变量,然后在过程中用ReDim语句定义该 数组,下标Size在运行时输入。ReDim语句的格式为:ReDimPreserve 数组变量名(下标变量) As 类型该语句用来重新定义动态数组按定义的上下界重新分配存储单元。当重新分配动态数组时,数组中的内容

11、将被清除,但如果在ReDim语句中使用了Preserve选择项,则不清除数组内容。ReDim只能出现在事件过程或通用过程中,用它定义的数组是一个“临时”数组。即在执行数组所在的过程时为数组开辟一定的内存空间,当过程结束时,这部分内存即被释放。 在使用ReDim 语句进行数组重定义 时应注意: (1)ReDim只能出现在过程中,与 Dim、Static语句不同,ReDim是一个可执 行语句,应用程序在运行该语句时执行一 个操作。 (2)ReDim语句只能改变元素的个 数,不能改变数组的维数。 (3)不能用ReDim改变数组类型。 10.7 数组的清除和重定义1引例 2语法结构静态数组一经定义其大

12、小是不能改变的, 动态数组的大小在执行期间可以重新定义。在程 序运行中,对静态数组有时需要清除数组的内容 ,对动态数组有时需要对数组进行多次重新定义 ,这时可以用Erase语句来实现,其格式为: Erase数组名,数组名说明:(1)Erase语句用于静态数组时,如果数组是数值型数组,则把数组中的所有 元素置为0;如果是字符串数组,则把所有元素置为空字符串;如果是记录数组, 则根据每个元素(包括定长字符串)的类别重新进行设置 。(2)Erase语句用于动态数组时,将 删除整个数组结构并释放该数组所占用的 内存。 (3)Erase语句用于变体数组时,每 个元素将被重置为“空”(Empty)。Era

13、se释放动态数组所使用的内存。 在下次引用该动态数组之前,必须用 ReDim语句重新定义该数组变量的维数。10.8 控 件 数 组 10.8.1 基本概念 控件数组由一组相同类型的控件组成 ,比如一组按钮或一组单选钮。这些控件 共用一个相同的控件名字,具有同样的属 性设置。与其类型的数组一样,数组中的 每个控件都有惟一的索引号 (IndexNumber),即下标,其所有元素( 控件)的Name属性必须相同。对于若干个控件执行大致相同操作的 情况时,控件数组是很有用的,控件数组 共享同样的事件过程。 控件数组的每个元素都有一个与之关 联的下标,或称索引(Index),与其他类型 的数组不同,控件

14、数组的下标值由Index属 性指定。由于一个控件数组中的各个元素 共享Name属性,所以Index属性与控件数 组中的某个元素相对应。 10.8.2 建立控件数组控件数组是针对控件建立的,因此与普通数组的定义不一样。可以通过以下两种方法来建立控件数组。第一种方法操作步骤如下:(1)在窗体上画出作为数组元素的各个控件。(2)单击要包含到数组中的某个控件,将其激活。(3)在属性窗口中选择“(名称)”属性,并键入控件的名称。(4)对每个要加到数组中的控件重 复步骤(2)、步骤(3),键入与步骤( 3)中相同的名称。当对第二个控件键入与第一个控件相 同的名称后,Visual Basic将显示一个对话框

15、,询问是否确实要建立控件数组。单击 “是”将建立控件数组,单击“否”将放弃建立操作。第二种方法操作步骤如下: (1)在窗体上画出一个控件,将 其激活。 (2)执行“编辑”菜单中的“复制” 命令(热键为Ctrl+C),将该控件放入 剪贴板。 (3)执行“编辑”菜单中的“粘贴” 命令(热键为Ctrl+V),将显示一个对 话框,询问是否建立控件数组。(4)选择“是”按钮,窗体的左上角将出现一个控件,它就是控件数组的第2个元素。(5)执行“编辑”菜单中的“粘贴”命令,或按热键Ctrl+V,建立控件数组的其他元素。 10.9 数组的排序与查找 10.9.1 冒泡排序法(Bubble Sort)10.9.2 二分查找

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号