数组的明与使用

上传人:m**** 文档编号:579058127 上传时间:2024-08-25 格式:PPT 页数:28 大小:174.52KB
返回 下载 相关 举报
数组的明与使用_第1页
第1页 / 共28页
数组的明与使用_第2页
第2页 / 共28页
数组的明与使用_第3页
第3页 / 共28页
数组的明与使用_第4页
第4页 / 共28页
数组的明与使用_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《数组的明与使用》由会员分享,可在线阅读,更多相关《数组的明与使用(28页珍藏版)》请在金锄头文库上搜索。

1、第六章第六章 数数 组组6.1 数组的声明与使用6.2 数组应用6.3 控件数组本章要求返回目录返回目录第六章第六章 数组数组(Array)第六章第六章 数数 组组本章要求:本章要求:u 掌握数组的概念;掌握数组的概念;u 理解排序的三种常用方法理解排序的三种常用方法; ;u 掌握掌握控件数组的应用方法控件数组的应用方法; ;返回章首下一页第六章第六章 数组数组第六章第六章 数数 组组6.1 6.1 数组的声明与使用数组的声明与使用6.1.1 6.1.1 静态数组的声明静态数组的声明静态数组是指在声明时已经确定了该数组中具有多静态数组是指在声明时已经确定了该数组中具有多少个元素少个元素. .

2、格式格式 :Dim|Private|Public|Static Dim|Private|Public|Static 数组变量名数组变量名( (下标下标) ) As As 类型类型 说明说明:(1 1). 的命名规则同简单变量一样。的命名规则同简单变量一样。 (2 2). 决定了数组的维数和元素的个数。决定了数组的维数和元素的个数。数组分为数组分为静态数组静态数组和和动态数组动态数组。上一页返回章首下一页第六章第六章 数数 组组例如例如: :Dim cj(1 to 80) As Single Dim cj(1 to 80) As Single 定义了单精度类型一维数组定义了单精度类型一维数组,

3、,上界为上界为80,80,下界下界为为1, 1, 共有共有8080个元素个元素. .Public Public studentnamestudentname (100) As String (100) As String 定义了字符类型一维数组定义了字符类型一维数组, ,上界为上界为100,100,下界为下界为0, 0, 共有共有101101个元素个元素. .Dim mark(1 to 10, 10)Dim mark(1 to 10, 10) 定义了可变类型二维数组定义了可变类型二维数组, , 一维下界为一维下界为1,1,上界上界为为1010;二维下界为;二维下界为0,0,上界为上界为10.1

4、0.共有共有10*11=11010*11=110个个元素元素. .上一页返回章首下一页第六章第六章 数数 组组二维数组二维数组LArray(3,4)LArray(3,4)的下标排列如下的下标排列如下: : 一个声明语句可以同时定义几个数组一个声明语句可以同时定义几个数组: : Dim mark(1 to 100) As Integer , Dim mark(1 to 100) As Integer , LArray(3,4) As LongLArray(3,4) As Long一维数组一维数组 mark mark 的下标排列如下的下标排列如下: : 上一页返回章首下一页第六章第六章 数数 组组

5、6.1.2 6.1.2 数组的赋值及引用数组的赋值及引用1.1.数组的赋值数组的赋值: : 可以用赋值语句、可以用赋值语句、InputboxInputbox函函数数或文本框给数组元素赋值。或文本框给数组元素赋值。由于数组元素很多,一般都伴随着循环语句的由于数组元素很多,一般都伴随着循环语句的使用。使用。 格式格式 Option Base 0|1Option Base 0|1 说明说明 该语句必须在窗体级或标准模块级使用,该语句必须在窗体级或标准模块级使用,0 0 或或1 1表示下界。表示下界。如:如: Option Base 1Option Base 1Dim a(4,5), b(0 to 4

6、, 0 to 5)Dim a(4,5), b(0 to 4, 0 to 5)上一页返回章首下一页第六章第六章 数数 组组2.2.数组的引用:数组的引用:引用数组时要指明数组名及下标,引用数组时要指明数组名及下标,下标可以是常量、变量、或数值表达式。但要注意,下标可以是常量、变量、或数值表达式。但要注意,引用下标的取值范围不能超过所定义数组的上、下引用下标的取值范围不能超过所定义数组的上、下界,否则将出现界,否则将出现“下标越界下标越界”的错误信息。的错误信息。注意注意: :在数组声明中的下标说明了数组的大小;在数组声明中的下标说明了数组的大小;而在程序其他过程中引用的数组下标表示数组中而在程序

