如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
VisualBasic6.0程序设计第8章数组数组的基本概念例:矩阵数组的一般形式:S(n)数组名:一组数用一个统一的名称表示,称数组名,如S。数组元素(下标变量):数组中的每一个元素。表示成:数组名(下标)下标的取值可以是常数、变量、表达式如:A(8)B(i)C(3+K)下标还可以是下标变量如:A(A(5))令A(5)=4,A(A(5))=A(4)数组的维数:下标个数一维数组:由一个下标组成。如A(2),C(6)二维数组:由两个下标组成。如B(2,3)三维数组:由三个下标组成。如G(3,4,23)三维以上的数组称为多维数组,最多60维控件中属性有的是数组数组的定义静态数组的定义静态数组的第一种定义格式对于数组的每一维省略下界,只给出上界。如无下界,则使用默认下界。定义默认下界:OptionBase{0|1}不加任何定义时,默认下界为0例如:dima(10)as…dimb(3,3)as…静态数组的第二种定义格式Dim数组名([下界1To]上界1,[下界2]To上界2,…)可根据需要指定数组的下界。不受OptionBase语句限制。下界1To上界1,下界2To上界2,…和数组有关的两个函数。LBound(数组[,维])函数UBound(数组[,维])函数这两个函数分别返回一个数组中指定维的下界和上界。例如:OptionBase1Dima(10,5)M=LBound(a,1):N=UBound(a,2):PrintM;NDimb(-1To10)Fori=LBound(b)ToUBound(b)b(i)=b(i)+1NextPrinti;b(i-1)<数据类型>:INTEGERLongSingleDoubleBooleanStringString*nDateVariantObject用户定义类型……数组在定义后自动被初始化,例如:将数值型数组元素值置为0将字符串类型数组元素值置为零长度字符串分配固定的存储空间,在运行期大小不能改变数组元素个数:(上界1-下界1+1)*(上界2-下界2+1)*…例:DimC(9)AsINTEGER一维整型数组;下界0,上界为9元素:C(0)C(1)C(2)……C(9)例:DimA(-4TO10)AsINTEGER一维整型数值数组;下界-4,上界10元素A(-4)A(-3)...A(0)A(1)...A(10)例:DimB(0to8,0to3)AsString→DiMB(8,3)AsString二维字符串类型数组第一维:下界0,上界8;第二维:下界0,上界3元素B(0,0)B(0,1)B(0,2)B(0,3)B(1,0)B(1,1)B(1,2)B(1,3)...B(8,0)B(8,1)B(8,2)B(8,3)例:DimC(-99TO-5,-3TO0)AsBoolean第一维下界-99,上界–5;第二维下界–3,上界0元素:C(-99,-3)C(-99,-2)C(-99,-1)C(-99,0)C(-98,-3)C(-98,-2)C(-98,-1)C(-98,0)...C(-5,-3)C(-5,-2)C(-5,-1)C(-5,0)例:DiMS1(50)ASLONGDiMM(-3TO10)DiMABC(20)ASSTRiNGDiMST2(7,0TO14)ASSTRiNG*20例:CONSTY1=10CONSTY2=50DiMABC(Y1TOY2)ASINTEGER特殊数组—默认数组1.定义分以下两步进行:(1)在模块级或过程级定义一个没有下标的数组Public|Private|Dim<数组名>()[As<类型>],…(2)在过程级使用ReDim语句定义数组的实际大小ReDim[Preserve]<数组名>(<维数定义>)[As<类型>],…2.说明<维数定义>:常包含明确值的变量或表达式可以用ReDim反复改变数组元素及维数的数目ReDim不能改变数组类型执行ReDim语句时:无Preserve时,重新对数组元素进行初始化Preserve:可选的关键字。有时,希望改变数组的大小又不丢失数组中原有的数据,使用带Preserve关键字的ReDim语句就可以做到这一点。用Preserve关键字时只能改变多维数组中最后一维的上界,如果改变了其他维或最后一维的下界,那么运行时就会出错。例:DimA()AsINTEGERPrivateSubCommand1_Click()N=4ReDimA(N)Fori=0ToNA(i)=1:PrintA(i);NextiPrintN=8ReDimA(N,N)Fori=0ToNForJ=0ToNA(i,J)=2: