您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 《VB2005程序设计实例教程》-PPT第3章
1第3章复合数据类型2第3章复合数据类型本章内容数组枚举结构集合本章重点一维数组的使用结构的创建和使用本章学习目标掌握数组的创建和使用掌握枚举的创建和使用掌握结构的创建和使用了解集合的创建和使用3第3章复合数据类型3.1数组3.2枚举3.3结构3.4集合3.5本章小结3.6实训作业43.1数组1.一维数组数组是一组具有相同类型和名称的变量的集合,组成数组的这些变量称为数组元素,特殊的变量。每个数组元素都有一个编号,这个编号称为数组的下标(或索引值),可以通过这数组名和下标来区别和访问数组元素。数组元素的下标是从0开始的,最后一个数组元素的下标为数组元素的个数减1,例如整形数组a的第一个元素为a[0]。数组元素的个数称为数组的长度。一维数组是指使用一个下标来区分数组中各元素的数组。一维数组是简单的数组也是最常用的数组。53.1数组1.一维数组(1)声明数组在使用数组前,必须先声明。数组的声明和其他变量的声明相似,能够声明变量的语句都可以用来声明数组。下面主要以Dim语句为主介绍数组的声明。声明一维数组的语法格式如下:Dim数组名(下标)As数据类型语法说明:数组的命名规则与变量命名规则相同;数组的下标只能是常量,不可为表达式或变量;数据类型如果省略,默认为Object类型;数组的默认下标是0,且不可改变。例如:Dima(9)asInteger‘声明了一个名称为a的数组,共有10个元素。63.1数组1.一维数组(2)初始化数组在声明并创建数组后,数组的值均为该元素数据类型的默认初始值。例如:dima(9)AsInteger数组a中的10个数组元素的值均为0。在声明数组时,也可以将初始值直接括在大括号{}内来初始化数组元素,语法格式如下:Dim数组名()As数据类型={值1,值2,值3,…,值n}在声明数组时,数组会根据声明时大括号中元素的个数自动确定数组元素的个数,数组元素的值为括号中列出的值。例如:Dimmark()AsInteger={80,82,75,90,86}该语句定义了一个Integer类型的一维数组mark。数组有5个初值,因此,数组有5个数组元素,数组元素及对应值依次为:mark(0)=80:mark(1)=82:mark(2)=75:mark(3)=90:mark(4)=8673.1数组1.一维数组(3)使用数组使用数组时,数组的元素是由下标(索引)来区分的。对于一个已经声明过的数组,就可以通过下标来访问。如:a(1)=10如果存取一个不存在的数组元素就会产生错误。如:Dima(4)AsLong:a(10)=10将会抛出一个“索引超出了数组界限”的异常。【例3-1】求五位同学的VB2005程序设计课程的总成绩及平均成绩。问题分析:存储5位同学的一门课程成绩可以使用Single类型的一维数组实现,首先求出5位同学成绩的总和,然后再求其平均值。83.1数组2.二维数组数组可以是一维数组,也可以是二维或多维数组。二维数组和多维数组是编程时经常用到的数组。维数是数组下标的个数,通过多个下标值可以声明多维数组和使用多维数组。本部分主要讲解二维数组的声明、初始化和使用。(1)二维数组及多维数组的声明声明多维数组的语法格式如下:Dim数组名(下标1[,下标2…])As数据类型说明:()中的逗号“,”用来隔开数组的每一维;其他格式要求与一维数组相同。例如:Dima(1,2)AsInteger该语句声明了一个2维整型数组,该数组第一维有2个元素,第二维有3元素,共有6个元素,数组元素依次为:a(0,0)a(0,1)a(0,2)a(1,0)a(1,1)a(1,2)93.1数组2.二维数组(2)二维数组的初始化同一维数组一样,也可以在声明二维数组时对其赋初值进行初始化。同一维数组比较,二维数组初始化较为复杂,其语法格式如下:Dim数组名(,)As数据类型={{第1行值},{第2行值},{第3行值},…,{第n行值}}例如:Dimscore(,)Asinteger={{78,76,87},{89,98,78},{98,68,77}}该语句声明了一个3行3列的整型二维数组,score数组元素从前到后的顺序为:score(0,0)=78score(0,1)=76score(0,2)=87score(1,0)=89score(1,1)=98score(1,2)=78score(2,0)=98score(2,1)=68score(2,2)=77103.1数组3.动态数组在事先不能确定数组大小时,可以声明该数组为动态数组,在程序中需要时再指定数组的大小,从而使程序更具有灵活性。在声明数组时,如不指定数组的大小即可创建一个动态数组,如:Dima()AsSingle使用ReDim语句重新定义一个数组时,需要注意以下几点:所有的数组都可以使用ReDim语句来重新定义数组的大小。使用ReDim语句重新定义数组时,不能改变数组的数据类型。使用ReDim语句重新定义数组时,也不能改变数组的维数使用ReDim语句重新定义数组时,数组原有的数据常会丢失。如果不希望失去数组中原有的数据,可在ReDim语句中使用Preserve关键字来保留数组中的数据。113.1数组4.数组与Array类所有的数组都是从System命名空间的Array类继承而来,可以在任何数组上访问System.Array的方法和属性。(1)Array类的Length属性通过Array类的Length属性可获取数组中所有元素的总数。演示示例(2)Array类的Sort()方法该方法是Array类的共享方法,共享方法在使用时可以通过“类名.方法名”来使用,sort方法的作用是对一维数组中的元素进行排序。sort方法的语法格式如下:Array.sort(a)【例3-8】利用Array类的Sort方法对数据进行排序。123.1数组4.数组与Array类(3)Array类的BinarySearch()方法在数组中查找元素是非常重要的一种操作,从整个数组中查找与给定值相同的数组元素的任务,可以用BinarySearch方法来实现。BinarySearch方法使用二进制算法在已排序的一维数组中查找,注意是已经排序的一维数组,找到给定的值后返回元素的下标,否则返回负数。BinarySearch()方法的使用格式如下:Array.BinarySearch(数组名,待查找值);【例3-9】利用BinarySearch()方法查找在一维数组中查找给定值。133.2枚举枚举(Enumerate)是从System.Enum类继承而来,为基础类型(如有符号整型和无符号整型)提供替代名称,是用户自定义的值类型。(1)声明枚举声明枚举类型必须使用enum关键字,语法格式如下:Enum枚举名枚举成员名称1:枚举成员名称2:……Endenum说明:枚举成员的枚举值都默认为整型,且第一个成员的值默认为0,其他成员依次增加1,也可以单独指定值.例如定义一个gameInfo枚举类型::EnumgameInfotiewinlost=-1Endenum143.2枚举(2)引用枚举声明枚举后,即可在程序代码中通过枚举名引用该枚举中的成员,例如例3-11中的引用。也可以通过枚举型变量来访问枚举成员。下面是一个通过枚举变量引用枚举成员的例子。举例演示【例3-11】153.3结构结构也称为自定义数据类型,一般由一个或多个基本数据类型组成。将数据类型相同或不同的一组相关变量组合在一起构成了结构。声明枚举后,可以通过枚举型变量来访问枚举成员。(1)结构的声明结构类型必须先声明后使用,声明结构类型的语法格式如下:Structure结构名称结构成员定义EndStructure例如:定义一个名为Student的结构类型,其中包括几个相关的成员变量:name、sex、age。PublicStructureStudentDimSnameAsStringDimSexAsStringDimAgeAsIntegerEndStructure163.3结构(2)结构成员的访问声明结构变量的语法如下:[Dim|Public|Private|Friend]变量名称As结构名例如:DimzhangsanAsStudent该语句声明一个学生结构变量zhangsan。(3)为成员变量赋值使用结构变量,需要对结构变量中的成员赋值,不能直接对结构变量本身赋值。为结构成员赋值的语法格式为:结构变量名.成员名=表达式例如,对已声明的zhangsan变量的成员赋值:zhangsan.Sname=张三zhangsan.Sex=男zhangsan.Age=20173.3结构(4)输出成员变量内容可以直接访问结构变量的成员,其语法格式为:结构变量名.成员名例如,如在标签中显示结构变量zhangsan中的成员Sname,代码如下:Label1.Text=zhangsan.Sname(5)结构变量运算结构中的变量具有各种类型,它们可以象普通变量一样参加运算。例如,如在标签中分行显示结构变量zhangsan的详细信息,代码如下:Label1.Text=姓名:&zhangsan.Sname&Chr(13)&性别:&zhangsan.Sex&Chr(13)&年龄:&zhangsan.Age183.4集合集合(Collection)也是一种复合的数据类型,它可以用来存放一组不同类型的数据。它有自己的一些方法,可以方便地实现集合元素的添加、移除、清空等操作。(1)创建集合使用集合前,需要创建集合。创建集合需要使用New关键字,其语法格式如下:Dim集合名称AsNewCollection例如,创建一个student集合,代码如下:DimstudentAsNewCollection(2)使用集合创建集合后,就可以使用集合的方法来操作集合元素了。VB2005提供了3个方法和1个属性对集合进行操作,它们是:Add方法:向集合中添加数据项。Item方法:引用集合中的数据项。Remove方法:删除集合中的数据项。Count属性:返回集合中元素的个数。(3)例题演示193.5本章小结本章主要介绍了数组、枚举、结构和集合的内容。如果需要很多同种数据类型的变量,为简化代码可以通过定义数组的方式来解决。数组定义要求必须有数据类型、数组名、数组的维数和数组的上下界。对一维数组中的数据,可通过Array类的Sort()方法容易地实现升序排序和查找操作。如果事先不能确定数组的大小,可将数组动态声明。除了VB2005给定的数据类型外,还可以根据需要自定义结构数据类型,结构类型是把各种不同数据类型信息组合在一起形成的组合类型,使用结构类型可以方便的存储多条不同类型的数据,极大地方便了对大量信息的管理。要熟悉结构的定义和引用,注意与类的区别。枚举类型是一种用符号代表数据的值类型。枚举类型的定义类似于结构,定义的关键字为Enum,枚举成员可以采用默认赋值,用户也可以赋自定义值;枚举成员的访问可以用通过枚举变量,也可以通过枚举名来访问;既可以取得枚举成员的名称,也可以访问枚举成员的值。枚举类型给编码和程序的阅读带来很大的方便。203.6实训作业实训3VB2005基本语法练习(2)实训目的:1.掌握数组、结构的使用。实训内容:1.建立成绩排序应用程序。2.建立一个能够存储5位学生信息的结构,结构能够保存学生学号、姓名、出生年月和5门课程的成绩,要求能够快速按学号查找到学生并显示学生信息。
本文标题:《VB2005程序设计实例教程》-PPT第3章
链接地址:https://www.777doc.com/doc-4004698 .html