7、其他过程中引用的数组下标表示数组中的一个元素。两者写法形式相同,但意义不同。的一个元素。两者写法形式相同,但意义不同。上一页返回章首下一页第六章第六章 数数 组组6.1.3 6.1.3 与数组有关的函数与数组有关的函数1.1.Lbound Lbound 和和 UboundUbound函数函数LboundLbound | |UboundUbound(数组名数组名 ,数组维序号,数组维序号 ) 功能功能 LboundLbound 函数返回数组某维的下界值,函数返回数组某维的下界值,UboundUbound 函数返回数组某维的上界值,其数据类函数返回数组某维的上界值,其数据类型是型是longlong

8、。数据数据维序号用维序号用1 1,2 2,3 3表示表示,缺省缺省取取1 1。上一页返回章首下一页第六章第六章 数数 组组2.2.Array Array 函数函数 格式格式 Array (Array (数据数据1,1,数据数据2,2,数据数据33.).) 功能功能 将数据将数据1,1,数据数据2 2. .分别赋给一个可变类分别赋给一个可变类型的简单变量或动态数组中型的简单变量或动态数组中, ,用它可方便的给一用它可方便的给一维数组各元素赋值维数组各元素赋值, ,但不能给二维以上的数组赋但不能给二维以上的数组赋值。值。注意注意: :(1). (1). 用用 Array Array 对数组各元素赋

9、值对数组各元素赋值, ,声明的数组声明的数组必须是可变类型的简单变量或动态数组;必须是可变类型的简单变量或动态数组;(2). (2). 数组的下界默认为数组的下界默认为0,0,除非用除非用 Option BaseOption Base语句说明语句说明, ,上界由上界由 Array Array 函数括号内的数据的函数括号内的数据的个数决定个数决定, ,也可以通过函数也可以通过函数UboundUbound获得。获得。上一页返回章首下一页第六章第六章 数数 组组3.3.IsArray IsArray 函数函数 格式格式 IsArrayIsArray( (变量名变量名) ) 功能功能 测试变量名是否为

10、一个数组。若是数测试变量名是否为一个数组。若是数组组, , 函数值为函数值为True, True, 否则为否则为FalseFalse 例例6-1 6-1 Array Array 和和 IsArrayIsArray 两函数两函数的使用的使用上一页返回章首下一页第六章第六章 数数 组组6.1.4 6.1.4 动态数组与数组重定义动态数组与数组重定义1.1.动态数组的声明动态数组的声明 动态数组是指在声明时未给出数组的大小,动态数组是指在声明时未给出数组的大小,既不指明上界、又不指明下界的数组。当要使用既不指明上界、又不指明下界的数组。当要使用它时,随时用它时,随时用ReDimReDim语句重新指出

11、数组大小。语句重新指出数组大小。 格式格式 Dim|Private|Public|Static Dim|Private|Public|Static 数组变量数组变量名名() () As As 类型类型 说明说明 动态数组的声明除了大小和维数为空外动态数组的声明除了大小和维数为空外, ,其他格式与静态数组一样。其他格式与静态数组一样。上一页返回章首下一页第六章第六章 数数 组组 格式格式 ReDimReDim Preserve Preserve数组变量名(下标)数组变量名(下标) As As 类型类型 功能功能 用于为动态数组重新分配存储空间用于为动态数组重新分配存储空间 说明说明 (1). (

12、1). 可以对同一个动态数组多次使用可以对同一个动态数组多次使用 ReDimReDim 重新定义其重新定义其大小。大小。(2). (2). PreservePreserve可选项只能用在改变最后一维的上界时可选项只能用在改变最后一维的上界时, ,保保留数组中原来的数据留数组中原来的数据, ,否则原数据丢失。否则原数据丢失。 可以使用可以使用常量、变量或表达式。常量、变量或表达式。(3). (3). 不能对已定义的固定数组重新定义不能对已定义的固定数组重新定义. .(4). (4). ReDimReDim 语句只能在过程中使用语句只能在过程中使用, ,不能用在窗体和模块不能用在窗体和模块级。级。

