- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
六章习题答案
第 6 章 数组
一、叙述题
1.数组在使用之前为什么要先声明?声明语句中一般包含哪些项?
解答:数组必须先声明后使用,声明数组的目的就是指定其数组名、数据类型、数组的维数和数组的大小,系统根据声明为其分配存储空间。声明语句中一般包含数组的使用范围、数组名、数组的维数和数组的数据类型。
2.数组声明语句声明数组的同时,对数组元素的值进行了怎样的初始化?
解答:数值型的数组元素初始化为0,变长字符类型的数组元素初始化为空串,定长字符类型的数组元素初始化为指定长度个数的空格,布尔型的数组元素初始化为False,变体(Variant)类型的数组元素初始化为Empty。
3.通常数组的下界默认为0,用什么语句可以重新定义数组的下界?
解答:有两种方法:一是数组的下标采用“下界 To 上界”的方式,二是使用Option Base语句。
4.程序运行时,哪些情况下会出现“下标越界”的错误?
解答:引用静态数组元素时,其下标的值不能超出数组声明中相应的下界或上界,否则产生“下标越界”的错误。
动态数组使用中,使用Preserve选项后只能改变最后一维的上界,如果改变了其它维的上、下界或最后一维的下界,运行时都会出现“下标越界”的错误。
5.动态数组使用中应注意哪些事项?
解答:
(1)ReDim语句只能在过程中使用。任何时候,在使用ReDim语句时,都不能改变数组的数据类型。
(2)使用ReDim语句重新声明动态数组时,下标中可以出现变量,也就是说,可以使用变量作为下标值。
(3)在过程中可以多次使用ReDim语句改变数组的大小,也可以改变数组的维数。
(4)未使用Dim语句声明一个数组时,过程中的ReDim语句会直接声明一个数组。但这种使用只能再次改变数组的大小,不能改变数组的维数。
(5)每次使用ReDim语句都会使原来数组中的值丢失,解决的方法是在ReDim语句中使用Preserve选项,该选项用来保留数组中的数据。但使用Preserve选项后只能改变最后一维的上界,如果改变了其它维的上、下界或最后一维的下界,运行时都会出现“下标越界”的错误。
二、单选题
1.A 在窗体模块的通用声明处不允许用Public声明一个数组、定长字符串变量、常???。
2.D ReDim语句只能在过程中使用,Const前只能搭配Public与Private。
3.B Static只能在过程中使用。
4.C (5 – 2 + 1) × (2 – (-3) + 1) = 4×6 = 24(个数组元素)
5.C 静态数组在声明时下标不能用变量。
6.D
7.A Index从0开始。
8.A
9.C
10.B Erase语句释放动态数组所占据的存储空间,初始化静态数组的元素值。
11.A 数组必须先声明后使用。
12.C
13.D
14.C
15.D
16.B
17.C
18.B
19.D 每次使用ReDim语句都会使原来数组中的值丢失,解决的方法是在ReDim语句中使用Preserve选项,该选项用来保留数组中的数据。
20.A
21.B
三、编程及上机调试
1.编写程序,随机生成一个包含10个元素的一维数组,然后将其前5个元素与后5个元素对换,即,第1个元素与第10个元素对换,第2个元素与第9个元素对换,…,第5个元素与第6个元素对换。分别输出数组原来各元素的值和对换后各元素的值。
【分析】根据题意共有10个元素,两两交换,只需交换5次即可。
【程序代码】
Option Base 1
Private Sub Form_Click()
Dim a(10) As Integer
Dim i As Integer, t As Integer
Randomize
Print 数组的原始数据为:;
For i = 1 To 10
a(i) = Int(90 * Rnd) + 10
Print a(i);
Next i
Print
For i = 1 To 5
t = a(i)
a(i) = a(11 - i)
a(11 - i) = t
Next i
Print 交换后数组数据为:;
For i = 1 To 10
Print a(i);
Next i
End Sub
2.编写程序,生成一个4行5列的二维数组,找出其中最大的那个元素所在的行和列,并输出其值及行号和列号。
【分析】首先将第1行、第1列的元素作为最大值,依次将其与其它所有元素进行比较,遇到大者,保存其所在位置即可。
【程序代码】
Option Base 1
Private Sub Form_Clic
文档评论(0)