理论教育 VisualBasic计算机程序设计语言:数组定义

VisualBasic计算机程序设计语言:数组定义

时间:2023-11-19 理论教育 版权反馈
【摘要】:数组元素指数组中的每一个元素。,99,100)为数组元素,它表示第k个学生的成绩,k称为下标变量的下标。数组元素的下标必须在其下界和上界之间,否则将会出错。

VisualBasic计算机程序设计语言:数组定义

数组是一组按一定顺序排列的数据的集合。在VB中,把一组具有相同名字,不同下标的变量称为数组,其一般格式如下:S(N)。

说明:S为数组名,N为下标(一般情况下,下标从零开始)。数组元素指数组中的每一个元素。表示成:数组名(下标)如:A(3),TEMP(5,1)。下标的取值:可以是常数、变量、表达式,如:A(8),B(i),C(3+K)。

如t(k)(k=1,2,3,…,99,100)为数组元素(或称下标变量),它表示第k个学生的成绩,k称为下标变量的下标。当下标值带有小数部分时,系统会自动对它四舍五入取整,如x(7.7)将作为x(8)处理。

所有班级(如6个班,每班40人)同学的英语成绩:

表示1:G(1) G(2) G(3)…G(240)

表示2:G(1,1) G(1,2)…G(1,40)

G(2,1) G(2,2)…G(2,40)

G(6,1) G(6,2)…G(6,40)

下标还可以是下标变量,如:

A(A(5))令A(5)=4则A(A(5))=A(4)

每个数组元素用来保存一个数据,其使用与简单变量类似。

例如:G(8)=87

注意:

(1)要用圆括号把下标括起来。例如,将X(8)表示成:X[8]、X{8}或X8都是错误的。

(2)下标必须是整数,否则将被自动四舍五入为整数。

(3)下标的最小取值称为下界,下标的最大取值称为上界。数组元素的下标必须在其下界和上界之间,否则将会出错。

一、数组的声明(定义)

使用数组之前,必须先声明数组。定义数组的目的是为数组分配存储空间,数组名即为这个存储空间的名称,而数组元素即为存储空间的每一个单元。每个单元的大小与数组的类型有关。语法格式为:

Public|Private|Dim 数组名([下界To]上界)[As数据类型]

功能:指定数组的名称、长度和数据类型。

说明:(1)public修饰的数组为全局数组,且只能在Module模块中声明。

(2)在窗体通用声明中用Dim或Private修饰的数组为模块级数组,其值在该窗体中的所有过程中有效。

(3)在过程内用Dim修饰的数组为局部数组,其值在该过程内有效。

数组长度:上界—下界+1,下界可省略,当省略时下界为0,通过在窗体的通用声明中添加Option Base 1可改变数组默认下界为1。

例如:

Dim Sum(-1 To 8)As Long ′下标号从-1~8共10个元素

Dim Arry(1 To 20)As Integer ′下标号从1~20共20个元素

Dim s(3)As Integer

在VB中可以用四个语句来定义数组,这四个语句格式相同,但适用范围不同:

(1)Dim用来在窗体模块中或标准模块中,定义窗体或标准模块数组,也可用于过程。

(2)ReDim用在过程中(主要用于定义动态数组)。

(3)Static用在过程中(主要用于定义静态数组)。

(4)Public用在标准模块中,定义全局数组。

二、定义数组的格式

在定义数组时,VB提供了两种格式。

1.第一种格式

第一种格式与传统的数组定义相同,对于数组的每一维,只要给出下标的上界,即可以使用下标的最大值。

对于一维数组格式如下:

Dim数组名(下标上界)As类型名称(www.daowen.com)

对于二维数组格式如下:

Dim数组名(第一维下标上界,第二维下标上界)As类型名称

说明:

(1)如果省略“As类型名称”则定义的数组为Variant类型。

(2)数组必须先定义后使用。

(3)当用Dim语句定义数组时,数组在定义后自动被初始化,该语句把数值数组中的全部元素都初始化为“0”,而把字符串数组的全部元素都初始化为“空字符串”。

(4)一般情况下,下标的下界默认为0,如果希望从1开始,可以通过Option Base语句来设置,其格式为:

Option Base N

Option Base语句用来指定数组下标的下界。N只能是0或1,Option Base语句只能出现在窗体层或模块层,不能出现在过程中,并且必须放在数组定义之前。此外,如果定义的是多维数组,则下标的默认下界对每一维都有效。

2.第二种格式

用第一种格式定义的数组,其下标的下界只能是0或1,而如果使用第二种格式,则可根据需要指定数组的上界和下界。其格式如下:

Dim数组名([下界]To[上界],[下界]To[上界]...)As类型名称

下标的范围可以是-32767~-32768。

三、定义数组时应注意的事项

1.数组名的命名规则与变量名相同,在命名时应尽可能有一定的含义,做到“见名知义”(名称的唯一性)。

2.在同一过程中,数组名不能与变量名相同,否则会出错。

3.在定义数组时,每一维的元素个数必须是常数,不能是变量或表达式。

4.数组类型通常在As语句中给出,如果省略了As语句,则定义的是默认数组。此外也可以通过类型说明符来指定数组的类型(A%(5))。

5.测试数组上界值和下界值的两个函数:

LBound(数组名[,维])(测下界)

UBound(数组名[,维])(测上界)

这两个函数分别返回一个数组中指定维的下界与上界,其中“数组”是一个数组名,“维”是要测试的维,LBound函数返回“数组”某一“维”的下界值,而UBound函数返回“数 组”某一维的上界值。如:

Dim s(-1 to 3,-2 to 4)as Integer:LBound(s,2)=-2:UBound(s,2)=4

例如,要打印一维数组A的各个值,可以通过下面的代码实现:

又如,要打印二维数组B的各个值,可以通过下面的代码实现:

四、默认数组

在VB中允许定义默认数组,所谓的默认数组,就是数据类型为Variant的数组。默认数组可以说是一个混合数组。例如:

Private Sub Form_Click()

Dim a(3)

a(0)="张三"

a(1)=20

a(2)="12345678"

a(3)=97.5

Print a(0);a(1);a(2);a(3)

End Sub

图9-2 默认数组实例

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