VB数组
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
中国药科大学 计算机教研室
数组的维数(例):
6.1.2
数组定义
Visual Basic 程序设计
数组必须先定义后使用。 定义数组时,确定其名称、数据类型、维数、每一维的
上、下界。eg: Dim
A(6)
As
Integer
数组定义时,系统分配连续的内存空间,用于依次保存
所有数组元素。
固定大小数组与动态数组。 eg: Dim A(6) As Integer,B() As Integer
8
中国药科大学 计算机教研室
1、数组说明语句
[格式]:
Visual Basic 程序设计
Public|Private|Static|Dim 数组名([<下界1> To]<上界1>
[,[<下界2> To]<上界2>,…]) As
[说明]: 声明关键字决定作用域,见下页
类型
<下界> TO <上界> 决定了每一维的大小,下界指下标的 最小值,上界指下标的最大值,其中 [<下界> TO]可省略, 此时,默认下界是0。 eg: Dim A(1 to 6) As Integer 我们习惯于下标是从1开始,可在模块的“通用”声明段中 使用如下语句
12
×
中国药科大学 计算机教研室
3 、数组的类型
Visual Basic 程序设计
可为任一简单数据类型,若缺省则为变体(Variant)类型
数组说明语句不仅定义了数组、分配了存储空间,还将数组
初始化:
数值型数组元素初始值为零 变长字符类型数组元素初始值为空字符串 定长字符类型数组元素初始值为指定长度个数的空格
18
中国药科大学 计算机教研室
2、 Erase 初始化数组语句
Visual Basic 程序设计
格式: Erase a1[,a2,...] 功能:对普通数组(固定大小数组)重新初始化(按数组类 型给元素赋初值);对动态数组进行存储空间释放。 例:p.89
Option Base 1 Private Sub Form_Click() Dim A(3) As Integer, B() As Integer A(1) = 1: A(2) = 2: A(3) = 3 ReDim B(4) Print A(1), A(2), A(3) Erase A, B Print A(1), A(2), A(3) End Sub
数组,是VB支持的一种复合结构的数据类型。 数组,是用于保存一组具有相同数据类型的有序的变量 的集合。
6
中国药科大学 计算机教研室
6.1.1 数组命名与数组元素
命名规则与简单变量相同。(参阅P45) 数组名不是代表某一变量,而是一组变量。 数组元素:
Visual Basic 程序设计
20
中国药科大学 计算机教研室
举例
Visual Basic 程序设计
Option Base 1 Private Sub Form_Click() Dim E(2, 3) As Integer, V As Variant Dim i As Integer, j As Integer For i = 1 To 2 For j = 1 To 3 E(i, j) = i * 10 + j Print E(i, j); Next j Print Next i For Each V In E 处理顺序为该数组的存储顺序——按列! Print V; Next V 中国药科大学 21 End Sub 计算机教研室
23
中国药科大学 计算机教研室
4、Array赋值函数
Visual Basic 程序设计
格式:变体变量名|变体类型的动态数组名=Array([n1,n2,...]) 功能:将一个变体型变量创建成为一个一维数组,并包含指定 的元素。元素的引用方式与一般数组一样。 注意:Array赋值函数只能给变体型变量或动态数组赋值。不 能给其他类型的变量及数组赋值。
中国药科大学 计算机教研室
14
6.1.3
数组的结构
Visual Basic 程序设计
数组的所有元素是按一定顺序存储在连续的存储单元的。 1.一维数组的结构
例:Dim
A(3) As Integer
逻辑结构:(A(0), A(1), A(2) A(3)) 存储结构:按照下标从小到大依次存储
6.2 数组的基本操作
Visual Basic 程序设计
6.2.1 数组元素的赋值
6.2.2 数组元素的输出
6.2.3 数组元素的引用
22
中国药科大学 计算机教研室
6.2.1 数组元素的赋值
Visual Basic 程序设计
1、用赋值语句给单个数组元素赋值。 Dim score(3) as integer score(1)=90 : score(2)=80 : score(3)=68 2、在循环结构中,用赋值语句逐一给数组元素赋值。 Dim a(1 to 6) as integer For i=1 to 6 a(i)=int(99*rnd)+1 一维数组用一层循环结构 Next i 3、在循环结构中,利用Inputbox函数给数组元素赋值。 Dim a(1 to 6) as integer For i=1 to 6 a(i)=Inputbox(―请输入a(‖ & Str(i) & ‖)‖,‖数组赋值”) Next i
Option Base 1
9
中国药科大学 计算机教研室
则在缺省下界的情况下,默认下界是1。
类型指定数组元素的统一数据类型
Visual Basic 程序设计
关键字
Public
使用位置
在标准模块的声明段中
作用域
全局
Private和Dim
Dim Static
在模块的声明段中
在过程中 在过程中
模块
局部 局部、静态
11
中国药科大学 计算机教研室
2 、数组的上、下界
上、下界表示下标的最大、最小值; 下界≤上界;
Visual Basic 程序设计
在固定大小数组定义时,上、下界是常量或常量表达式,不 得是变量;
上、下界应是整数,若不是,则自动四舍五入。
举例: Dim m as integer Const n=5 as integer Dim a(n) as integer Dim b(1 to 6.6) as integer Dim c(1 to 2*3) as integer Dim d(0 to m) as integer
由数组名和该元素在数组中的编号(索引、下标)唯一确定, 下标是连续的整数。 数组元素的一般形式: 数组名(下标1[,下标2,…]) eg: a(0),a(1),a(2),a(3),a(4),b(0,0),b(0,1) 一维数组——只需一个下标即可唯一确定一个数组元素 多维数组——有两个或两个以上下标的数组,每个下标对应 一个“维”
注:利用一个数组来存储输入的一组相关信息,操作简洁、灵 活、方便,往往同循环结构结合使用
5
中国药科大学 计算机教研室
基本概念
Visual Basic 程序设计
前面所说的变量都是指简单变量,即一个变量名对应一 个存储单元,只能存储一个值,各个变量之间无关联。 本章我们要介绍的是一种下标变量——数组,是通过一 个数组名和下标的组合来表示多个值。用一个相同的名字引 用一组变量的数据。
4
中国药科大学 计算机教研室
举例
输入5名同学的年龄信息,存储并输出: 简单变量实现:
Visual Basic 程序设计
数组(下标变量)实现:
Private Sub Command1_Click() Option Base 1 Dim a%, b%, c%, d%, e% Private Sub Command1_Click() a = InputBox("输入年龄:", "年龄信息") Dim A(5) As Integer, i As Integer b = InputBox("输入年龄:", "年龄信息") For i = 1 To 5 定义数组 c = InputBox("输入年龄:", "年龄信息") A(i) = InputBox("输入年龄:", "年龄信息") d = InputBox("输入年龄:", "年龄信息") Next i e = InputBox("输入年龄:", "年龄信息") For i = 1 To 5 Print a; b; c; d; e Print A(i); End Sub Next i End Sub
A(0) A(1) A(2) A(3)
15
中国药科大学 计算机教研室
2 、二维数组的结构
Visual Basic 程序设计
例:Option base 1 Dim Y(3,4) as integer
Hale Waihona Puke Baidu
逻辑结构: Y(1,1),Y(1,2),Y(1,3),Y(1,4) Y(2,1),Y(2,2),Y(2,3),Y(2,4) Y(3,1),Y(3,2),Y(3,3),Y(3,4) 存储结构:
上界:UBound(数组名[,d]) 下界:LBound(数组名[,d]) 说明:d代表维数。省略时表示返回第一维的值。
举例:
Dim A(5) As Integer, B(2, 3 to 5) As Integer a1=LBound(A) a2=UBound(A) b1=LBound(B,1) 结果:0 5 0 3 2 5 b2=LBound(B,2) b3=UBound(B,1) b4=UBound(B,2) Print a1;a2;b1;b2;b3; b4
Visual Basic 程序设计
第六章 数组
授课教师:潘 蕾
E-Mail: olivelei2008@163.com
中国药科大学 计算机教研室
教学要求
掌握数组的定义和使用 掌握动态数组的定义和使用 掌握控件数组的建立和使用 掌握常用算法
Visual Basic 程序设计
2
中国药科大学 计算机教研室
布尔型数组元素初始值为“False”
变体类型数组元素初始值为“Empty”
13
中国药科大学 计算机教研室
4 、数组的大小
指数组中包含元素的个数
Visual Basic 程序设计
一维数组元素个数:上界-下界+1
二维数组元素个数: (上界1-下界1+1)*(上界2-下界2+1) 举例: Dim A(6) as integer Dim B(3,-1 to 4) as single A数组的大小=6-0+1=7 B数组的大小=(3-0+1)×(4-(-1)+1)=4×6=24
Private
Name(1999
to 2002)
as string
*8
数组元素分别为:name(1999) 、 name(2000)、 name(2002) , 用于保存长度为8的字符串数据。
name(2001)、
Dim
b(2,1 to 2)
as integer
数组元素分别为:b(0,1),b(0,2),b(1,1),b(1,2),b(2,1),b(2,2)
教学内容
6.1 6.2 6.3 6.4 6.5 数组的概念 数组的基本操作 动态数组 控件数组 程序示例
Visual Basic 程序设计
3
中国药科大学 计算机教研室
6.1
数组的概念
Visual Basic 程序设计
6.1.1 数组命名与数组元素 6.1.2 数组定义 6.1.3 数组的结构 6.1.4 数组函数及数组语句
“按列存放”(P87)
16
中国药科大学 计算机教研室
3 、三维数组的结构
Visual Basic 程序设计
行、列和页组成的三维表。 逻辑结构:见书P87 存储结构:“逐页逐列”
17
中国药科大学 计算机教研室
6.1.4
数组函数及数组语句
Visual Basic 程序设计
1、返回上、下界函数:
中国药科大学 计算机教研室
19
3、 For Each-Next 数组循环结构
格式: For Each Element In <数组名> 语句块 [Exit For] 语句块 Next [Element]
Visual Basic 程序设计
功能:依次(存储次序)处理每一个数组元数,直到数组结束。 说明: Element是Variant变量,它逐个地代表数组中的每一 个变量。
注意:全局数组、 全局符号常量和全局定长字符串只能在标准 模块中定义,而全局变量可以在窗体模块或标准模块中定义中国药科大学
10
计算机教研室
举例
Dim A(6) as integer
Visual Basic 程序设计
数组元素分别为:A(0)、A(1)、A(2)、A(3)、A(4)、A(5)、A(6),共7个
中国药科大学 计算机教研室
数组的维数(例):
6.1.2
数组定义
Visual Basic 程序设计
数组必须先定义后使用。 定义数组时,确定其名称、数据类型、维数、每一维的
上、下界。eg: Dim
A(6)
As
Integer
数组定义时,系统分配连续的内存空间,用于依次保存
所有数组元素。
固定大小数组与动态数组。 eg: Dim A(6) As Integer,B() As Integer
8
中国药科大学 计算机教研室
1、数组说明语句
[格式]:
Visual Basic 程序设计
Public|Private|Static|Dim 数组名([<下界1> To]<上界1>
[,[<下界2> To]<上界2>,…]) As
[说明]: 声明关键字决定作用域,见下页
类型
<下界> TO <上界> 决定了每一维的大小,下界指下标的 最小值,上界指下标的最大值,其中 [<下界> TO]可省略, 此时,默认下界是0。 eg: Dim A(1 to 6) As Integer 我们习惯于下标是从1开始,可在模块的“通用”声明段中 使用如下语句
12
×
中国药科大学 计算机教研室
3 、数组的类型
Visual Basic 程序设计
可为任一简单数据类型,若缺省则为变体(Variant)类型
数组说明语句不仅定义了数组、分配了存储空间,还将数组
初始化:
数值型数组元素初始值为零 变长字符类型数组元素初始值为空字符串 定长字符类型数组元素初始值为指定长度个数的空格
18
中国药科大学 计算机教研室
2、 Erase 初始化数组语句
Visual Basic 程序设计
格式: Erase a1[,a2,...] 功能:对普通数组(固定大小数组)重新初始化(按数组类 型给元素赋初值);对动态数组进行存储空间释放。 例:p.89
Option Base 1 Private Sub Form_Click() Dim A(3) As Integer, B() As Integer A(1) = 1: A(2) = 2: A(3) = 3 ReDim B(4) Print A(1), A(2), A(3) Erase A, B Print A(1), A(2), A(3) End Sub
数组,是VB支持的一种复合结构的数据类型。 数组,是用于保存一组具有相同数据类型的有序的变量 的集合。
6
中国药科大学 计算机教研室
6.1.1 数组命名与数组元素
命名规则与简单变量相同。(参阅P45) 数组名不是代表某一变量,而是一组变量。 数组元素:
Visual Basic 程序设计
20
中国药科大学 计算机教研室
举例
Visual Basic 程序设计
Option Base 1 Private Sub Form_Click() Dim E(2, 3) As Integer, V As Variant Dim i As Integer, j As Integer For i = 1 To 2 For j = 1 To 3 E(i, j) = i * 10 + j Print E(i, j); Next j Print Next i For Each V In E 处理顺序为该数组的存储顺序——按列! Print V; Next V 中国药科大学 21 End Sub 计算机教研室
23
中国药科大学 计算机教研室
4、Array赋值函数
Visual Basic 程序设计
格式:变体变量名|变体类型的动态数组名=Array([n1,n2,...]) 功能:将一个变体型变量创建成为一个一维数组,并包含指定 的元素。元素的引用方式与一般数组一样。 注意:Array赋值函数只能给变体型变量或动态数组赋值。不 能给其他类型的变量及数组赋值。
中国药科大学 计算机教研室
14
6.1.3
数组的结构
Visual Basic 程序设计
数组的所有元素是按一定顺序存储在连续的存储单元的。 1.一维数组的结构
例:Dim
A(3) As Integer
逻辑结构:(A(0), A(1), A(2) A(3)) 存储结构:按照下标从小到大依次存储
6.2 数组的基本操作
Visual Basic 程序设计
6.2.1 数组元素的赋值
6.2.2 数组元素的输出
6.2.3 数组元素的引用
22
中国药科大学 计算机教研室
6.2.1 数组元素的赋值
Visual Basic 程序设计
1、用赋值语句给单个数组元素赋值。 Dim score(3) as integer score(1)=90 : score(2)=80 : score(3)=68 2、在循环结构中,用赋值语句逐一给数组元素赋值。 Dim a(1 to 6) as integer For i=1 to 6 a(i)=int(99*rnd)+1 一维数组用一层循环结构 Next i 3、在循环结构中,利用Inputbox函数给数组元素赋值。 Dim a(1 to 6) as integer For i=1 to 6 a(i)=Inputbox(―请输入a(‖ & Str(i) & ‖)‖,‖数组赋值”) Next i
Option Base 1
9
中国药科大学 计算机教研室
则在缺省下界的情况下,默认下界是1。
类型指定数组元素的统一数据类型
Visual Basic 程序设计
关键字
Public
使用位置
在标准模块的声明段中
作用域
全局
Private和Dim
Dim Static
在模块的声明段中
在过程中 在过程中
模块
局部 局部、静态
11
中国药科大学 计算机教研室
2 、数组的上、下界
上、下界表示下标的最大、最小值; 下界≤上界;
Visual Basic 程序设计
在固定大小数组定义时,上、下界是常量或常量表达式,不 得是变量;
上、下界应是整数,若不是,则自动四舍五入。
举例: Dim m as integer Const n=5 as integer Dim a(n) as integer Dim b(1 to 6.6) as integer Dim c(1 to 2*3) as integer Dim d(0 to m) as integer
由数组名和该元素在数组中的编号(索引、下标)唯一确定, 下标是连续的整数。 数组元素的一般形式: 数组名(下标1[,下标2,…]) eg: a(0),a(1),a(2),a(3),a(4),b(0,0),b(0,1) 一维数组——只需一个下标即可唯一确定一个数组元素 多维数组——有两个或两个以上下标的数组,每个下标对应 一个“维”
注:利用一个数组来存储输入的一组相关信息,操作简洁、灵 活、方便,往往同循环结构结合使用
5
中国药科大学 计算机教研室
基本概念
Visual Basic 程序设计
前面所说的变量都是指简单变量,即一个变量名对应一 个存储单元,只能存储一个值,各个变量之间无关联。 本章我们要介绍的是一种下标变量——数组,是通过一 个数组名和下标的组合来表示多个值。用一个相同的名字引 用一组变量的数据。
4
中国药科大学 计算机教研室
举例
输入5名同学的年龄信息,存储并输出: 简单变量实现:
Visual Basic 程序设计
数组(下标变量)实现:
Private Sub Command1_Click() Option Base 1 Dim a%, b%, c%, d%, e% Private Sub Command1_Click() a = InputBox("输入年龄:", "年龄信息") Dim A(5) As Integer, i As Integer b = InputBox("输入年龄:", "年龄信息") For i = 1 To 5 定义数组 c = InputBox("输入年龄:", "年龄信息") A(i) = InputBox("输入年龄:", "年龄信息") d = InputBox("输入年龄:", "年龄信息") Next i e = InputBox("输入年龄:", "年龄信息") For i = 1 To 5 Print a; b; c; d; e Print A(i); End Sub Next i End Sub
A(0) A(1) A(2) A(3)
15
中国药科大学 计算机教研室
2 、二维数组的结构
Visual Basic 程序设计
例:Option base 1 Dim Y(3,4) as integer
Hale Waihona Puke Baidu
逻辑结构: Y(1,1),Y(1,2),Y(1,3),Y(1,4) Y(2,1),Y(2,2),Y(2,3),Y(2,4) Y(3,1),Y(3,2),Y(3,3),Y(3,4) 存储结构:
上界:UBound(数组名[,d]) 下界:LBound(数组名[,d]) 说明:d代表维数。省略时表示返回第一维的值。
举例:
Dim A(5) As Integer, B(2, 3 to 5) As Integer a1=LBound(A) a2=UBound(A) b1=LBound(B,1) 结果:0 5 0 3 2 5 b2=LBound(B,2) b3=UBound(B,1) b4=UBound(B,2) Print a1;a2;b1;b2;b3; b4
Visual Basic 程序设计
第六章 数组
授课教师:潘 蕾
E-Mail: olivelei2008@163.com
中国药科大学 计算机教研室
教学要求
掌握数组的定义和使用 掌握动态数组的定义和使用 掌握控件数组的建立和使用 掌握常用算法
Visual Basic 程序设计
2
中国药科大学 计算机教研室
布尔型数组元素初始值为“False”
变体类型数组元素初始值为“Empty”
13
中国药科大学 计算机教研室
4 、数组的大小
指数组中包含元素的个数
Visual Basic 程序设计
一维数组元素个数:上界-下界+1
二维数组元素个数: (上界1-下界1+1)*(上界2-下界2+1) 举例: Dim A(6) as integer Dim B(3,-1 to 4) as single A数组的大小=6-0+1=7 B数组的大小=(3-0+1)×(4-(-1)+1)=4×6=24
Private
Name(1999
to 2002)
as string
*8
数组元素分别为:name(1999) 、 name(2000)、 name(2002) , 用于保存长度为8的字符串数据。
name(2001)、
Dim
b(2,1 to 2)
as integer
数组元素分别为:b(0,1),b(0,2),b(1,1),b(1,2),b(2,1),b(2,2)
教学内容
6.1 6.2 6.3 6.4 6.5 数组的概念 数组的基本操作 动态数组 控件数组 程序示例
Visual Basic 程序设计
3
中国药科大学 计算机教研室
6.1
数组的概念
Visual Basic 程序设计
6.1.1 数组命名与数组元素 6.1.2 数组定义 6.1.3 数组的结构 6.1.4 数组函数及数组语句
“按列存放”(P87)
16
中国药科大学 计算机教研室
3 、三维数组的结构
Visual Basic 程序设计
行、列和页组成的三维表。 逻辑结构:见书P87 存储结构:“逐页逐列”
17
中国药科大学 计算机教研室
6.1.4
数组函数及数组语句
Visual Basic 程序设计
1、返回上、下界函数:
中国药科大学 计算机教研室
19
3、 For Each-Next 数组循环结构
格式: For Each Element In <数组名> 语句块 [Exit For] 语句块 Next [Element]
Visual Basic 程序设计
功能:依次(存储次序)处理每一个数组元数,直到数组结束。 说明: Element是Variant变量,它逐个地代表数组中的每一 个变量。
注意:全局数组、 全局符号常量和全局定长字符串只能在标准 模块中定义,而全局变量可以在窗体模块或标准模块中定义中国药科大学
10
计算机教研室
举例
Dim A(6) as integer
Visual Basic 程序设计
数组元素分别为:A(0)、A(1)、A(2)、A(3)、A(4)、A(5)、A(6),共7个