Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visual Basic程序设计 第七章 数组

Similar presentations


Presentation on theme: "Visual Basic程序设计 第七章 数组"— Presentation transcript:

1 Visual Basic程序设计 第七章 数组

2 数组 一组变量,名字相同,数据类型相同,用下标(索引-Index)来区分。例如: a(0),a(1),…,a(n)
两种类型的数组: 静态数组: 成员数量不变. 动态数组: 成员数量可变。

3 静态数组 定义(声明): Dim | Private | Public | Static _
数组名([下界 To ] 上界) [As 数据类型] 缺省的下界为 0 (或 1,如有 Option Base 1 ) 除Variant型外,数组内所有元素有相同类型。 例: Dim a(4) As Integer ‘含5个元素a(0),…,a(4) Dim s(10 To 20) As String ‘含11个元素 Dim b(3,2) ‘2维数组,变体型,4×3个元素

4 多维数组 Dim a%(3,4) ‘定义了1个二维数组 A(0,0) A(0,1) A(0,2) A(0,3) A(0,4) A(1,0)

5 数组的使用 数组元素与一般变量一样使用。 注意: 声明后初值为0(数值型)或空(字符型) 声明数组和引用数组元素时,都用圆括号括住下标。
下标值不能超过定义范围 数组与简单变量在同一范围内不能同名。

6 赋值 每个数组元素都是一个变量,一般应逐个赋值。例如: For i=0 to ubound(a) a(i)=i Next i
使用Array函数。例如: Dim a as variant ‘a是一个变体型变量 a=Array(1,3,6) ‘结果a成为数组,且:a(0)=1,a(1)=3,a(2)=6

7 与数组有关函数 Lbound(a) 数组a的下界 Ubound(a) 数组a的上界 Array(a1,a2,…) 创建一个数组
Split(A[,c]) A-String, c-Character

8 使用InputBox()函数输入 逐个输入:
For i=0 to a(i)=inputbox(“a(“ & i & “)=“) Next I 一次输入: Dim a as Variant,s as String s= inputbox(“输入数据,用逗号隔开”) a=split(s,”,”) for I=0 to ubound(a) print a(I) next i

9 动态数组(1) 创建动态数组的步骤: 声明动态数组,给数组附以一个空维数表,例如: Dim DynA ( ) as integer
用ReDim 语句在程序执行过程中给数组指定维数和分配实际的元素个数,例如: ReDim [Preserve] DynA (4 to 12) Preserve 保留数组内容。此时只能改变最后一维上界。

10 动态数组(2) 值得注意的是:ReDim 语句与 Dim 语句不同,ReDim 语句是一个可执行语句,通过在应用程序中执行ReDim 语句,给维数和元素个数待定的数组指定维数和元素个数。 在程序中还可以使用变量设置动态数组的边界。 例如: ReDim DynA (X, Y)

11 控件数组 一组控件,名字相同,类相同,用下标(索引-Index)来区分。 例如: Command1(0), Command1(1),…, Command1(n) Font

12 For Each...Next循环 语法格式: For Each <元素> In <集合> 语句块
For Each...Next 循环是以对象集合中的每一个元素作为重复依据的,如果不知道一个集合有多少元素, For Each...Next 循环非常有用。 语法格式: For Each <元素> In <集合> 语句块 Next <元素>

13 例:移动窗体中所有控件(Controls)
Private Sub form_Click() Dim ob1 As Object For Each ob1 In Controls ob1.Left = ob1.Left + 20 Next ob1 End Sub

14 数据排序(Sort) 冒泡排序(Buble Sort) 选择排序(Selection Sort) 插入排序(Insertion Sort)

15 数据查找 顺序查找 折半查找


Download ppt "Visual Basic程序设计 第七章 数组"

Similar presentations


Ads by Google