vb程序设计实例100的示例性实施例 。图1是根据本发明的一个实施例的计算机系统的框图 。图2是根据本发明的一个实施例的计算机系统的框图 。
一:vb程序设计实例100分类:电脑IT
四、数组中常见错误和注意事项
1.静态数组声明下标出现变量
n = InputBox("输入数组的上界")
Dim a(1 To n) As Integer
2.数组下标越界
引用的下标比数组声明时的下标范围大或小 。
Dim a(1 To 30) As Long, I as integer
a(1) = 1: a(2) = 1
For i = 3 To 30
a(i) = a(i - 2) + a(i - 1)
Next I
3.数组维数错
数组声明时的维数与引用数组元素时的维数不一致 。
Dim a(3, 5) As Long
a(I)=10
4.Aarry函数使用问题
只能对Variant 的变量或动态数组赋值 。
5.获得数组的上界、下界
UBound 、Lbound函数
1.Dim数组声明
有时用户为了程序的通用性,声明数组的上界用变量来表示,如下程序段:
n=InputBox("输入数组的上界")
Dim a(1 To n)As Integer
程序运行时将在Dim语句处显示"要求常数表达式"的出错信息 。即Dim语句中声明的数组上、下界必须是常数,不能是变量 。
解决程序通用的问题,一是将数组声明的很大,这样浪费一些存储空间;二是利用动态数组,将上例改变如下:
Dim a()As Integer
n=InputBox ("输入数组的上界")
ReDim a(1 To n) As Integer
2.数组下标越界
引用了不存在的数组元素,即下标比数组声明时的下标范围大或小 。例如,要形成有如下30项的斐波那契数列:
1,1,2,3,5,8,13,21,34,…,317811,514229,832040
正确的程序段如下:
Dim a(1 To 30) As Long, i%
若将For i=3 To 30改为For i=1 To 30,程序运行时会显示"下标越界"的出错信息,因为开始循环时i=l,执行到循环体语句a(i)=a(i-2)+a(i-1),数组下标i-2、i-1均小于下界1 。
同样若将上例:a(i)=a(i-2)+a(i-1)语句改为:a(i+2)=a(i)+a(i+1) 。
程序运行时也会显示"下标越界"的出错信息,这时是数组下标大于上界30 。
3.数组维数错
数组声明时的维数与引用数组元素时的维数不一致 。例如,下程序段为形成和显示3×5的矩阵:
Dim a(3,5) As Long
For i=1 To 3
For j=1 To 5
a(i)=i*j
Print a(i);"";
Next j
Print
Next i
程序运行到a(i)=i*j语句时出现"维数错误"的信息,因为在Dim声明时是二维数组,引用时的一个下标 。
4.Array函数使用问题
Array函数可方便地对数组整体赋值,但此时只能声明Variant的变量或仅由括号括起的动态数组 。赋值后的数组大小由赋值的个数决定 。
例如,要将1,2,3,4,5,6,7这些值赋值给数组a,表2.5.1列出了三种错误及相应正确的赋值 ***。
表2.5.1Array函数表示 ***
错误的Array函数赋值
改正的Aarry函数赋值
Dim a(1 To 8)
a=Array(1,2,3,4,5,6,7,8)
Dim a( ) a=Array(1,2,3,4,5,6,7)
Dim a As Integer a=Array(1,2,3,4,5,6,7)
Dim a a=Array(1,2,3,4,5,6,7)
Dim a
a()=Array(1,2,3,4,5,6,7)
Dim a a=Array(1,2,3,4,5,6,7)
5.如何获得数组的上界、下界
Array函数可方便地对数组整体赋值,但在程序中如何获得数组的-上界、下界,以保证访问的数组元素在合法的范围内,可使用UBound和LBound函数来决定数组访问 。
在上例中,若要打印a数组的各个值,可通过下面程序段实现:
For i=Lbound(A) To Ubound(A)
Print a(i)
Next i
6.给数组赋值
VB6.0提供了可对数组整体赋值的新功能,方便了数组对数组的赋值操作 。但真正使用不那么方便,有不少限制 。数组赋值形式如下:
推荐阅读
- 人生得意须尽欢莫使金樽空对月什么意思?人生得意须尽欢莫使金樽空对月下联
- 新疆高考招生网,新疆高考招生网上报名2023
- 少女妈妈贵州 海南少女妈妈村在哪里
- 杨梅放冰箱可以放多久
- 异地办理房产委托公证需要什么材料 购房委托公证需要什么材料
- 薄冰英语语法手册 薄冰英语语法怎么样
- 生命的本质是什么?生命的本质是
- 造价员取消了章还能用吗 造价员取消了吗
- 金陵科技学院怎么样?