Visual basic程序设计 第七章数组 万博科技职业学院
Visual Basic程序设计 第七章 数组 万博科技职业学院
博科技职业 nbo Inst, Of Since& Te 院 数组 组变量,名字相同,数据类型相同,用下标 (索引- Index)来区分。例如 a(0),a(1) a(n 称为数组a的成员(元素、下标变量) >两种类型的数组: 静态数组:成员数量不变 程序设计 动态数组:成员数量可变
■ Visual BASIC 程 序 设 计 万 博 科 技 职 业 学 院 Wanbo Inst. Of Since & Tech. 数组 ➢ 一组变量,名字相同,数据类型相同,用下标 (索引-Index)来区分。例如: a(0),a(1),…,a(n) 称为数组a的成员(元素、下标变量) ➢ 两种类型的数组: ❖静态数组: 成员数量不变. ❖动态数组: 成员数量可变
博科技职业 nbo Inst, Of Since& Te 院 静态数组 定义(声明): Dim Private public static 数组名([下界To]上界)[As数据类型 >缺省的下界为0(或1,如有 Option Base1)吕 除 Variant型外,数组内所有元素有相同类型。 例 程序设 Dima(4) As Integer‘含5个元素a(0),a(4)计 DimS(10To20) As String‘含11个元素 Dimb(3,2)“2维数组,变体型,4×3个元素
■ Visual BASIC 程 序 设 计 万 博 科 技 职 业 学 院 Wanbo Inst. Of Since & Tech. 静态数组 ➢ 定义(声明): 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个元素
博科技职业 nbo Inst, Of Since& Te 院 多维数组 Dima%(34)“定义了1个二维数组 A(.)A(O,1)A(0,2)A(0,3)A(0.4) A(10)A(1,1)A(12)A(13)A(1,4) 程 序 A(2.0)A(21)A(2,2)A(2,3)A(24) 计 A(30)A(31)A(3,2)A(33)A(34
■ Visual BASIC 程 序 设 计 万 博 科 技 职 业 学 院 Wanbo Inst. Of Since & Tech. 多维数组 Dim a%(3,4) ‘定义了1个二维数组 A(0,0) A(0,1) A(0,2) A(0,3) A(0,4) A(1,0) A(1,1) A(1,2) A(1,3) A(1,4) A(2,0) A(2,1) A(2,2) A(2,3) A(2,4) A(3,0) A(3,1) A(3,2) A(3,3) A(3,4)
博科技职业 nbo Inst, Of Since& Te 院 数组的使用 ■数组元素与一般变量一样使用 汪 声明后初值为0(数值型)或空(字符型) 声明数组和引用数组元素时,都用圆括号括程 住下标。 序 下标值不能超过定义范围 计 数组与简单变量在同一范围内不能同名
■ Visual BASIC 程 序 设 计 万 博 科 技 职 业 学 院 Wanbo Inst. Of Since & Tech. 数组的使用 ◼ 数组元素与一般变量一样使用。 ◼ 注意: – 声明后初值为0(数值型)或空(字符型) – 声明数组和引用数组元素时,都用圆括号括 住下标。 – 下标值不能超过定义范围 – 数组与简单变量在同一范围内不能同名
博科技职业 nbo Inst, Of Since& Te 院 赋值 每个数组元素都是一个变量,一般应逐个副 赋值。例如: For i=0 to ubound(a) a()=i Next i 使用Aay函数。例如: 程序设 Dim a as variant ' a是一个变体型变量番 a=Aray(1,3,6) 结果a成为数组,且:a(0)=1,a(1)=3a(2)=6
■ Visual BASIC 程 序 设 计 万 博 科 技 职 业 学 院 Wanbo Inst. Of Since & Tech. 赋值 ◼ 每个数组元素都是一个变量,一般应逐个 赋值。例如: 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
博科技 nbo Inst. Of 。业学。院 与数组有关函数 ■ Lbound(a)数组a的下界 Ubound(a)数组a的上界 a Array(al, a2 创建一个数组 各元素初值为al,a2 Split(alcd A-string, C-Character 程序设计
■ Visual BASIC 程 序 设 计 万 博 科 技 职 业 学 院 Wanbo Inst. Of Since & Tech. 与数组有关函数 ◼ Lbound(a) 数组a的下界 ◼ Ubound(a) 数组a的上界 ◼ Array(a1,a2,…) 创建一个数组 各元素初值为a1,a2,.. ◼ Split(A[,c]) A-String, c-Character
磊使用 putBoxO函数输入 技职业 逐个输入 For i=0 to 5 a()-= inputbox(“a(“&i&“)=) Next 次输入: Dim a as Variant, s as String s= inputbox(“输入数据,用逗号隔开” a=split(s, 程序设计 for I=0 to ubound(a) print a() next
■ Visual BASIC 程 序 设 计 万 博 科 技 职 业 学 院 Wanbo Inst. Of Since & Tech. 使用InputBox()函数输入 ◼ 逐个输入: For i=0 to 5 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
博科技职业 nbo Inst, Of Since& Te 院 力态数组(1) 创建动态数组的步骤: 1.声明动态数组,给数组附以一个空维数表, 例如: Dim dynA() as integer 2.用 ReDim语句在程序执行过程中给数组指定 维数和分配实际的元素个数,例如: ReDim preserve dyna (4 to 12) 程序设计 3. Preserve保留数组内容。此时只能改变最后 维上界
■ Visual BASIC 程 序 设 计 万 博 科 技 职 业 学 院 Wanbo Inst. Of Since & Tech. 动态数组(1) 创建动态数组的步骤: 1. 声明动态数组,给数组附以一个空维数表, 例如: Dim DynA ( ) as integer 2. 用ReDim 语句在程序执行过程中给数组指定 维数和分配实际的元素个数,例如: ReDim [Preserve] DynA (4 to 12) 3. Preserve 保留数组内容。此时只能改变最后 一维上界
博科技职业 nbo Inst, Of Since& Te 院 力态数组(2) 值得注意的是: Redi语句与Dim语句不 同, ReDim语句是一个可执行语句,通过在 应用程序中执行 ReDim语句,给维数和元素 个数待定的数组指定维数和元素个数。 在程序中还可以使用变量设置动态数组的程 边界。 序 计 例如 ReDim dynA (x,Y)
■ Visual BASIC 程 序 设 计 万 博 科 技 职 业 学 院 Wanbo Inst. Of Since & Tech. 动态数组(2) 值得注意的是:ReDim 语句与 Dim 语句不 同,ReDim 语句是一个可执行语句,通过在 应用程序中执行ReDim 语句,给维数和元素 个数待定的数组指定维数和元素个数。 在程序中还可以使用变量设置动态数组的 边界。 例如: ReDim DynA (X, Y)