详细介绍VB编程中的数组

前面几篇给大家分享了JAVA中的数组的一些知识,本文为大家介绍VB中的数组,希望对你有帮助,一起来看
首页 新闻资讯 行业资讯 详细介绍VB编程中的数组

数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。

在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。下面主要介绍VB中的数组。

1、数组的概念

(1) 引例

若我们要求一个班60个学生的平均成绩,然后统计高于平均分的人数。按以前简单变量的使用和循环结构相结合,求平均成绩程序段如下:

复制

Dim ave As Single, sum As Single, mark As Single Dim i As Integer ave = 0  sum = 0   For i = 1 To 6  mark = InputBox("输入第" & i & "个学生的成绩")  sum = sum + mark  Next ave = sum / 6  Print "平均分是:"; ave
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

但若要统计高于平均分的人数,则无法实现。mark是一个简单变量,存放的是最后一个学生的成绩。已有知识解决方法:再重复输入成绩,带来两个问题:

(1)输入数据的工作量成倍增加;

(2)若本次输入的成绩与上次不同,则统计的结果不正确。

解决此问题的根本方法,引入数组,始终保持输入的数据,一次输入,多次使用。

(2)数组的概念

数组就是把有限个类型相同的变量用同一个名字命名,然后用编号区分它们的变量的集合。这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。

在引例中,可以定义一个数组mark(1 to 60),记录60个学生的成绩,如果第一个学生的成绩是90分,则mark(1)=90;如果第2个学生的成绩为80分,则mark(2)=80,第60个学生的成绩为96分,则mark(60)=96,依此类推。

2、数组的定义。

声明数组的一般格式如下:

Dim 数组名([下界 to ] 上界 [,[下界 to ] 上界…])As 数据类型

对于VB的数组,表示数组元素时应注意:

① 下标要紧跟在数组名后,而且用圆括号括起来(不能用其他括号);

② 数组名的命名与变量名的命名规则相同;

③ 下标可以是常量、变量或表达式,但其值必须是整数(如果是小数将四舍五入为整数);

④ 数组中可以存储数据的个数是由下标的下界和上界决定的,当下界省略时,默认的下界值为0。

复制

Dim x(10 to 20) As Integer ‘下标范围是10~20,可保存11个数据  Dim y(1 to 20) As Integer ‘下标范围是1~20,可保存20个数据  Dim z(20) As String ‘下标范围是0~20,可保存21个数据
  • 1.

  • 2.

  • 3.

⑤ 通过指定数组名和下标来使用数组中的元素,下标可以是一个表达式。例如:

复制

x(10)=100  x(11)=150  z(1)=“Visual Basic”  i=10  y(i+5)=30
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

⑥ 在同一数组中,数组变量的类型必须是声明时指定的数据类型。下面的情形是不允许的:x(10)= “Visual Basic”
但是,因为把一个数值赋给一个字符串类型的变量时,系统会自动进行类型转换,所以下面的语名是允许的:z(2)=100

⑦ 如果数组只有一个下标则称为一维数组,但有许多场合一个下标是不够的。例口,在电影院确定位置,要有行数和位数(如第3行8号),如果要用一个数组来记录这种位置就得有两个下标。 如:

复制

Dim x(1 to 20,1 to 30) As Integer
  • 1.

有几个下标的数组就称为几维数组(VB最多允许60维)。

⑧ 数组应该在使用前定义。定义数组用“Dim”语句。例如:

复制

Dim Cscore(1 to 40) As Single, K(20,30) As Long
  • 1.

这个Dim浯句定义了两个数组。数组Cscore足Single类型的一维数组,有40个分量,下标的下界是1,上界是40。而数组K(20,30)是Long型的二维数组,下标省略了下界(对省略下界的情况VB自动用0做下界),它的第一维的下标范围是0—20,第二维的下标范围是0—30,数组K有2l x 31=651个分量。
 
⑨ 对于预先不能确定数组元素个数情形,可以使用动态数组。声明一个动态数组的方法是:在声明数组时不指定下标范围,当明确下标范围时,用ReDim语句再次声明该数组。例如:

复制

Dim x() As Integer ‘声明数组时不指定下标范围
  • 1.

当数组x的元素明确后(例如20个),则用ReDim语句声明如下:

复制

ReDim x(20)
  • 1.

如果动态数组的元素个数需要多次改变,可以多次应用ReDim语句。为了保留数组中原有的数据,必须在使用ReDim语句时使用Preserve关键字。例如要把数组x的元素个数改为30,并保留原来的20个元素中的数据,声明语句如下:

复制

ReDim Preserve x(30)
  • 1.

由于第一次用Dim语句声明数组时已经指定了数组的类型,因此不能在ReDim语句中再次用As关键字来指定数组的类型。

3、数组元素的输入和输出。

数组元素往往有很多,因此输入和输出有时需要用一些比较特殊的方法。

数组元素的输入,可以使用赋值语句、文本框、InputBox函数等等。

数组元素输出时,一般可以考虑两种方法:

①用PRINT方法直接输出到窗体,但当数据量大时难以实现数据的滚动;

②使用控件,如标签、文本框等,并且设置滚动条。

4、数组的应用

判断程序运行结果

复制

Private Sub Command1_Click()  Dim i As Integer Dim a(1 To 10) As Integer For i = 1 To 10  a(i) = 2 * i + 1  Next i  For i = 1 To 5  Print a(2 * i - 1);  Next i  End Sub
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

希望通过本文的介绍,可以对初学者有帮助。

【编辑推荐】

  1. VB.NET和ASP.NET编码规范

  2. 详解VB.NET变量声明的方法

  3. 盘点VB.NET对话框制作技巧

  4. VB.NET实现图象文件和XML文件互换

  5. VB程序员如何编写高质量的VB代码

21    2011-06-08 16:05:34    VB 数组