13、(5). (5). ReDimReDim 不能改变动态数组的数据类型。不能改变动态数组的数据类型。2.2.数组重声明数组重声明 上一页返回章首下一页第六章第六章 数数 组组3.3.数组元素的初始化数组元素的初始化 一旦声明了数组,系统自动对每个元素的值一旦声明了数组,系统自动对每个元素的值进行初始化,即默认初值。数组元素的初值取决进行初始化,即默认初值。数组元素的初值取决于数据类型。于数据类型。 格式格式 Erase Erase 数组名数组名1 ,1 ,数组名数组名2,2,数组名数组名33 说明说明 对指定的固定大小的数组进行初始化;对指定的固定大小的数组进行初始化;对指定的动态数组释放所占的

14、内存空间对指定的动态数组释放所占的内存空间, ,在下次在下次引用该动态数组之前引用该动态数组之前, , 必须用必须用 ReDimReDim 语句重新语句重新定义。定义。上一页返回章首下一页第六章第六章 数数 组组 例例6-26-2 在在VB6.0 VB6.0 中,提供了数组对数组直接中,提供了数组对数组直接赋值,但在使用时应注意:被赋值的数组必须赋值,但在使用时应注意:被赋值的数组必须声明为声明为VariantVariant类型的动态数组,否则会出错。类型的动态数组,否则会出错。 例例6-36-3 求求FibonacciFibonacci数列:数列:1 1,1 1,2 2,3 3,5 5,8

15、8,1313,2121,该数列满足下列规律:,该数列满足下列规律:F1=1,F2=1,F1=1,F2=1,FN=FN-1+FN-2FN=FN-1+FN-2要求输入项数要求输入项数, , 在窗体上输出数列的各项在窗体上输出数列的各项, ,并要并要求每行输出求每行输出4 4个数。个数。上一页返回章首下一页第六章第六章 数数 组组6.1.5 6.1.5 For EachFor EachNext Next 语句语句 格式格式 For Each For Each 循环变量循环变量 In In 数组名数组名 循环体循环体 Exit forExit for Next Next 循环变量循环变量上一页返回章首

16、下一页第六章第六章 数数 组组6.2 6.2 数组应用数组应用 6.2.1 6.2.1 排序排序将将n个数存入数组个数存入数组a(1)a(n) For i=1 to n-1 For j=i+1 to n a(j)a(i) TRUE FALSEa(i)与与a(j) 交换交换输出排序后的输出排序后的a(1)a(n) 1. 1.比较交换排序法比较交换排序法:上一页返回章首下一页第六章第六章 数数 组组2.2.选择交换排序法:选择交换排序法:将将n个数存入数组个数存入数组a(1)a(n) For i=1 to n-1P=i For j=i+1 to n a(j)a(p) TRUE FALSEP=ja(

17、i)与与a(p)交换交换输出排序后的输出排序后的a(1)a(n )上一页返回章首下一页第六章第六章 数数 组组6.3 6.3 控件数组控件数组 控件数组是由一组相同名称、相同类型的控控件数组是由一组相同名称、相同类型的控件组成。这些控件的大多数属性相同,并接受件组成。这些控件的大多数属性相同,并接受同一事件。同一事件。 控件数组元素都有一个唯一的索引号控件数组元素都有一个唯一的索引号IndexIndex与其对应,假如一个控件数组有与其对应,假如一个控件数组有5 5个元素,则个元素,则indexindex值为值为0 - 40 - 4,程序根据,程序根据 indexindex值判断用户值判断用户给

18、哪个控件元素施加了给哪个控件元素施加了“事件事件”,进而决定程,进而决定程序的进程。序的进程。上一页返回章首下一页第六章第六章 数数 组组6.3.1 6.3.1 创建控件数组创建控件数组1.1.在创建界面时建立控件数组在创建界面时建立控件数组方法一方法一: : 在窗体上先从工具箱中添加一个控件在窗体上先从工具箱中添加一个控件然后用然后用“复制复制”, ,“粘贴粘贴” 命令。命令。 方法二:将窗体上多个相同控件的方法二:将窗体上多个相同控件的NameName属性属性值设置为相同。值设置为相同。上一页返回章首下一页第六章第六章 数数 组组2.2.用命令添加、删除控件数组的元素用命令添加、删除控件数

19、组的元素 格式格式 load load 控件数组控件数组( (index)index) Unload Unload 控件数组控件数组( (index)index) 说明说明 1 1). .每个添加的元素必须通过每个添加的元素必须通过left left 和和toptop属性属性确定确定其位置,其位置,Visible=TrueVisible=True。2 2).load .load 只能添加已有控件数组的元素只能添加已有控件数组的元素, ,不能不能创建控件数组。创建控件数组。3 3).U.Unloadnload 只能删除用只能删除用load load 添加的元素添加的元素, ,不不能删除设计时创建

