数组的声明与使用课件

上传人:9** 文档编号:243114107 上传时间:2024-09-16 格式:PPT 页数:28 大小:174.50KB
返回 下载 相关 举报
数组的声明与使用课件_第1页
第1页 / 共28页
数组的声明与使用课件_第2页
第2页 / 共28页
数组的声明与使用课件_第3页
第3页 / 共28页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二层,第三层,第四层,第五层,*,第六章 数 组,6.1 数组的声明与使用,6.2 数组应用,6.3 控件数组,本章要求,返回目录,第六章 数组(,Array),本章要求:,掌握数组的概念;,理解排序的三种常用方法,;,掌握,控件数组的应用方法,;,返回章首,下一页,第六章 数组,6.1,数组的声明与使用,6.1.1,静态数组的声明,静态数组是指在声明时已经确定了该数组中具有多少个元素,.,格式,:,Dim|Private|Public|Static,数组变量名,(,下标,) ,As,类型,说明,:,(1).,的命名规则同简单变量一样。,(,2).,决定了数组的维数和元素的个数。,数组分为,静态数组,和,动态数组,。,上一页,返回章首,下一页,例如,:,Dim cj(1 to 80) As Single,定义了单精度类型一维数组,上界为80,下界为1, 共有80个元素.,Public,studentname,(100) As String,定义了字符类型一维数组,上界为100,下界为0, 共有101个元素.,Dim mark(1 to 10, 10),定义了可变类型二维数组, 一维下界为1,上界为10;二维下界为0,上界为10.共有10*11=110个元素.,上一页,返回章首,下一页,二维数组,LArray(3,4),的下标排列如下,:,一个声明语句可以同时定义几个数组,:,Dim mark(1 to 100) As Integer , LArray(3,4) As Long,一维数组,mark,的下标排列如下,:,上一页,返回章首,下一页,6.1.2,数组的赋值及引用,1.,数组的赋值,:,可以用赋值语句、,Inputbox,函数,或文本框给数组元素赋值。,由于数组元素很多,一般都伴随着循环语句的使用。,格式,Option Base 0|1,说明,该语句必须在窗体级或标准模块级使用,,0 或1,表示下界。,如:,Option Base 1,Dim a(4,5), b(0 to 4, 0 to 5),上一页,返回章首,下一页,2.,数组的引用:,引用数组时要指明数组名及下标,,下标可以是常量、变量、或数值表达式。但要注意,引用下标的取值范围不能超过所定义数组的上、下界,否则将出现,“,下标越界,”,的错误信息。,注意,:,在数组声明中的下标说明了数组的大小;而在程序其他过程中引用的数组下标表示数组中的一个元素。两者写法形式相同,但意义不同。,上一页,返回章首,下一页,6.1.3,与数组有关的函数,1.,Lbound,和,Ubound,函数,Lbound,|,Ubound,(,数组名,,数组维序号,),功能,Lbound,函数返回数组某维的下界值,,Ubound,函数返回数组某维的上界值,其数据类型是,long。,数据,维序号用,1,2,,3,表示,,,缺省取1。,上一页,返回章首,下一页,2.,Array,函数,格式,Array (,数据,1,数据,2,数据,3,.),功能,将数据,1,数据,2,.,分别赋给一个可变类型的简单变量或动态数组中,用它可方便的给一维数组各元素赋值,但不能给二维以上的数组赋值。,注意,:,(1).,用,Array,对数组各元素赋值,声明的数组必须是可变类型的简单变量或动态数组;,(2).,数组的下界默认为,0,除非用,Option Base,语句说明,上界由,Array,函数括号内的数据的个数决定,也可以通过函数,Ubound,获得。,上一页,返回章首,下一页,3.,IsArray,函数,格式,IsArray,(,变量名,),功能,测试变量名是否为一个数组。若是数组,函数值为,True,否则为,False,例6-1,Array,和,IsArray,两函数,的使用,上一页,返回章首,下一页,6.1.4,动态数组与数组重定义,1.,动态数组的声明,动态数组是指在声明时未给出数组的大小,既不指明上界、又不指明下界的数组。当要使用它时,随时用,ReDim,语句重新指出数组大小。,格式,Dim|Private|Public|Static,数组变量名,() ,As,类型,说明,动态数组的声明除了大小和维数为空外,其他格式与静态数组一样。,上一页,返回章首,下一页,格式,ReDim,Preserve,数组变量名(下标),As,类型,功能,用于为动态数组重新分配存储空间,说明,(1).,可以对同一个动态数组多次使用,ReDim,重新定义其大小。,(2).,Preserve,可选项只能用在改变最后一维的上界时,保留数组中原来的数据,否则原数据丢失。,可以使用常量、变量或表达式。,(3).,不能对已定义的固定数组重新定义,.,(4).,ReDim,语句只能在过程中使用,不能用在窗体和模块级。,(5).,ReDim,不能改变动态数组的数据类型。,2.,数组重声明,上一页,返回章首,下一页,3.,数组元素的初始化,一旦声明了数组,系统自动对每个元素的值进行初始化,即默认初值。数组元素的初值取决于数据类型。,格式,Erase,数组名1 ,数组名2,数组名3,说明,对指定的固定大小的数组进行初始化;,对指定的动态数组释放所占的内存空间,在下次引用该动态数组之前,必须用,ReDim,语句重新定义。,上一页,返回章首,下一页,例6-2,在,VB6.0,中,提供了数组对数组直接赋值,但在使用时应注意:被赋值的数组必须声明为,Variant,类型的动态数组,否则会出错。,例6-3,求,Fibonacci,数列:,1,1,2,3,5,8,13,21,,,该数列满足下列规律:,F1=1,F2=1,FN=FN-1+FN-2,要求输入项数,在窗体上输出数列的各项,并要求每行输出,4,个数。,上一页,返回章首,下一页,6.1.5,For Each,Next,语句,格式,For Each,循环变量,In,数组名,循环体,Exit for,Next,循环变量,上一页,返回章首,下一页,6.2,数组应用,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 FALSE,a(i),与,a(j),交换,输出排序后的,a(1)a(n),1.,比较交换排序法,:,上一页,返回章首,下一页,2.,选择交换排序法:,将,n,个数存入数组,a(1)a(n),For i=1 to n-1,P=i,For j=i+1 to n,a(j)a(p),TRUE FALSE,P=j,a(i),与,a(p),交换,输出排序后的,a(1)a(n ),上一页,返回章首,下一页,6.3,控件数组,控件数组是由一组相同名称、相同类型的控件组成。这些控件的大多数属性相同,并接受同一事件。,控件数组元素都有一个唯一的索引号,Index,与其对应,假如一个控件数组有,5,个元素,则,index,值为,0 - 4,,程序根据,index,值判断用户给哪个控件元素施加了,“,事件,”,,进而决定程序的进程。,上一页,返回章首,下一页,6.3.1,创建控件数组,1.,在创建界面时建立控件数组,方法一,:,在窗体上先从工具箱中添加一个控件然后用,“,复制,”,“,粘贴,”,命令。,方法二:将窗体上多个相同控件的,Name,属性值设置为相同。,上一页,返回章首,下一页,2.,用命令添加、删除控件数组的元素,格式,load,控件数组,(,index),Unload,控件数组,(,index),说明,1).,每个添加的元素必须通过,left,和,top,属性确定,其位置,,Visible=True。,2).load,只能添加已有控件数组的元素,不能创建控件数组。,3).U,nload,只能删除用,load,添加的元素,不能删除设计时创建的元素。,上一页,返回章首,下一页,6.3.2,控件数组应用举例,例6-8,设计一个简易计算器,要求能够进行整数的加、减、乘、除运算,并能将十进制转换为二进制、八进制、十六进制,还能进行开平方运算。,例6-9,用,load,添加控件数组元素的应用,上一页,返回章首,下一页,选择题:,1.,Dim sum(10) as integer,声明了有个元素的数组,9,B.10 C.11 D.12,2. Dim,arrb,(3 to 5,-2 to 2),所定义的数组的元素个数是,20,B.12 C.15 D.24,上一页,返回章首,下一页,3,.,Option Base 1,Private Sub Form_Click(),Dim a(4,3) As Integer,Print,Ubound,(a,2),End Sub,显示的结果是 ,A.2 B.3 C.4 D.5,上一页,返回章首,下一页,4. 关于,Redim,语句,说法正确的是,Redim,语句可以在过程外出现,Redim,语句可以对已定义的固定数组重声明,可以对同一个动态数组多次使用,Redim,重新定义其大小,一般情况下,,Redim,语句可以改变动态数组的数据类型,上一页,返回章首,下一页,5.,Option Base 1,Dim a(0 to 5) As Integer, b(10) As Integer,不会出现下标越界的是,A.,Print a(0),B. Print a(6),C. Print b(0),D. Print b(11),上一页,返回章首,下一页,6.,Option Base 1,Private Sub Form_Click(),Dim a,b,A = Array(10,20,30): b = a(2),End Sub,b,的值为,A.10 B.20 C. 30 D.31,上一页,返回章首,下一页,7. 区分控件数组中不同元素的属性是,Name B.Index C. Caption D.Height,8.,关于,Unload,语句,说法不正确的是,Unload,可以将窗体从内存中卸载,Unload,可以删除用,Load,添加的控件元素,Unload,可以删除控件数组,Unload,可以在运行时添加控件数组,上一页,返回章首,下一页,9.运行,Load,命令可以添加指定控件数组的元素,不能复制的属性是,top B.Width C. visible D.Enabled,10.,将相同类型的一组控件的属性设为相同,则产生控件数组。,A Text B.Index C. Caption D.Name,上一页,返回章首,下一章,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!