新编Visual Basic程序设计教程 教学课件 ppt 作者 钱雪忠第8章 数组

上传人:w****i 文档编号:92567042 上传时间:2019-07-11 格式:PPS 页数:71 大小:885KB
返回 下载 相关 举报
新编Visual Basic程序设计教程 教学课件 ppt 作者 钱雪忠第8章 数组_第1页
第1页 / 共71页
新编Visual Basic程序设计教程 教学课件 ppt 作者 钱雪忠第8章 数组_第2页
第2页 / 共71页
新编Visual Basic程序设计教程 教学课件 ppt 作者 钱雪忠第8章 数组_第3页
第3页 / 共71页
新编Visual Basic程序设计教程 教学课件 ppt 作者 钱雪忠第8章 数组_第4页
第4页 / 共71页
新编Visual Basic程序设计教程 教学课件 ppt 作者 钱雪忠第8章 数组_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《新编Visual Basic程序设计教程 教学课件 ppt 作者 钱雪忠第8章 数组》由会员分享,可在线阅读,更多相关《新编Visual Basic程序设计教程 教学课件 ppt 作者 钱雪忠第8章 数组(71页珍藏版)》请在金锄头文库上搜索。

1、新编 Visual Basic程序设计教程,第8章 数 组,本章重点:,1数组的基本概念 2数组的声明(动态数组和静态数组) 3数组的基本操作(查找、排序、增加、删除等),作业解答,课件内容,本章内容:,8.1数组的基本概念 8.2数组的声明 8.2.1静态数组的声明 8.2.2动态数组的声明 8.2.3 用Option Base语句设定下界的默认值 8.3数组的基本操作 8.3.1数组的输入 8.3.2数组的输出 8.3.3数组的查找 8.3.4数组的排序 8.3.5数组的插入 8.3.6数组的删除,8.4数组的应用举例 8.5控件数组 8.5.1 建立控件数组 8.5.2 使用控件数组 8

2、.6记录数组,8.1 数组的基本概念,单一的变量对于作为整体存在的数据的表达能力不足,并且整体中的个体的变化规律无法表达 例:班级中每个人的名字无法确切记忆 解决:用班级名称代表整体,用班级内学号代表整体中的个体 用一个名字代表一个集合,集合中的个体的表示需要: 集合名 + 集合内的代号,8.1 数组的基本概念,数组相同类型数据的集合 数组名集合的名称 数组元素集合内的每一个成员 下标数组元素在数组中的编号, 代表了该元素在数组中的位置 某个数组元素表示为:数组名(下标),8.1 数组的基本概念,数组一组相同类型的变量 使用同一个名字来组织 一个班(48个)学生的成绩 Score 30种图书的

3、名字 BookName 100种商品的价格 Cost 数组元素数组中的各个变量 使用唯一的下标(索引)来标识 如:Score(1)、 Score(2)Score(48) BookName(0) BookName(29) Cost(0) Cost(99) 数组的长度数组元素的个数,8.1 数组的基本概念(续),数组的维数 一维数组 多维数组 二维数组 三维数组 ,(2,5,7,9,10,4,8),行,行列,行列层,8.1 数组的基本概念(续),数组的分类 按维数分: 一维、二维、三维 数组的最大维数达60,而元素的多少受内存的制约 按在内存分配是否可变分: 静态数组 动态数组(可重新定义数组的维

4、数和长度),8.2 数组的声明,使用数组的步骤: 定义声明数组,规定其总体格局 使用时只能对数组的各个元素进行操作,从而实现对数组的访问,8.2 数组的声明,定义时需要规定的内容: 数组的名字 数组的维数 数组的每个维的下标的范围 数组存放数据的数据类型,8.2 数组的声明,8.2.1 静态数组的声明 1.一维数组 Dim 数组名(下标) As 类型名 Static 数组名(下标) As 类型名 Public 数组名(下标) As 类型名 如: Dim Score(1 to 48) As Integer Static BookName(30) As String Dim Cost(100) A

5、s Single,Dim 数组名(下标) As 类型名,其中: Static和 Public分别用来定义静态数组和全局数组; 声明格式中下标只能由常数/符号常量或它们组成的表达式表示(不能是变量),并将常数转换为整型数表示数组的长度; 下标的格式为:下界 to 上界 若省略下界,则下界默认为0 如:Dim Score(1 to 48) As Integer 数组元素: Score(1)、 Score(2)Score(48) Dim Cost(100) As Single 数组元素: Cost(0)、 Cost(1) Cost(100) As 类型名若省略,则默认为变体数组。,Const n a

6、s integer=15 Dim a(n) as integer :Dim b(2*3) as integer Dim c(3.6) as integer 将3.6四舍五入,Dim x as integer : x=15 Dim d(x) as integer 错误,x是变量,8.2.1 静态数组的声明(续),2.多维数组 Dim 数组名(下标1,下标2)As 类型名 如: 二维数组: Dim db (3,1 to 5) As Integer Public N(5,5) As Single 三维数组:Dim Tr(3,4,4) As Long Dim A(1 to 5,1 to 5,1 to

7、5) As Long 元素: 数组db共有4行5列 4520个元素,8.2.1 静态数组的声明(续),2.多维数组 数组的大小(元素的个数): = 第一维大小 * 第二维大小 * 维的大小 = 维上界 - 维下界 + 1 Dim a(3,-1 to 4) as single a数组的大小= 4*6 = 24 Dim b(3.8,-1 to 4,6) as integer b数组的大小= 5*6*7 = 210,8.2.1 静态数组的声明(续),内存中存放数组按“线性连续存储”的方式 一维数组在内存中的存放: 二维数组在内存中的存放: 以列为单位存放!,8.2.2 动态数组的声明,动态数组在数组