20、的元素。能删除设计时创建的元素。上一页返回章首下一页第六章第六章 数数 组组6.3.2 6.3.2 控件数组应用举例控件数组应用举例 例例6-86-8 设计一个简易计算器设计一个简易计算器, ,要求能够进行整要求能够进行整数的加、减、乘、除运算,并能将十进制转换数的加、减、乘、除运算,并能将十进制转换为二进制、八进制、十六进制,还能进行开平为二进制、八进制、十六进制,还能进行开平方运算。方运算。 例例6-96-9 用用load load 添加控件数组元素的应用添加控件数组元素的应用上一页返回章首下一页第六章第六章 数数 组组选择题:选择题:1. 1. Dim sum(10) as intege

21、r Dim sum(10) as integer 声明了有声明了有个元素个元素的数组的数组A.A.9 9 B.10 C.11 D.12B.10 C.11 D.122. Dim 2. Dim arrbarrb(3 to 5,-2 to 2) (3 to 5,-2 to 2) 所定义的数组的元所定义的数组的元素个数是素个数是20 20 B.12 C.15 D.24B.12 C.15 D.24上一页返回章首下一页第六章第六章 数数 组组3 3. . Option Base 1Option Base 1 Private Sub Form_Click() Private Sub Form_Click()

22、 Dim a(4,3) As Integer Dim a(4,3) As Integer Print Print UboundUbound(a,2)(a,2) End Sub End Sub显示的结果是显示的结果是 A.2 B.3 C.4 D.5A.2 B.3 C.4 D.5上一页返回章首下一页第六章第六章 数数 组组4. 4. 关于关于RedimRedim语句,说法正确的是语句,说法正确的是A.A.RedimRedim语句可以在过程外出现语句可以在过程外出现B.B.RedimRedim语句可以对已定义的固定数组重声明语句可以对已定义的固定数组重声明C.C.可以对同一个动态数组多次使用可以对同

23、一个动态数组多次使用RedimRedim重新定义重新定义其大小其大小 D.D.一般情况下,一般情况下, RedimRedim语句可以改变动态数组的语句可以改变动态数组的数据类型数据类型上一页返回章首下一页第六章第六章 数数 组组5. 5. Option Base 1Option Base 1Dim a(0 to 5) As Integer, b(10) As IntegerDim a(0 to 5) As Integer, b(10) As Integer不会出现下标越界的是不会出现下标越界的是A. A. Print a(0) Print a(0) B. Print a(6) B. Print

24、 a(6) C. Print b(0) C. Print b(0) D. Print b(11)D. Print b(11)上一页返回章首下一页第六章第六章 数数 组组6. 6. Option Base 1Option Base 1 Private Sub Form_Click() Private Sub Form_Click() Dim a,b Dim a,b A = Array(10,20,30): b = a(2) A = Array(10,20,30): b = a(2) End Sub End Sub b b的值为的值为 A.10 B.20 C. 30 D.31A.10 B.20 C

25、. 30 D.31上一页返回章首下一页第六章第六章 数数 组组7. 7. 区分控件数组中不同元素的属性是区分控件数组中不同元素的属性是A.A.Name B.Index C. Caption D.HeightName B.Index C. Caption D.Height8. 8. 关于关于UnloadUnload语句,说法不正确的是语句,说法不正确的是A.A.UnloadUnload可以将窗体从内存中卸载可以将窗体从内存中卸载B.B.UnloadUnload可以删除用可以删除用LoadLoad添加的控件元素添加的控件元素C.C.UnloadUnload可以删除控件数组可以删除控件数组D.D.U

26、nloadUnload可以在运行时添加控件数组可以在运行时添加控件数组上一页返回章首下一页第六章第六章 数数 组组9.9.运行运行LoadLoad命令可以添加指定控件数组的元素,命令可以添加指定控件数组的元素,不能复制的属性是不能复制的属性是A.A.top B.Width C. visible D.Enabledtop B.Width C. visible D.Enabled10. 10. 将相同类型的一组控件的将相同类型的一组控件的属性设为相同,属性设为相同,则产生控件数组。则产生控件数组。A Text B.Index C. Caption D.NameA Text B.Index C. Caption D.Name上一页返回章首下一章

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号