第四章和第七章.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 数组 4.1应用实例及分析 引例 要求输入10位同学的英语成绩,将高于平均分的成绩输出。 分析:根据之前所学到的知识,编写程序如下: Dim i As Integer Dim ave As Single ave = 0 For i = 1 To 10 a = InputBox(请输入第 i 个同学的成绩) ave = ave + a Next i ave = ave / 10 这段程序可以实现的功能是求出10个同学的平均成绩,却无法将高出平均分的成绩输出。因为每次输入的成绩都赋给了变量a,当输入第2个同学的成绩时,第1个同学的成绩会被覆盖;当输入第3个同学的成绩时,第2个同学的成绩又会被覆盖,这样在依次输入10个学生的成绩后,变量a里面存放的只是最后一个同学的成绩,其他同学的成绩都没有被保留下来。如果想求出题中要求的结果,就需要声明10个变量来分别存放10个同学的成绩,再和平均分比较,找出高于平均分的成绩。用这种方法,虽然可以达到题目的要求,但这10个变量没有规律,不能够利用循环语句来赋值、计算和输出,会使程序代码很冗长;如果需要输入的成绩不是10个,而是1000个、10000个,那么不管是声明变量还是计算都会非常的繁琐。 本章中提供了一种解决这类问题的好办法,就是利用数组。本例利用数组来求解,编写程序如下: Private Sub Form_Click() Dim i As Integer Dim a(1 To 10) As Single Dim ave As Single ave = 0 利用循环语句为一维数组赋值 For i = 1 To 10 a(i) = InputBox(请输入第 i 个同学的成绩) Next i 求平均分 For i = 1 To 10 ave = ave + a(i) Next i ave = ave / 10 打印大于平均分的成绩 For i = 1 To 10 If a(i) ave Then Print a(i) End If Next i End Sub 说明:上述程序中利用语句Dim a(1 To 10) As Single声明了10个变量a(1)、a(2)、a(3)…a(10),来保存10个同学的英语成绩。这10个变量是有规律的(括号中的数值依次递增),可以利用循环语句来赋值、计算和输出;如果需要输入的成绩是10000个,只需要将声明语句改为Dim a(1 To 10000) As Single,并且改变循环语句的终值即可。 4.2数组的概念及声明 4.2.1数组的概念 数组是具有相同类型的多个数据的集合,这些数据在内存中是连续存储的,它们具有相同的名字、相同的类型,但是具有不同的下标,下标是区分数组中各个元素的关键。数组并不是一种新的数据类型,而是一种数据的组织结构,使用数组之前一定要先声明。 按照声明时能否确定数组的大小,可将数组分为两类:一类是静态数组,这类数组在声明时就确定了数组的大小,在程序的运行过程中,数组的大小始终保持不变;另一类是动态数组,这类数组在声明时没有确定数组的大小,在程序的运行过程中,可以根据需要确定数组的大小,动态数组的大小是可以多次改变的。 4.2.2静态数组声明 静态数组在声明时必须确定数组的大小。 静态数组声明的语法格式: Dim 数组名(下标1,下标2,…下标n)[As 数组类型] 说明: (1)数组下标的个数决定数组的维数,多个下标之间用逗号间隔。数组只有一个下标,叫做一维数组;有两个下标,叫做二维数组,依此类推,数组最大维数是60维 (2)下标必须为整型常数,格式为:[下界 To ] 上界,要求下界≤上界,如下界缺省,则默认为0 (3)Option Base语句可以设置默认下界为1或0,格式为:Option Base 1/0,该语句必须写在窗体或模块的所有过程之前。 (4)数组每一维的大小:上界-下界+1 (5)多维数组的大小等于每一维大小的乘积 (6)[As 数组类型]可以省略,若省略,则声明的数组为变体型数组 例如: Dim a(1 to 5) as Integer 定义了一个一维数组,数组a的下界为1,上界为5,数组的大小为:5-1+1=5。数组在内存中是连续存储的,如图4-2-1所示。 a(1) a(2) a(3) a(4) a(5) 图4-2-1 又如: Dim a(2,3) as Integer 定义了一个二维数组,因为每一维的下界都缺省,所以默认为0,上述的声明语句等同于Dim a(0 to 2,0 to 3) as Integer 数组a第一维的上界为2、下界为0,大小为:2-0+1=3;第二维的上界为3、下界为0,大小为:3-0+1=4,该二维数组的大小为3×4=12。在内存中的存

文档评论(0)

mv2323 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档