8、声明时不指定数组的大小 格式: Dim 数组名()As 类型名 如:Dim s() As Single 动态数组在需要时使用Redim语句指定维数和大小 格式: Redim Preserve 数组名(下标1,下标2)As 类型名 如:Redim s(10) Redim Preserve s(2,3),Redim Preserve数组名(下标1,下标2)As 类型名,注1:下标可以是常量、变量(具有值)和表达式; 与静态数组的声明不同之处! 如: Dim a() As Single, i As Integer k=5 Redim a(3) Redim a(k) Redim a(k*3+1) ,R

9、edim Preserve数组名(下标1,下标2)As 类型名,注2:As 类型名可以省略, 若不省略则必须与Dim语句声明的类型一致; 注3:Preserve保留数组中原有的数据 使用Preserve的Redim只能改变数组最后一维的大小 即对于二维数组,只能改变第二维 如: Dim b() As Integer Redim b(1,2) Redim Preserve b(1,4),原因:二维数组按列存放,8.2.2 动态数组的声明(续),注4:Redim语句只能出现在过程内部 原因:是VB的执行语句,不是声明语句 例8-1 Redim语句的使用 Private Sub Form_Click

10、() Dim A() As Integer, i As Integer Print “一维数组:” ReDim A(1 To 10) 重新指定数组A为一维数组,大小为10 For i = 1 To 10 使用一维数组A A(i) = Int(Rnd * 101) Print A(i), Next i Print End Sub,若没有Redim语句而直接使用数组的元素,则:无论引用哪个元素都将出错, 出错类型为:下标越界,8.2.2 动态数组的声明(续),Private Sub Form_Click() Dim A() As Integer, i As Integer Print “二维数组:

11、” ReDim A(1 To 9, 1 To 5) 重新指定数组A为二维数组,大小为95 For i = 1 To 9 使用二维数组A For j = 1 To 5 A(i, j) = 10 + Int(Rnd * 21) Print A(i, j), Next j Print Next i End Sub,二重循环:i控制行,j控制列,8.2.3 Option Base语句,设定下界的默认值 格式:Option Base n 如:Option Base 1 位置:模块的通用部分 跟Option Explict语句一样是设置的功能语句; 如: Option Base 1 Dim a(5) 元素

12、a(1)a(5) Dim b(3,4) 3行4列,b(1,1)b(3,4),8.2.3 Option Base语句(续),设定下界的默认值 格式:Option Base n,设置过后,该模块中声明的所有数组的每一维的下界默认值都为n 还可以使用“下界 To 上界”的格式定义下界 如: Option Base 1 Dim a(2 To 5) 元素a(2)a(5) Dim b(3,4) 3行4列,b(1,1)b(3,4),8.3 数组的基本操作,8.3.1数组的输入 8.3.2数组的输出 8.3.3数组的查找 8.3.4数组的排序 8.3.5数组的插入 8.3.6数组的删除,常量、数组、固定长度字

13、符类型作用范围规定表,8.3 数组的基本操作,数组元素的变化都表现在其下标的变化 利用下标访问数组元素 8.3.1 数组的输入 法0. 使用赋值语句,单个数组元素赋值 Dim a(5) As Integer, b(3,4) As Integer,i As Integer i=3 a(0)=5 : a(1)=6*i : a(2)=8 b(0,0)=5 : b(0,1)=6+i * a(2) a(3)=b(0,0) : b(1,1)= a(2) : ,8.3.1 数组的输入,一般采用循环结构给数组元素批量赋值 法1.键盘读入 使用InputBox()函数实现 静态数组 Dim A(1 To 10)

14、 As Integer, i As Integer For i = 1 To 10 A(i) = InputBox(“请输入第” & i & “个数据”, “输入”) Next i,8.3.1 数组的输入(续),动态数组 Dim B() As Integer, i As Integer,j As Integer Redim B(1 To 10) 一维数组 For i = 1 To 10 B(i) = Val(InputBox(“请输入第” & i & “个数据”) Next I Redim B(3,5) 二维数组 For i=1 To 3 针对行 For j=1 to 5 针对列 B(i,j)

15、 =Val(InputBox(“请输入数据”) Next j Next i 在使用(输入)数组前必须设定数组的长度,8.3.1 数组的输入(续),根据用户输入确定数组的长度 Dim i As Integer, k As Integer, B() As Integer Dim x As Integer i = 1 x = Val(InputBox(“请输入第“ & i & “个数据“) Do While x -999 当输入数据为-999时结束输入 ReDim Preserve B(i) 重定义数组,并保留前面输入的数 B(i) = x i = i + 1 记录输入数据的个数 x = Val(InputBox(“请输入第“ & i & “个数据“) Loop,8.3.1 数组的输入(续),法2.下标生成 适用于数组元素与下标之间存在函数关系 Dim A(1 To 10) As Integer, k As Integer For k = 1

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

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

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