《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门课程的成绩,要求能够快速按学号查找到学生并显示学生信息。

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功