- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章节 数组与过程
第 5 章 数组与过程
学习内容
数组的概念
数组的基本操作
控件数组
Sub过程
Function过程
参数传递
可选参数与可变参数
对象参数
学习目标
了解数组的概念,熟练掌握数组的基本操作,掌握控件数组的概念和建立。掌握Sub过程和函数过
程的特点、创建方法及调用。
5.1 数组
在实际应用中,经常需要处理成批数据,为此,高级语言提供了数组。数组是一种非常有用的数
据结构,是有序数据的集合。与其他语言不同的是,在Visual Basic中,数组中的每个元素可以
是不同数据类型的数据。数组用于保存大量的、逻辑上有联系的数据。
数组有如下的特点:数据中的元素在类型上是一致的;数组元素在内存空间上是连续存放的;
数组元素的引用可通过下标进行 ;数组在使用前必须要定义(声明)。
5.1.1 一维数组的定义
数组必须先定义再使用,这与变量不同。定义数组后,为了使用数组,必须为数组开辟所需要的
内存区。根据内存区开辟时机的不同,可以把数组分为静态数组和动态数组。通常把需要在编译
时开辟内存区的数组叫做静态数组,而把需要在运行时开辟内存区的数组叫做动态数组。
静态数组和动态数组由其定义方式决定:用数值常量或符号常量作为下标的数组是静态数组,而
用变量作为下标的数组则为动态数组。
数组的定义也称为数组的声明。
定义格式:
Dim数组名([下界 To]上界) [As类型]。
几点说明:
(1)数组名可以是任何合法的Visual Basic变量名,与变量一样,也可以通过类型说明符来说明数
组的类型,例如:
Dim Data%(5):定义了包含六个整型元素的数组a。
(2)通过数组名和下标可引用数组中的元素,例,
Data(4)=95
Form1.Print Data(4)
(3)下标上下界必须为常数,不可以为表达式或变量,当不说明下标的下界时,默认为0,如果希望
下标从1开始,可以通过Option Base语句来设置,该语句只能出现在窗体层或标准模块层,格式
如下:
Option Base n(n的值只能是0或 1)
例如:
Option Basel
Dim arr(4):下标的范围是 l~4,该数组一共包含了四个元素;
Dim arr(-2 To 3):下标的范围是-2~3,该数组一共包含了六个元素。
(4)如果缺省了AS类型,则与变量一样,是变体数组。
(5)数组定义后的初值:数值型数组各元素为0,逻辑型数组各元素为False,字符串数组各元素为
空串()。
(6)可同时声明几个数组,用逗号分隔,例如
Dim A%(10 To 100), B(800) As Long
(7)定义数组时,下标的下界和上界值只能是常数或常数表达式。下例的定义是错误的:
N=100: Dim Data(N) As Integer
(8)定义时,数组的上界值不得超出长整型范围,且数组的上界值不得小于下界值。
(9)与变量定义一样,除了可以用Dim来定义数组外,还可以使用Public、Static来定义数组,适
用的范围和作用与变量相似,例如:
Public a(9):用在标准模块中,定义了全局数组 a;
Static b(10):用在过程中,定义了 Static数组 b。
(10)数组的元素个数称为数组长度。
(11)数组实际上是用一个变量名字代表一组数,这组数是连续排列的,用顺序号作为下标区分各
个数。
(12)数组下标是一个整型量,如果有小数则自动按四舍五入取整。例如,Data(3.4)=3,而
Data(3.5)=2。
(13)数组常见的错误:下标出界。例如,
Dim Test(3)
Test(1)=1
Test(2)=2
Test(3)=3
Test(4)=4 ‘超出定义, 下标出界。
5.1.2 一维数组的应用
例5-1 输出斐波那契级数的前20项。
斐波那契级数是指前两项为1,从第三项开始的各项,均为前两项的和。程序如下:
Private Sub Form_Click()
Dim F(20) As Integer, I As Integer
F(1) = 1 : F(2) = 1 第一、第二项为1
For I = 3 To 20 第三项起每项为前二项之和
F(I) = F(I - 2) + F(I - 1)
Next I
For I = 1 To 20 在窗体上输出
Print F(I);
If I Mod 5 = 0 Then Print ‘每行输出5个
您可能关注的文档
- 第2章节 超文本标记语言.ppt
- 第2章节 运作协调与激励.ppt
- 第2章节 计划20110301.ppt
- 第2章节-网络攻击与防范.ppt
- 第2章节-递归与分治策略-习题与实验.ppt
- 第2章节+代理法.ppt
- 第2章节-递归与分治策略.ppt
- 第2章节 桩基础工程1.ppt
- 第2章节 用电子计数器测量频率和时间参数.ppt
- 第2章节 安装Linux操作系统.ppt
- 师缘主题课件最新完整版本.pptx
- 基于偏好MOEA_D算法的气发动机多目标优化标定研究.pdf
- 师范技能课件比赛一等奖最新完整版本.pptx
- 师范生初中美术说课课件最新完整版本.pptx
- 师范技能课件图片素材库最新完整版本.pptx
- Unit 2 Making a Difference Understanding ideas The Well that changed the world 教学设计-高中英语外研版(2019)必修第三册.docx
- 师范生技能大赛PPT课件语文最新完整版本.pptx
- 基于扭矩的双燃料发动机控制策略研究.pdf
- 1.2.1 等差数列的概念及其通项公式(教学设计)高二数学(北师大版2019选择性必修第二册).docx
- 师范文化课件最新完整版本.pptx
文档评论(0)