数组的声明与使用ppt课件_第1页
数组的声明与使用ppt课件_第2页
数组的声明与使用ppt课件_第3页
数组的声明与使用ppt课件_第4页
数组的声明与使用ppt课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第六章第六章 数数 组组前往目录前往目录第六章第六章 数数 组组本章要求:本章要求: 掌握数组的概念;掌握数组的概念; 了解排序的三种常用方法了解排序的三种常用方法; ; 掌握控件数组的运用方法掌握控件数组的运用方法; ;前往章首下一页第六章第六章 数数 组组6.1 6.1 数组的声明与运用数组的声明与运用6.1.1 6.1.1 静态数组的声明静态数组的声明静态数组是指在声明时曾经确定了该数组中具有多静态数组是指在声明时曾经确定了该数组中具有多少个元素少个元素. . 格式格式 :Dim|Private|Public|Static Dim|Private|Public|Static 数组变量名数

2、组变量名( (下标下标) As ) As 类型类型 阐明阐明:1 1. 的命名规那么同简单变量一样。的命名规那么同简单变量一样。 2 2. 决议了数组的维数和元素的个数。决议了数组的维数和元素的个数。数组分为静态数组和动态数组。数组分为静态数组和动态数组。上一页前往章首下一页第六章第六章 数数 组组例如例如: :Dim cj(1 to 80) As Single Dim cj(1 to 80) As Single 定义了单精度类型一维数组定义了单精度类型一维数组, ,上界为上界为80,80,下界为下界为1, 1, 共有共有8080个元素个元素. .Public studentname (100

3、) As StringPublic studentname (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.10.共有共有1010* *11=11011=110个元个元素素. .上一页前往章首下一页第六章第六章 数数 组组二维数组二维数组L

4、Array(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 的下标陈列如下的下标陈列如下: : 上一页前往章首下一页第六章第六章 数数 组组6.1.2 6.1.2 数组的赋值及援用数组的赋值及援用1.1.数组的赋值数组的赋值: : 可以用赋值语句、可以用赋值语句、In

5、putboxInputbox函函数或文本框给数组元素赋值。数或文本框给数组元素赋值。由于数组元素很多,普通都伴随着循环语句的由于数组元素很多,普通都伴随着循环语句的运用。运用。 格式格式Option Base 0|1Option Base 0|1 阐明阐明 该语句必需在窗体级或规范模块级运用,该语句必需在窗体级或规范模块级运用,0 0 或或1 1表示下界。表示下界。如:如: Option Base 1Option Base 1Dim a(4,5), b(0 to 4, 0 to 5)Dim a(4,5), b(0 to 4, 0 to 5)上一页前往章首下一页第六章第六章 数数 组组2.2.数

6、组的援用:援用数组时要指明数组名及下标,数组的援用:援用数组时要指明数组名及下标,下标可以是常量、变量、或数值表达式。但要留意,下标可以是常量、变量、或数值表达式。但要留意,援用下标的取值范围不能超越所定义数组的上、下援用下标的取值范围不能超越所定义数组的上、下界,否那么将出现界,否那么将出现“下标越界的错误信息。下标越界的错误信息。留意留意: :在数组声明中的下标阐明了数组的大小;在数组声明中的下标阐明了数组的大小;而在程序其他过程中援用的数组下标表示数组中而在程序其他过程中援用的数组下标表示数组中的一个元素。两者写法方式一样,但意义不同。的一个元素。两者写法方式一样,但意义不同。上一页前往

7、章首下一页第六章第六章 数数 组组6.1.3 6.1.3 与数组有关的函数与数组有关的函数1.Lbound 1.Lbound 和和 Ubound Ubound函数函数Lbound |UboundLbound |Ubound数组名数组名 ,数组维序号,数组维序号 功能功能 Lbound Lbound 函数前往数组某维的下界值,函数前往数组某维的下界值,Ubound Ubound 函数前往数组某维的上界值,其数据类函数前往数组某维的上界值,其数据类型是型是longlong。数据维序号用。数据维序号用1 1,2 2,33表示,缺省表示,缺省取取1 1。上一页前往章首下一页第六章第六章 数数 组组2.

8、Array 2.Array 函数函数 格式格式 Array ( Array (数据数据1,1,数据数据2,2,数据数据3.)3.) 功能功能 将数据将数据1,1,数据数据2.2.分别赋给一个可变类分别赋给一个可变类型的简单变量或动态数组中型的简单变量或动态数组中, ,用它可方便的给用它可方便的给一维数组各元素赋值一维数组各元素赋值, ,但不能给二维以上的数但不能给二维以上的数组赋值。组赋值。留意留意: :(1). (1). 用用 Array Array 对数组各元素赋值对数组各元素赋值, ,声明的数声明的数组必需是可变类型的简单变量或动态数组;组必需是可变类型的简单变量或动态数组;(2). (

9、2). 数组的下界默以为数组的下界默以为0,0,除非用除非用 Option Option BaseBase语句阐明语句阐明, ,上界由上界由 Array Array 函数括号内的数函数括号内的数据的个数决议据的个数决议, ,也可以经过函数也可以经过函数UboundUbound获得。获得。上一页前往章首下一页第六章第六章 数数 组组3.IsArray 3.IsArray 函数函数 格式格式 IsArray( IsArray(变量名变量名) ) 功能功能 测试变量名能否为一个数组。假设是测试变量名能否为一个数组。假设是数组数组, , 函数值为函数值为True, True, 否那么为否那么为Fals

10、eFalse 例例6-1 Array 6-1 Array 和和 IsArray IsArray 两函数的运用两函数的运用上一页前往章首下一页第六章第六章 数数 组组6.1.4 6.1.4 动态数组与数组重定义动态数组与数组重定义1.1.动态数组的声明动态数组的声明 动态数组是指在声明时未给出数组的大小,动态数组是指在声明时未给出数组的大小,既不指明上界、又不指明下界的数组。当要运用既不指明上界、又不指明下界的数组。当要运用它时,随时用它时,随时用ReDimReDim语句重新指出数组大小。语句重新指出数组大小。 格式格式 Dim|Private|Public|Static Dim|Private

11、|Public|Static 数组变量数组变量名名() As () As 类型类型 阐明阐明 动态数组的声明除了大小和维数为空外动态数组的声明除了大小和维数为空外, ,其他格式与静态数组一样。其他格式与静态数组一样。上一页前往章首下一页第六章第六章 数数 组组 格式格式 ReDim Preserve ReDim Preserve数组变量名下标数组变量名下标As As 类型类型 功能功能 用于为动态数组重新分配存储空间用于为动态数组重新分配存储空间 阐明阐明 (1). (1). 可以对同一个动态数组多次运用可以对同一个动态数组多次运用 ReDim ReDim 重新定义其重新定义其大小。大小。(2

12、). Preserve(2). Preserve可选项只能用在改动最后一维的上界时可选项只能用在改动最后一维的上界时, ,保保管数组中原来的数据管数组中原来的数据, ,否那么原数据丧失。否那么原数据丧失。 可以运可以运用常量、变量或表达式。用常量、变量或表达式。(3). (3). 不能对已定义的固定数组重新定义不能对已定义的固定数组重新定义. .(4). ReDim (4). ReDim 语句只能在过程中运用语句只能在过程中运用, ,不能用在窗体和模块不能用在窗体和模块级。级。(5). ReDim (5). ReDim 不能改动动态数组的数据类型。不能改动动态数组的数据类型。2.2.数组重声明

13、数组重声明 上一页前往章首下一页第六章第六章 数数 组组3.3.数组元素的初始化数组元素的初始化 一旦声明了数组,系统自动对每个元素的值一旦声明了数组,系统自动对每个元素的值进展初始化,即默许初值。数组元素的初值取决进展初始化,即默许初值。数组元素的初值取决于数据类型。于数据类型。 格式格式Erase Erase 数组名数组名1 ,1 ,数组名数组名2,2,数组名数组名33 阐明阐明 对指定的固定大小的数组进展初始化;对指定的固定大小的数组进展初始化;对指定的动态数组释放所占的内存空间对指定的动态数组释放所占的内存空间, ,在下次在下次援用该动态数组之前援用该动态数组之前, , 必需用必需用

14、ReDim ReDim 语句重新语句重新定义。定义。上一页前往章首下一页第六章第六章 数数 组组 例例6-2 6-2 在在VB6.0 VB6.0 中,提供了数组对数组直接中,提供了数组对数组直接赋值,但在运用时应留意:被赋值的数组必需赋值,但在运用时应留意:被赋值的数组必需声明为声明为VariantVariant类型的动态数组,否那么会出错。类型的动态数组,否那么会出错。 例例6-3 6-3 求求FibonacciFibonacci数列:数列:1 1,1 1,2 2,3 3,5 5,8 8,1313,2121,该数列满足以下规律:,该数列满足以下规律:F1=1,F2=1,FN=FN-1+FN-

15、2F1=1,F2=1,FN=FN-1+FN-2要求输入项数要求输入项数, , 在窗体上输出数列的各项在窗体上输出数列的各项, ,并要并要求每行输出求每行输出4 4个数。个数。上一页前往章首下一页第六章第六章 数数 组组6.1.5 For EachNext 6.1.5 For EachNext 语句语句 格式格式 For Each For Each 循环变量循环变量 In In 数组名数组名 循环体循环体 Exit forExit for Next Next 循环变量循环变量上一页前往章首下一页第六章第六章 数数 组组6.2 6.2 数组运用数组运用 6.2.1 6.2.1 排序排序将将n个数存

16、入数组个数存入数组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(i)与与a(p)交换交换输出排序后的输出排序后的a(1)a(n )上一页前往章首下一页第六章第六章 数数

17、组组6.3 6.3 控件数组控件数组 控件数组是由一组一样称号、一样类型的控件组成。这些控控件数组是由一组一样称号、一样类型的控件组成。这些控件的大多数属性一样,并接受同一事件。件的大多数属性一样,并接受同一事件。 控件数组元素都有一个独一的索引号控件数组元素都有一个独一的索引号Index与其对应,假设一个与其对应,假设一个控件数组有控件数组有5个元素,那么个元素,那么index值为值为0 - 4,程序根据,程序根据 index值判别值判别用户给哪个控件元素施加了用户给哪个控件元素施加了“事件,进而决议程序的进程。事件,进而决议程序的进程。上一页前往章首下一页第六章第六章 数数 组组6.3.1

18、 6.3.1 创建控件数组创建控件数组1.1.在创建界面时建立控件数组在创建界面时建立控件数组方法一方法一: : 在窗体上先从工具箱中添加一个控件在窗体上先从工具箱中添加一个控件然后用然后用“复制复制, ,“粘贴粘贴 命令。命令。 方法二:将窗体上多个一样控件的方法二:将窗体上多个一样控件的NameName属性值设置为一样。属性值设置为一样。上一页前往章首下一页第六章第六章 数数 组组2.2.用命令添加、删除控件数组的元素用命令添加、删除控件数组的元素 格式格式 load load 控件数组控件数组(index)(index) Unload Unload 控件数组控件数组(index)(ind

19、ex) 阐明阐明 1 1. .每个添加的元素必需经过每个添加的元素必需经过left left 和和toptop属性属性确定其位置,确定其位置,Visible=TrueVisible=True。2 2.load .load 只能添加已有控件数组的元素只能添加已有控件数组的元素, ,不能不能创建控件数组。创建控件数组。3 3.Unload .Unload 只能删除用只能删除用load load 添加的元素添加的元素, ,不不能删除设计时创建的元素。能删除设计时创建的元素。上一页前往章首下一页第六章第六章 数数 组组6.3.2 6.3.2 控件数组运用举例控件数组运用举例 例例6-8 6-8 设计一

20、个简易计算器设计一个简易计算器, ,要求可以进展要求可以进展整数的加、减、乘、除运算,并能将十进制转整数的加、减、乘、除运算,并能将十进制转换为二进制、八进制、十六进制,还能进展开换为二进制、八进制、十六进制,还能进展开平方运算。平方运算。 例例6-9 6-9 用用load load 添加控件数组元素的运用添加控件数组元素的运用上一页前往章首下一页第六章第六章 数数 组组选择题:选择题:1. Dim sum(10) as integer 1. Dim sum(10) as integer 声明了有声明了有个元素个元素的数组的数组9 B.10 C.11 D.129 B.10 C.11 D.122

21、. Dim arrb(3 to 5,-2 to 2) 2. Dim arrb(3 to 5,-2 to 2) 所定义的数组的元所定义的数组的元素个数是素个数是20 B.12 C.15 D.2420 B.12 C.15 D.24上一页前往章首下一页第六章第六章 数数 组组3. 3. Option Base 1 Option Base 1 Private Sub Form_Click() Private Sub Form_Click() Dim a(4,3) As Integer Dim a(4,3) As Integer Print Ubound(a,2) Print Ubound(a,2) E

22、nd Sub End Sub显示的结果是显示的结果是 A.2 B.3 C.4 D.5A.2 B.3 C.4 D.5上一页前往章首下一页第六章第六章 数数 组组4. 4. 关于关于RedimRedim语句,说法正确的选项是语句,说法正确的选项是RedimRedim语句可以在过程外出现语句可以在过程外出现RedimRedim语句可以对已定义的固定数组重声明语句可以对已定义的固定数组重声明可以对同一个动态数组多次运用可以对同一个动态数组多次运用RedimRedim重新定义其重新定义其大小大小 普通情况下,普通情况下, Redim Redim语句可以改动动态数组的数语句可以改动动态数组的数据类型据类型

23、上一页前往章首下一页第六章第六章 数数 组组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. Print a(0) A. Print a(0) B. Print a(6) B. Print a(6) C. Print b(0) C. Print b(0) D. Print b(11)D. Print b(11)上一页前往章首下一页第六章第六章 数数 组组6. Option Base 16. Option Base 1 Private Sub Form_C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论