VB数组、结构与枚举VB编程.ppt

上传人:sh****n 文档编号:6439943 上传时间:2020-02-25 格式:PPT 页数:23 大小:288.81KB
返回 下载 相关 举报
VB数组、结构与枚举VB编程.ppt_第1页
第1页 / 共23页
VB数组、结构与枚举VB编程.ppt_第2页
第2页 / 共23页
VB数组、结构与枚举VB编程.ppt_第3页
第3页 / 共23页
点击查看更多>>
资源描述
前面已经介绍了VisualBasic2005的基本数据类型 但在实际的编程过程中 会发现仅仅使用这些数据类型是远远不够的 例如要处理100个同学的姓名 学号以及成绩 不难看出 使用基本变量是难以解决的 为此 VisualBasic2005引入了数组 结构和枚举等复合数据类型 第4章数组 结构与枚举 本章学习目标 1 掌握数组的概念 数组初始化的方法 2 熟练掌握静态数组和动态数组的概念和应用 3 掌握结构类型的定义方法以及如何声明和使用结构变量 4 理解枚举类型的定义方法 数组 计算机处理的数据各种各样 这些数据根据是否有序可以分为两类 1 无序性数据 仅与取值有关 与其所在的位置无关 2 有序性数据 不仅与取值有关 而且与其所在的位置有关 在程序设计中 利用简单变量可解决很多处理无序性数据的问题 但对于有序性数据 使用简单变量处理将是一件十分复杂的事 为此 需要引入功能更强的数据类型 数组 数组 将一组有序的 个数有限的 数据类型相同的数据组合作为一个整体 用一个统一的名字 数组名 来表示 这些有序数据的全体则称为一个数组 下面列举了几组可以与不可以构成数组的数据 1 2 3 4 5 6 7 8 可以构成数组 整型数组 A B C D E 可以构成数组 字符串型数组12 abc True 不可以构成数组 数据类型不一致 数组元素 下标 在同一数组中 构成该数组的数据称为数组元素 如在上面列举的几组数据中 1是第一个数组的元素 B 是第二个数组的元素 前面说过 VisualBasic2005中用一个统一的名字 数组名 来表示数组 如果要访问数组中的数组元素 就需要将数组名与下标结合起来 所谓 下标 就是指数组元素在该数组中的索引值 在VisualBasic2005中 数组元素的索引值是从0开始的 如 0 1 2 3 4 5 数组的类型 数组的类型是指构成数组的元素的数据类型 构成同一数组的所有数组元素的数据类型必须一致 它可以是任何的基本数据类型 如 整型 字符串型等 也可以是用户自定义类型 如结构 枚举等 数组的维数 数组中下标的个数称为数组的维数 如果数组中的所有元素 都能按行 或列 顺序排成一行 或一列 则只需要用一个下标便能标识其所在的位置 这样的数组称为一维数组 如 A B C D E 如果数组中的所有元素 能按行 列顺序排成一个矩阵 那就必须用两个下标来标识它们的位置 这样的数组称为二维数组 依次类推 需要3个下标的数组 称为三维数组 数组有多少个下标 就称为多少维数组 二维或以上维数的数组称为多维数组 但通常超过三维的数组就很少使用了 数组的形式 在VisualBasic2005中 根据数组元素的个数是否有限 分为两种形式的数组 1 静态数组 数组元素的个数固定不变 声明时指定元素的个数 静态数组通常用于处理那些元素个数相对稳定的数据 例如 对100个整型数据的排序 因为其元素个数固定为100 所以应当使用静态数组来解决 2 动态数组 数组元素的个数可以在运行时改变 声明时不指定元素的个数 动态数组通常用于处理那些元素个数需要改变的数据 例如 输入项数 对数列1 2 3 5 8 求和 因为其元素个数是随着用户的输入而改变的 所以应当使用动态数组来解决 数组的声明 声明一个数组的语法格式为 Dim As 说明 为必选项 它跟普通变量一样 必须遵循VisualBasic2005标识符规则 是可选项 表示数组的维数 如定义二维或二维以上的数组 下标与下标之间用逗号隔开 声明时下标值为数组元素下标的最大值 例如 声明一个10个元素的数组 其下标值应该为9 因为数组元素的下标从0开始 As 为可选项 表示数组的类型 如省略则为Object型 数组的初始化 给数组中的各个数组元素赋初值 称为数组的初始化 在VisualBasic2005中 可以在声明动态数组时给其初始化 如 声明一维动态单精度型数组Score 并初始化Dimscore AsSingle 90 0 85 5 68 0 52 5 76 0 声明二维动态整型数组b 并初始化 表示4 1 1小节中的矩阵Dimb AsInteger 1 2 3 4 2 3 4 5 3 4 5 6 声明一维动态字符串型数组letterStr 并初始化DimletterStr AsString A B C D E 数组元素的访问 数组声明以后 就可以通过数组元素在数组中对应的索引值 即下标 来访问 如上面声明的三个数组Score b LetterStr 以下列举几个访问其元素的例子 Score 2 表示数组Score中索引值为2的元素 即68 0b 1 2 表示数组b中第1 2索引值分别为1 2 即第二行第三列 的元素 即4LetterStr 3 表示数组LetterStr中索引值为3的元素 即 D 动态数组 在使用数组时 有时在程序设计阶段并不知道数组的大小 从而无法正确声明数组的大小 如果声明太小 则无法满足程序要求 如果声明太大 那么当然可以满足程序的要求 但运行时存放该数组的内存被长期占用 导致系统效率降低 当遇到这种情况时 就需要使用动态数组 因为动态数组允许程序员在程序运行的过程中根据需要改变数组的大小 ReDim语句 动态数组的声明在4 1 2节已经介绍过 这里将介绍如何利用ReDim语句分配实际的元素个数 ReDim语句的语法格式为 ReDim Preserve 说明 其中Preserve关键字为可选项 其作用是在重新声明数组时 在重新声明的数组中复制原数组中的元素 即仅改变数组的大小 不丢失原数据 若对多维数组使用Preserve关键字 则只能改变最后一维的大小 其他维不变 否则会发生错误 使用ReDim语句要注意以下几点 1 ReDim语句仅可以在过程级出现 但不可以在类或模块级代码区使用ReDim语句来重新声明数组 2 ReDim语句只是更改已被正式声明的数组的一个或多个维数的大小 不能更改该数组的维数 3 ReDim语句无法更改数组中元素的数据类型 和Dim语句声明数组的区别在于无法在ReDim语句中初始化重新声明的数组 4 可以多次地重定义数组大小 ReDim语句示例 DimweekStr AsString 星期一 星期二 星期三 ReDimPreserveweekStr 4 weekStr 3 星期四 weekStr 4 星期五 上述代码等价于 DimweekStr AsString 星期一 星期二 星期三 ReDimweekStr 4 weekStr 0 星期一 weekStr 1 星期二 weekStr 2 星期三 weekStr 3 星期四 weekStr 4 星期五 ForEach语句 ForEach Next语句是专用于数组和集合的循环语句 类似于For Next循环语句 通过ForEach Next语句 可以十分方便地访问数组中的每一个元素 其语法格式为 ForEachIn ExitFor Next 说明 代表数组中的每个元素 为数组名 没有小括号和维数 结构 结构是VisualBasic6 0中用户自定义类型的扩展 结构中除了字段外 还可以定义属性 方法和事件 对于每个成员可以定义不同的可访问性 一个结构可以实现一个或多个结构 当需要将一些相关联的信息保存在一起时就使用结构 例如 要知道一个学生的姓名 学号 性别 VB成绩等信息 就可以定义一个名为student的结构 包含这些不同的数据成员 这样比使用单独的变量存放这些信息要方便得多 结构的声明 声明结构的语法如下 Dim Public Private Friend StructureAs AsEndStructure结构中的成员可以是数组 也可以是结构 定义上述student结构如下 StructurestudentDimnameAsStringDimnoAsStringDimsexAsStringDimvbScoreAsSingleEndStructure 建立和使用结构变量 定义了结构后 可以像声明普通变量一样声明结构变量 如下面声明了一个student类型的变量liMing DimliMingAsstudent同样 结构也可以作为数组元素的数据类型 如 Dimstu 10 Asstudent 定义结构数组stu 数组大小为11声明了结构变量后 就可以访问其中某个字段 使用方法为 如 访问liMing的姓名的方法为 liMing name同理 stu 5 no表示结构数组stu的第六个学生的学号 stu 10 vbScore表示结构数组stu的最后一个学生的VB成绩 枚举 在编程中有时会遇见在一些固定的有限个元素中取其一的情况 比如一周七天中的一天 一年十二个月中的一月等 要说明这些数据 使用一般变量或是结构都不合适 在VisualBasic2005中定义了枚举类型来解决这类问题 枚举的声明 声明结构的语法如下 Public Private Protected Friend ProtectedFriend Enum As EndEnum说明 As 为可选项 必须为整型数值类型 即 Byte Short Long Integer 缺省情况下为 Integer 为可选项 可以在定义常量成员时指定一个初值 如不指定 系统默认第一个成员为0 第二个为1 依此类推 枚举其实就是一组相关的常量的集合 例如 可定义一个枚举来描述一周中的七天 它包含七个常量成员 每个成员代表一周中的一天 如下 PublicEnumweekDaysSaturdaySunday 0MondayTuesdayWednesdayThursdayFridayInvalid 1EndEnum上面的枚举中 Saturday是首个元素被默认为0 Sunday也被指定为0 因而Monday为1 Tuesday为2 无效日期为 1 使用枚举 定义了枚举后 可以声明枚举型变量使用它 如 DimmyDayAsweekDays请看下面的代码 DimmyDayAsweekDays weekDays Friday 定义枚举变量myDay并初始化IfmyDay weekDays SaturdayOrweekDays SundayThen 该条件等价于myDay 0MessageBox Show 双休日 ElseMessageBox Show 工作日 因为条件不成立 所以该语句被执行EndIf 小结 本章首先讨论了数组的概念 包括数组的定义 初始化 静态数组 动态数组等 然后介绍了针对数组和集合的循环语句ForEach Next的使用 接下来介绍了结构类型的概念 并通过实例讲述了结构类型数据的访问方法 最后介绍了枚举类型及其使用方法 重点及难点 1 数组的概念 数组初始化的方法 2 静态数组和动态数组的概念和应用 3 结构类型的定义方法以及如何声明和使用结构变量
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!