1、国家二级 VB 机试(数组)模拟试卷 6 及答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:48,分数:96.00)1.假定建立了一个名为 Command1 的命令按钮数组,则以下说法中错误的是(分数:2.00)A.数组中每个命令按钮的名称(Name 属性)均为 Command1B.数组中每个命令按钮的标题(Caption 属性)都一样C.数组中所有命令按钮可以使用同一个事件过程D.用名称 Command1(下标)可以访问数组中的每个命令按钮2.列表框中的项目保存在一个数组中,这个数组的名字是(分数:2.00)A.ColumnB.StyleC.ListD.MultiSel
2、ect3.下面的语句用 Array 函数为数组变量 a 的各种元素赋值整数值:(分数:2.00)A.Dim aB.Dim a As IntegerC.Dim a(9)As IntegerD.Dim a()As Integer4.以下数组定义语句中,错误的是(分数:2.00)A.Static a(10)As IntegerB.Dim c(3,1 To 4)C.Dim d(-10)D.Dim b(0 To 5,1 To 3)As Integer5.语句 Dim a(-3 To 4,3 To 6)As Integer 定义的数组的元素个数是(分数:2.00)A.18B.28C.21D.326.下面正
3、确使用动态数组的是(分数:2.00)A.Dim arr()As IntegerReDim arr(3,5)B.Dim arr() As IntegerReDim arr(50)As StringC.Dim arr()ReDim arr(50)As IntegerD.Dim arr(50)As IntegerReDim arr(20)7.设有如下数组定义语句:Dim a(1 To 4,3)As Integer 以下叙述中正确的是(分数:2.00)A.a 数组有 18 个数组元素B.a 数组有 20 个数组元素C.a 数组有 24 个数组元素D.语法有错8.语句 Dim Art(-2 To 4)A
4、s Integer 所定义的数组的元素个数为(分数:2.00)A.7 个B.6 个C.5 个D.4 个9.下列数组定义中错误的是(分数:2.00)A.Dim a(-5 To-3)B.Dim a(3 To 5)C.Dim a(-3 To -5)D.Dim a(-3 To 3)10.以下关于数组的叙述中,错误的是(分数:2.00)A.Variant 类型的数组中各数组元素的类型可以不同B.各数组元素可以是不同类型的控件C.各数组元素通过下标进行区别D.各数组元素具有相同的名称11.设有如下声明语句 Option Base 1Dim art(2,-1 To 5)As Integer 则数组 air
5、中数组元素的个数是(分数:2.00)A.10B.12C.14D.2112.以下叙述中错误的是(分数:2.00)A.用 ReDim 语句可以改变数组的维数B.用 ReDim 语句可以改变数组的类型C.用 ReDim 语句可以改变数组每一维的大小D.用 ReDim 语句可以对数组中的所有元素置 0 或空字符串13.设有下面的程序段:x=InputBox(“请输入一个整数“)ReDim a(x)For k=X To 0 Step-1 a(k)=kNext k一般,在这段程序之前应先进行数组 a 的定义。下面定义语句中正确的是(分数:2.00)A.Dim a(100)As IntegerB.Dim a
6、O As IntegerC.Dim a As IntegerD.Dim a(0 To 100)As Integer14.如果要在语句:a=Array(1,2,3,4,5)的前面声明变量,则正确的声明是(分数:2.00)A.Dim a(4)As IntegerB.Dim a(5)As VariantC.Dim a(1 To 5)As IntegerD.Dim a As Variant15.设有如下一段程序:Private Sub Commandl_Click()Static a As Variant a=Array(“one“,“two“,“three“,“four“,“five“)Print
7、a(3) End Sub 针对上述事件过程,以下叙述中正确的是(分数:2.00)A.变量声明语句有错,应改为 Static a(5)As VariantB.变量声明语句有错,应改为 Static aC.可以正常运行,在窗体上显示 threeD.可以正常运行,在窗体上显示 four16.在窗体上画一个命令按钮(其 Name 属性为 Commandl),然后编写如下代码: Private Sub Commandl_Click() Dim n0 As Integer:Dim a,b As Integer a=InputBox(“Enter the first number“) b=InputBox(
8、“Enter the second number“) ReDim n(a To b) For k=LBound(n)To UBound(n) n(k)=k Print n(k); Next k End Sub 程序运行后,单击命令按钮,在输入对话框中分别输入 2 和 3,输出结果为(分数:2.00)A.1 2B.2 3C.3 4D.4 517.1 个二维数组可以存放 1 个矩阵,在程序开始有语句 Option Base(),则下面定义的数组中正好可以存放 1 个 4(3 矩阵(即只有 12 个元素)的是(分数:2.00)A.Dim a(2 To 0,2)As IntegerB.Dim a(3,
9、2)As IntegerC.Dim a(4,3)As IntegerD.Dim a(1,To 4,1 To3)As Integer18.默认情况下,下面声明的数组的元素个数是 Dim a(5,2 To 2)(分数:2.00)A.20B.24C.25D.3019.设程序中有如下数组定义和过程调用语句:Dim a(10)As IntegerCall p(a)如下过程定义中,正确的是(分数:2.00)A.Private Sub p(a As Integer)B.Private Sub p(a()As Integer)C.Private Sub p(a(10)As Integer)D.Private
10、Sub p(a(n)As Integer)20.在程序中要使用 Array 函数给数组 arr 赋初值,则以下数组变量定义语句中错误的是(分数:2.00)A.Static arrB.Dim art(5)C.Dim art()D.Dim arr As Variant21.有下面程序代码:Private Sub Commandl_Click() a=Array(1,2,3,4,5,6,7,8,9,10) n=UBound(a) For k=0 To UBound(a)2 Print a(k)*a(n);:n=n1 Next kEnd Sub 程序运行后,单击命令按钮 Commandl,输出结果是(
11、分数:2.00)A.2 6 12 20 30B.2 12 20 56 90C.30 28 24 18 10D.10 18 24 28 3022.有下面程序代码:Option Base 1Private Sub Commandl_Click()Dim a(10)As Integer,x,bx=InputBox(“请输入一个多砬整数“)For k=1 To Len(x) b=Mid(x,k,1) a(Val(b)+1)=a(Val(b)+1)+1Next kFor k=1 To 10 Print a(k):Next kEnd Sub 程序运行时,单击命令按钮Commandl,输入 23552702
12、24,则输出是(分数:2.00)A.1 0 4 1 1 2 0 1 0 0B.0 4 1 1 2 0 1 0 0 0C.2 3 5 5 2 7 0 2 2 4D.4 2 2 O 7 2 5 5 3 223.窗体上有 Command1、Command2 两个命令按钮。现编写以下程序:Option Base 0Dim a()As Integer,m As IntegerPrivate Sub Command1_Click() m=InputBox(“请输入一个正整数“) ReDim a(m) End SubPrivate Sub Command2 Click() m=InputBox(“请输入一个
13、正整数“)ReDim a(m)End Sub 运行程序时,单击 Command1 后输入整数 10,再单击 Command2 后输入整数 5,则数组 a 中元素的个数是(分数:2.00)A.5B.6C.10D.1124.在窗体上画一个名为 Commandl 的命令按钮,然后编写以下程序:Privme Sub Commandl_Click() Dim M(10)As Integer For k=1 To 10 M(k)=12k Next k x=8 Print M(2+M(x)End Sub 运行程序,单击命令按钮,在窗体上显示的是(分数:2.00)A.6B.5C.7D.825.在窗体上画一个命
14、令按钮和一个标签,其名称分别为 Command1 和 Label1,然后编写如下事件过程:Private Sub Command1_Click() Dim arr(10) For i=6 To 10 arr(i)=i-5 Next i Label1Caption=art(0)+arr(arr(10)arr(6)End Sub 运行程序,单击命令按钮,则在标签中显示的是(分数:2.00)A.0B.1C.2D.326.在窗体上画一个名称为 Text1 的文本框,并编写如下程序:Option Base 1Private Sub Form_Click() Dim arr Dim Start As In
15、teger,Finish As Integer Sum As Integer arr=Array(12,4,8,16) Start=LBound(arr) Finish=UBound(arr) Sum=0 For i=Start To Finish Sum=Sum+arr(i) Next i c=SumFinish TeXt1Text=c End Sub 运行程序,单击窗体,则在文本框中显示的是(分数:2.00)A.40B.10C.12D.1627.以下过程的功能是从数组中寻找最大值:Private Sub FindMax(a() As Integer,ByRef Max As Integer
16、)Dim S As Integer,f As Integer:Dim i As IntegerS=LBound(a):f=UBound(a)Max=a(s)For i=S TO f Ifa(i)Max Then Max=a(i)NextEnd Sub 以下关于上述过程的叙述中,错误的是(分数:2.00)A.语句 Call FindMax(a,m)可以调用该过程,其中的 a 是数组,m 是 Integer 类型变量B.For 循环次数等于 a 数组的元素数C.过程末尾应该增加一条返回最大值的语句 FindMax=MaxD.参数 Max 用于存放找到的最大值28.窗体上有一个名称为 Command
17、l 的命令按钮,并有如下程序代码:Option Base 1Private Sub Commandl_Click() Dim a(3,3) For i=1 To 3 Forj=1 To 3 Ifi1 Andj1 Then a(i,j)=a(a(i1,j1),a(i,j1)+1 Else a(i,j)=i*j End If Next Next Print a(2,2);a(3,3) End Sub 运行程序,单击命令按钮,窗体上显示的是(分数:2.00)A.1 3B.2 1C.2 2D.3 329.窗体上有一个名称为 Commandl 的命令按钮,其单击事件过程如下:Option Base 1P
18、rivate Sub Commandl Click() Dim a(4,4)As Integer For i=1 To 4 Forj=l To 4 a(i,j)=Int(Rnd*100) Next Next x=a(1,1)y=a(1,1) For i=1 To 4 Forj=1 To 4 Ifxa(i,j)Then x=a(i,j) Ifya(i,j)Then y=a(i,j) Next s=s+a(i,i) Next Print x,y,s End Sub 关于以上程序,以下叙述中错误的是(分数:2.00)A.二维数组元素的值是不大于 99 的随机整数B.计算结果 x 是二维数组各元素中的
19、最大数C.计算结果 y 是二维数组各元素中的最小数D.计算结果 s 是二维数组各行第一个元素之和30.窗体上有一个名称为 Command1 的命令按钮。要求编写程序,把文件 f1txt 的内容写到文件 f2txt中,然后将 f1txt 删除。命令按钮的单击事件过程如下:Private SubCommandl_Click() Open“c:f1txt“For Input As#1 Open“c:f2txt“For Output As#2 Do While Not EOF(2) Line Input#1,str1 Print#2,str1 Loop Close Kill*c:f1txt“End S
20、ub 该程序运行时发生错误,应该进行的修改是(分数:2.00)A.打开 f1txt 应该使用 Output 方式,打开 f2txt 应该使用 Input 方式B.Not EOF(2)应该改为 Not EOF(1)C.Line Input 应改为 GetD.Close 语句改为 Close All31.窗体上有名称为 Commandl 的命令按钮,其事件过程如下:Option Base 1Private Sub Commandl_Click() Dim a Dim b(10)As Integer a=Array(2,4,7,3,9,6) For i=LBound(a)To UBound(a) b
21、(i)=a(i)+i Sum=Sum+b(i) Next i Print SumEnd Sub 运行程序,单击命令按钮时,窗体上显示的是(分数:2.00)A.44B.46C.50D.5232.窗体上有一个名称为 Commandl 的命令按钮,有程序如下:Option Base 1Private Sub Commandl_Click() Dim a(10)As Integer 第 1 个 For For i=1 To 10 a(i)=Int(Rnd*100+100) Print a(i); Next x=a(i):y=x 第 2 个 For For i=1 To 10 Ifxa(i)Then x
22、=a(i) Ifya(i)Then y=a(i) s=s+a(i) Next Print x,y,sEnd Sub 关于上述程序的叙述中,正确的是(分数:2.00)A.程序运行出错,第 1 个 For 循环之后的 x=a(i)赋值语句错B.程序正常运行,x 是 10 个随机数中的最大值C.程序正常运行,s 是 10 个随机数的和D.程序正常运行,10 个随机数的范围是 100-20033.在窗体上画一个文本框,其名称为 Text1,然后编写如下程序:Option Base 1Private Sub Form_Click()Dim Arc(10)As Integer For i=6 To 10
23、Arr(i)=i3 Next i Text1Text=Str(Arr(6)+Art(Arc(6)+Arr(10)End Sub 程序运行后,单击窗体,在文本框中显示的内容是(分数:2.00)A.7B.8C.9D.1034.假定有如下程序:Private Sub Form_Click() Dim a(4)As Integer,b(4)As Integer For k=0 To 2 a(k+1)=Val(InputBox(“请输入一个整数:“) b(3-k)=a(k+1) Next k Print b(k)End Sub 运行程序,单击窗体,依次输入 3、6、9,输出结果为(分数:2.00)A.3
24、B.6C.9D.135.阅读程序:Option Base 1Private Sub Form_Click() Dim a(3,3)As Integer For i=1 To 3 For i=1 To 3 a(i,j)=_ Print a(i,j); Nextj Print Next iEnd Sub 运行上面的程序,单击窗体,输出结果如下: 1 4 72 5 83 6 9 则在横线处应填入的内容为(分数:2.00)A.i+jB.i*JC.(i1)*3+jD.i+(j1)*336.阅读程序:Option Base 1Sub P(b() As Integer) For i=1 To 4 b(i)=
25、2*i Next i End SubPrivate Sub Form_Click()Dim a(4)As Integer For i=1 To 4 a(i)=i+4 Nex i P a For i=1 To 4 Print a(i) Next iEnd Sub 运行上面的程序,单击窗体,输出结果为(分数:2.00)A.2 4 6 8B.5 6 7 8C.10 12 14 16D.4 8 12 1637.在窗体上画一个命令按钮,然后编写如下程序: Option Base 1Private Sub Commandl_Click() Dim Arr(10)As Integer For i=1 To
26、10 Arr(i)=11i Next i x=InputBox(“输入一个整数(310)“) Print Arr(2+Arr(x)End Sub 程序运行后,单击命令按钮,在输入对话框中输入 7,则输出结果为(分数:2.00)A.3B.4C.5D.638.设有下面程序代码:Private Sub Commandl Click() Dim a As Variant a=Array(22,43,23,56,87,45,67,12,98,98,56,34,23,75,64) m=a(0)n=m For k=1 To UBound(a) Ifa(k)m Then n=m:m=a(k) Elselfa(
27、k)n And a(k)m Then n=a(k) End If Next k Print nEnd Sub 程序运行时的输出是(分数:2.00)A.数组中最大的数(即 98)B.数组中最小的数(即 12)C.数组中第 2 大的数(即 87)D.数组中第 1 个数(即 22)39.设有下面程序代码:Option Base 1Private Sub Commandl_Click() Dim x(6) a=Array(4,2,5,1,6,3) b=Array(64,24,98,27,58,41) For k=1 To 6 x(a(k)=b(k) Next k For k=1 To 6 Print
28、x(k): Next kEnd Sub 程序运行时的输出是(分数:2.00)A.27 24 41 64 98 58B.64 24 98 27 58 41C.24 27 41 58 64 98D.98 64 58 41 27 2440.以下关于控件数组的叙述中,正确的是(分数:2.00)A.数组中各个控件具有相同的名称B.数组中可包含不同类型的控件C.数组中各个控件具有相同的 Index 属性值D.数组元素不同,可以响应的事件也不同41.以下关于控件数组的叙述中,错误的是(分数:2.00)A.各数组元素共用相同的事件过程B.各数组元素通过下标进行区别C.数组可以由不同类型的控件构成D.各数组元素
29、具有相同的名称42.假定通过复制、粘贴操作建立了一个命令按钮数组 Commandl,以下说法中错误的是(分数:2.00)A.数组中每个命令按钮的名称(Name 属性)均为 CommandlB.若未做修改,数组中每个命令按钮的大小都一样C.数组中各个命令按钮使用同一个 Click 事件过程D.数组中每个命令按钮的 Index 属性值都相同43.窗体上已有的 3 个单选按钮组成了 1 个名为 ChkOptl 的控件数组。用于区分控件数组 ChkOptl 中每个元素的属性是(分数:2.00)A.CaptionB.ListCountC.ListlndexD.Index44.窗体上有一个名称为 Opti
30、onl 的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程 Private Sub Optionl_Click(Index As Integer) End Sub 下面关于此过程的参数 Index 的叙述中正确的是(分数:2.00)A.Index 为 1 表示单选按钮被选中,为 0 表示未选中B.Index 的值可正可负C.Index 的值用来区分哪个单选按钮被选中D.Index 表示数组中单选按钮的数量45.设在窗体上有一个名称为 Check1 的复选框数组,并有以下事件过程:Private Sub Check1_Click(Index As Integer) End S
31、ub 则下面叙述中错误的是(分数:2.00)A.单击数组中任何复选框都会调用此事件过程B.参数 Index 的值等于单击数组中某个复选框的 Index 属性的值C.上面的过程是数组中第 1 个复选框的事件过程D.从过程的首部(即第 1 行)无法确定数组中复选框的个数46.下面关于控件数组的叙述中正确的是(分数:2.00)A.控件数组中所有控件的名称相同,但其 Index 属性值各不相同B.控件数组中所有控件的名称相同,但其 Value 属性值各不相同C.控件数组中每个元素都是独立的控件,因此都有各自的事件过程D.上述都是错误的47.下列关于控件数组的叙述中,正确的是(分数:2.00)A.控件数
32、组可以由不同类型的控件组成B.控件数组元素的最小下标值为 1C.在设计阶段,可以改变控件数组元素的 Index 属性值D.控件数组的名字由 Caption 属性指定48.窗体上有一个由两个文本框组成的控件数组,名称为 Text1,并有如下事件过程:Private Sub Text1_Change(Index As Integer) Select Case Index Case 0 Text1(1)FontSize=Text1(0)FontSize*2 Text1(1)Text=Text1(0)Text Case 1 Text1(0)FontSize=Textl(1)FontSize2 Text
33、1(0)Text=Text1(1)Text Case Else MsgBox“执行Else 分支“ End Select End Sub 关于上述程序,以下叙述中错误的是(分数:2.00)A.Index 用于标识数组元素B.本程序中 Case Else 分支的语句永远不会被执行C.向任何一个文本框输入字符,都会在另一个文本框中显示该字符D.下标为 0 的文本框中显示的字符尺寸将越来越小国家二级 VB 机试(数组)模拟试卷 6 答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:48,分数:96.00)1.假定建立了一个名为 Command1 的命令按钮数组,则以下说法中错误的
34、是(分数:2.00)A.数组中每个命令按钮的名称(Name 属性)均为 Command1B.数组中每个命令按钮的标题(Caption 属性)都一样 C.数组中所有命令按钮可以使用同一个事件过程D.用名称 Command1(下标)可以访问数组中的每个命令按钮解析:解析:本题考查控件数组。选项 B)中,命令按钮控件数组的 Caption 属性不一定相同,可以单独分别设置,其他选项均正确。2.列表框中的项目保存在一个数组中,这个数组的名字是(分数:2.00)A.ColumnB.StyleC.List D.MultiSelect解析:解析:本题考查列表框的使用。列表框的元素保存在 List 数组中,可
35、以通过 List 属性获取元素值。3.下面的语句用 Array 函数为数组变量 a 的各种元素赋值整数值:(分数:2.00)A.Dim a B.Dim a As IntegerC.Dim a(9)As IntegerD.Dim a()As Integer解析:解析:本题考查常用函数。Array 函数返回一个包含数组的 Variant,语法:Array(arglist)。所需的 arglist 参数是一个用逗号隔开的值表,这些值用于给 Variant 所包含的数组的各元素赋值。如果不提供参数,则创建一个长度为 0 的数组。本题中变量 a 必须是变体类型,选项 A)正确。4.以下数组定义语句中,错
36、误的是(分数:2.00)A.Static a(10)As IntegerB.Dim c(3,1 To 4)C.Dim d(-10) D.Dim b(0 To 5,1 To 3)As Integer解析:解析:本题考查的考点是有关数组定义的。在 Visual Basic 中,可以用 4 个关键字来定义数组,分别是 Dim、ReDim、Public 和 Static。在 Visual Basic 中定义数组有两种格式。 格式一:Dim数组名(下标上界)As类型名称 Dim数组名(第一维下标上界,第二维下标上界)As类型名称 格式二:Dim数组名(下界 To 上界,下界 To 上界)As类型名称 其
37、中上界必须大于下界。本题中选项 C)采取第一种格式定义数组,则数组默认下界为 0,上界-10 小于 0,故不符合要求。5.语句 Dim a(-3 To 4,3 To 6)As Integer 定义的数组的元素个数是(分数:2.00)A.18B.28C.21D.32 解析:解析:本题考查的考点是有关二维数组的。二维数组定义时对于数组的每一维均给定下标的下界和上界,中间用 To 连接,即给出下标可取值的变化范围。“数组元素个数”指的是数组中成员的个数,每一维的长度是上界-下界+1,数组元素个数等于各维长度之积。6.下面正确使用动态数组的是(分数:2.00)A.Dim arr()As Integer
38、ReDim arr(3,5) B.Dim arr() As IntegerReDim arr(50)As StringC.Dim arr()ReDim arr(50)As IntegerD.Dim arr(50)As IntegerReDim arr(20)解析:解析:通常把需要在编译时分配内存区的数组叫做静态数组,而把需要在运行时分配内存区的数组叫做动态数组。定义动态数组通常分两步:首先在窗体层或标准模块中用 Dim、Private 或 Public 声明一个没有下标的数组(括号不能省略),然后在过程中用 ReDim 语句定义带下标的数组。ReDim 语句只能用于动态数组,它可以改变每一维的
39、大小,但不能改变维数和数组类型。7.设有如下数组定义语句:Dim a(1 To 4,3)As Integer 以下叙述中正确的是(分数:2.00)A.a 数组有 18 个数组元素B.a 数组有 20 个数组元素C.a 数组有 24 个数组元素 D.语法有错解析:解析:二维数组定义时对于数组的每一维均给定下标的下界和上界,中间用 To 连接,即给出下标可取值的变化范围。“数组元素个数”指的是数组中成员的个数,每一维的长度是上界一下界+1,数组元素个数等于各维长度之积。数组下标的默认下限值为 0,此时数组某一维的元素个数等于该维下标上界值加 2。8.语句 Dim Art(-2 To 4)As In
40、teger 所定义的数组的元素个数为(分数:2.00)A.7 个 B.6 个C.5 个D.4 个解析:解析:数组中所含有的元素个数为:上界-下界+1,本题中计算 4(2)+1=7。9.下列数组定义中错误的是(分数:2.00)A.Dim a(-5 To-3)B.Dim a(3 To 5)C.Dim a(-3 To -5) D.Dim a(-3 To 3)解析:解析:定义数组一般使用的格式是 Dim数组名(下界 To 上界,下界 To 上界)As类型名称,其中定义数组时,每一维的下标必须是常数,不能是变量或表达式。即使在执行数组定义语句之前给出变量的值,也是错误的;无论定义数组的格式为那种,下界都
41、必须小于上界。10.以下关于数组的叙述中,错误的是(分数:2.00)A.Variant 类型的数组中各数组元素的类型可以不同B.各数组元素可以是不同类型的控件 C.各数组元素通过下标进行区别D.各数组元素具有相同的名称解析:解析:数组是一组具有相同类型和名称的变量的集合。这些变量称为数组元素,它们具有相同的名称,每个数组元素都有一个编号被称为下标,可以通过下标来区别这些元素。变体型数组,控件数组中各数组元素必须是相同类型的控件。11.设有如下声明语句 Option Base 1Dim art(2,-1 To 5)As Integer 则数组 air 中数组元素的个数是(分数:2.00)A.10
42、B.12C.14 D.21解析:解析:二维数组定义时对于数组的每一维均给定下标的下界和上界,中间用 To 连接,即给出下标可取值的变化范围。“数组元素个数”指的是数组中成员的个数,每一维的长度是上界-下界+1,默认下界是 0,数组元素个数等于各维长度之积。12.以下叙述中错误的是(分数:2.00)A.用 ReDim 语句可以改变数组的维数B.用 ReDim 语句可以改变数组的类型 C.用 ReDim 语句可以改变数组每一维的大小D.用 ReDim 语句可以对数组中的所有元素置 0 或空字符串解析:解析:Visual Basic 中有两种类型的数组:固定大小的数组及动态数组。固定大小的数组总是保
43、持同样的大小,而动态数组在运行时可以改变大小。要使用动态数组可先声明一个不指明大小的空数组(即没有维数下标),然后再用 ReDim 语句在过程中改变数组大小和类型,对于多维数组,无法改变维数,只能改变最后一维的大小。13.设有下面的程序段:x=InputBox(“请输入一个整数“)ReDim a(x)For k=X To 0 Step-1 a(k)=kNext k一般,在这段程序之前应先进行数组 a 的定义。下面定义语句中正确的是(分数:2.00)A.Dim a(100)As IntegerB.Dim aO As Integer C.Dim a As IntegerD.Dim a(0 To 1
44、00)As Integer解析:解析:动态数组以变量作为下标值,在程序运行过程中完成定义,通常分为两步:首先在窗体层、标准模块或过程中用 Dim 或 Public 声明一个没有下标的数组(括号不能省略),然后在过程中随时用ReDim 语句可以重定义变量作为下标的数组,重定义后原数组的所有元素值被清空。14.如果要在语句:a=Array(1,2,3,4,5)的前面声明变量,则正确的声明是(分数:2.00)A.Dim a(4)As IntegerB.Dim a(5)As VariantC.Dim a(1 To 5)As IntegerD.Dim a As Variant 解析:解析:Array(a
45、rglist)函数用于将 arglist 参数中一组用逗号隔开的值列转换成一个数组并赋值给某数组变量,此时要求数组变量在定义时定义成变体型变量或者不声明长度的数组,不能是定长数组。15.设有如下一段程序:Private Sub Commandl_Click()Static a As Variant a=Array(“one“,“two“,“three“,“four“,“five“)Print a(3) End Sub 针对上述事件过程,以下叙述中正确的是(分数:2.00)A.变量声明语句有错,应改为 Static a(5)As VariantB.变量声明语句有错,应改为 Static aC.可
46、以正常运行,在窗体上显示 threeD.可以正常运行,在窗体上显示 four 解析:解析:Array(arglist)函数用于将 arglist 参数中一组用逗号隔开的值列转换成一个数组并赋值给某数组变量,此时要求数组变量在定义时定义成变体型变量或者不声明长度的数组,不能是定长数组。数组的默认下界为 0,所以 a(3)是数组的第四个元素。16.在窗体上画一个命令按钮(其 Name 属性为 Commandl),然后编写如下代码: Private Sub Commandl_Click() Dim n0 As Integer:Dim a,b As Integer a=InputBox(“Enter
47、the first number“) b=InputBox(“Enter the second number“) ReDim n(a To b) For k=LBound(n)To UBound(n) n(k)=k Print n(k); Next k End Sub 程序运行后,单击命令按钮,在输入对话框中分别输入 2 和 3,输出结果为(分数:2.00)A.1 2B.2 3 C.3 4D.4 5解析:解析:动态数组以变量作为下标值,在程序运行过程中完成定义,通常分为两步:首先在窗体层、标准模块或过程中用 Dim 或 Public 声明一个没有下标的数组(括号不能省略),然后在过程中随时用R
48、eDim 语句可以重定义变量作为下标的数组,重定义后原数组的所有元素值被清空。输入 2、3 之后数组被重新定义成了 n(2 To 3),只有两个数组元素,并且 n(k)=k,即输出 2 3。17.1 个二维数组可以存放 1 个矩阵,在程序开始有语句 Option Base(),则下面定义的数组中正好可以存放 1 个 4(3 矩阵(即只有 12 个元素)的是(分数:2.00)A.Dim a(2 To 0,2)As IntegerB.Dim a(3,2)As Integer C.Dim a(4,3)As IntegerD.Dim a(1,To 4,1 To3)As Integer解析:解析:本题考
49、查数组的定义。题目要求定义个一个二维数组,已经指定 Option Base 为 0,因此选项 B)正确;选项 A)是一维数组:选项 C)数组大小为 54;选项 D)数组定义错误。18.默认情况下,下面声明的数组的元素个数是 Dim a(5,2 To 2)(分数:2.00)A.20B.24C.25D.30 解析:解析:本题考查二维数组的定义和使用。Dim a(5,2 To 2)表示定义一个二维数组,第一维的下标范围是 0 到 5(6 行),第二维的下标范围是2 到 2(5 列),数组的大小为 65=30。19.设程序中有如下数组定义和过程调用语句:Dim a(10)As IntegerCall p(a)如下过程定义中,正确的是(分数:2.00)A.Private Sub p(a As Integer)B.Private Sub p(a()As Integer) C.Private Sub p(a(10)As Integer)D.Private Sub p(a(n)As Integer)解析:解析:本