- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 的 数组
第5章 数组 本章的目标: 掌握数组的声明与使用 掌握数组的输入、输出、排序和求最值等基本操作 了解控件数组 掌握与数组相关的常用算法 5.1数组的相关概念 数组可以看作一群简单类型变量的集合。这群变量通过在统一的数组名后加一个下标来区分不同的元素。 在许多场合,使用数组的下标设计循环,可以高效处理多种情况。 数组使用的场合:当有大量数据需要存储和处理时。如,存储下面电子表格中的数据,可以使用若干数组。 例,姓名数组: 数组必须先显式声明后才能使用。 数组声明时需指明数组名、类型、维数和数组大小等。 维数是指数组下标的个数,VB中的数组最多可以有60维。 常用一维数组和二维数组,二维及以上维数的数组可以统称为多维数组。 5.2一维数组 一维数组是指只有一个下标的数组。 数组还可分为静态数组和动态数组。 静态数组始终保持同样的大小,而动态数组在运行时可以改变大小。 5.2.1 一维静态数组 声明一维静态数组的方法与声明一般变量类似,不同的是声明数组时,要在数组名后面加一对括号,括号里面用数字或“下界 to上界”的方式指明数组的大小。 形式如下: Dim 数组名([下界 to] 上界) [As 数据类型] 下标中的下界和上界是指下标的最小值和最大值,必须为常数,不可以是表达式或变量。 下界范围:[-2,147,483,648,2,147,483,647],若省略下界,则默认值为0。 一维数组的大小为:下界-上界+1。 若希望数组下标下界默认从1开始,可以在窗体的通用代码段或标准模块中添加代码:Option Base 1。 As 数据类型表明数组中各元素的类型,如果省略,则默认为变体(Variant)数组。在通常情况下,数组中的各元素类型必须相同,但若数组类型为Variant时,可包含不同类型的数据。 例: Dim a (10) As Integer Dim s (-2 to 4) as String*3 错误声明: n=10 Dim x (n) as single 错误原因: 静态数组声明中的下标不能是变量,只能是常量。 数组操作: 一般针对数组中的各个元素进行,多结合循环语句,通过引用数组的下标实现。 例: Dim a(9) As Integer 声明数组a For i = 0 To 9 a(i) = 2 * i + 1 给数组中元素赋值 Print a(i) 打印出数组中元素 Next i 区分Dim a(9) As Integer 与Print a(9)两条语句中的a(9) 前者指的是下标从0到9,具有10个元素的数组a的整体 后者指的是数组a中下标为9的单个元素。 使用Dim语句声明静态数组时,数组的下标必须为常量,但在引用数组中元素时,下标可以是变量或表达式。 “下标越界”错误: 指使用的数据元素下标不在定义的范围内,比如小于下标下界或大于下标上界。 例: Dim a(9) As Integer For i = 0 To 9 a(i) = 2 * i + 1 Next i Print a(i) ‘此时i=10,下标越界 使用Array函数对数组元素赋值 : 变量名=Array(常量列表) 功能:将常量列表的各项值分别赋值给一个一维数组的各元素。 变量名必须声明为Variant变体类型,并作为数组使用。 常量列表以逗号分隔,数组的上界和下界可通过LBound和UBound函数获得。 例如,下面程序段对数组a赋值,并显示出来。 Dim a, i% a = Array(1, 3, 5, 7, 11) For i = LBound(a) To UBound(a) Print a(i) Next i 5.2.2 一维动态数组 动态数组可以在任何时候改变大小。在Visual Basic 中,动态数组最灵活、最方便,有助于有效管理内存。 建立一维动态数组的方法: 首先用Dim语句声明括号内为空的数组, 然后在过程中用ReDim语句指明该数组的大小。 形式如下: Dim数组名()[As类型] … ReDim 数组名(下标) [As类型] 例如: Dim sArray() As Single Private Sub Form_Load() … n = Val(InputBox(输入n的值)) ReDim sArray(n) … End Sub 例5.1 编程输出斐波那契序列的前n个数,其中n在程序运行时由用户输入。 分析:斐波那契序列的特点是前2个数为1,其他元素是其前2个元素之和。要计算前n个数,可使用动态数组。 5.3 多维数组 多维数组指具有2个或更多下标
文档评论(0)