预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共23页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第7章数组与自定义数据类型数组2.数组的几个概念 (1)数组名(ArrayName):代表整个数组,命名规则与变量相同 (2)元素(Element):数组中的一个值。一个数组元素相当于一个变量。数组是元素的有序集合。 (3)下标(Index):数组中各个元素的序号,该序号是连续的整数。通过数组名与下标可以访问指定的数组元素。 (4)维数(Dimension):指定数组中的一个元素所需的下标个数,可以是一维、二维、三维等。 (5)下标的上界(UpperBoundary)和下界(LowerBoundary):数组某一维下标的最小值称为下标下界,最大值称为下标上界。由下标的上下界可以确定数组中元素的个数。数组必须先声明才能使用。声明时要指定数组的数组名、数据类型、作用域。 如果数组在声明时指定了下标的上下界,称为固定大小的数组(又称为常规数组),常规数组在程序运行时元素的个数不变; 如果声明时不指定下标上下界的数组称为动态数组,动态数组在程序运行时可以通过重定义来改变下标上下界,从而改变元素的个数和维数。Public|Private|Dim|Static数组名(维数与下标界限)[As数据类型名] 常规数组,即固定大小的数组。由括号中的数值决定数组的维数和下标的上下界。 1.指定下标界限 可以使用下列两种方式指定一维数组的下标界限: (1)使用关键字To指定下标的下界和上界,形式如下: Dima(mTon)As... m为下标下界,n为下标上界。m和n必须为整型常量,可以是负值,并要求m≤n。 (2)只指定下标上界,由OptionBase语句指定下标下界: Dima(n)As... 在模块“代码”窗口顶部的声明段中使用以下语句定义下标下界是0或1: OptionBase0|1 使用“0”时,上界n必须是非负整数常量,使用“1”时,上界n必须是正整数常量。如果没使用OptionBase语句,默认为0。 2.元素个数 一维数组元素个数的计算公式是: 元素个数=下标上界-下标下界+1 常规数组至少应该有一个元素,这时下标的上界与下界相等。3.访问数组元素 常规数组被定义之后,便具有了内存空间,可以通过以下方式访问数组指定下标的元素: 数组名(下标) 访问数组元素时的“下标”可以是整型(或长整型)常量、变量或表达式。下标值不能小于数组下标的下界,不能大于下标的上界,否则会引发“下标越界”的运行时错误。 数组元素可以像普通变量一样被赋值、参与表达式计算、作为实参调用通用过程,也可以使用循环语句对多个元素进行“批量”操作。 例子: Dima(0To5)AsInteger'定义数组a '方法1:为单个元素 a(0)=1:a(1)=3:a(2)=5:a(3)=7:a(4)=9:a(5)=11赋值 ‘方法2:通过循环结构为各个元素赋值 Fori=0To5 a(i)=2*i+1 Next二维数组多维数组包括三个部分: (1)数组元素所占内存数量,即: 元素个数×每个元素所占内存(由数据类型决定) (2)每一维额外占用4个字节; (3)整个数组占用占有20个额外字节。【例7.1】十进制数转换为二进制数。 OptionBase0 PrivateSubCommand1_Click() DimiAsInteger:DimdAsInteger Dimb(15)AsByte:DimsAsString d=Text1.Text'得到十进制数 DoUntild=0 b(i)=dMod2'除2取余 d=d\2 i=i+1 Loop DoWhilei>0 i=i-1 s=s&b(i)'反序排列 Loop Text2.Text=s'显示二进制数 EndSub【例7.2】找出数组元素中的最大值、最小值并计算所有元素的平均值。 OptionBase1 PrivateSubCommand1_Click() ConstNAsInteger=10'定义常量 Dima(N)AsInteger'定义数组 DimiAsInteger DimsumAsInteger'此变量保存总和 DimmaxAsInteger'此变量保存最大值 DimminAsInteger'此变量保存最小值 Fori=1ToN a(i)=Rnd*100'为数组元素赋随机值 Printa(i) Next max=a(1)'注意!给变量赋初值 min=a(1)'注意!给变量赋初值 sum=a(1)'注意!给变量赋初值 Fori=2ToN Ifmax<a(i)Thenmax=a(i) Ifmin>a(i)Thenmin=a(i) sum=sum+a(i) Next Text1.Text=max'显示最大值 Text2.Text=min'显示最小值 Text3.Text=sum/N'显示平均值 EndSu