1、国家二级 VB 机试(数组)模拟试卷 7 及答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:48,分数:96.00)1.假定建立了一个名为 Commandl 的命令按钮数组,则以下说法中错误的是(分数:2.00)A.数组中每个命令按钮的名称(Name 属性)均为 CommandlB.数组中每个命令按钮的标题(Caption 属性)都一样C.数组中所有命令按钮可以使用同一个事件过程D.用名称 Commandl(下标)可以访问数组中的每个命令按钮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 Arr(-2 To
4、4)As 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 1 Dim arr(2,-1 To 5)As Integer 则数组
5、 arr 中数组元素的个数是(分数:2.00)A.10B.12C.14D.2112.以下叙述中错误的是(分数:2.00)A.用 ReDim 语句可以改变数组的维数B.用 ReDim 语句可以改变数组的类型C.用 ReDim 语句可以改变数组每一维的大小D.用 ReDim 语句可以对数组中的所有元素置 O 或空字符串13.设有下面的程序段: x=InputBox(”请输入一个整数”) ReDim a(x) For k=x To 0 Step 一 1 a(k)=k Next k 一般,在这段程序之前应先进行数组 a 的定义。下面定义语句中正确的是(分数:2.00)A.Dim a(100)As In
6、tegerB.Dim a()As IntegerC.Dim a As IntegerD.Dim a(0 To 100)As Integer14.如果要在语句:a=Array(1,2,3,4,5)的前面声明变量 a,则正确的声明是(分数: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”,”fo
7、ur”,”five”) Print 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 nu
8、mber”) 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 3C.3 4D.4 517.1 个二维数组可以存放 1 个矩阵,在程序开始有语句 Option Base0,则下面定义的数组中正好可以存放 1 个 4(3 矩阵(即只有 12 个元素)的是(分数:2.00)A.Dim a(-2 To 0,2)A
9、s IntegerB.Dim a(3,2)As IntegerC.Dim a(4,3)As IntegerD.Dim a(一 1,To-4,一 1 To -3)As Integer18.默认情况下,下面声明的数组的元素个数是 Dim a(5,-2 To 2)(分数:2.00)A.20B.24C.25D.3019.设程序中有如下数组定义和过程调用语句: Dim a(10)As Integer Call p(a) 如下过程定义中,正确的是(分数:2.00)A.Private Sub p(a As Integer)B.Private Sub p(a()As Integer)C.Private Sub
10、 p(a(10)As Integer)D.Private Sub p(a(n)As Integer)20.在程序中要使用 Array 函数给数组 arr 赋初值,则以下数组变量定义语句中错误的是(分数:2.00)A.Static artB.Dim arr(5)C.Dim arr()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=n-1 Next k End
11、Sub 程序运行后,单击命令按钮 Commandl,输出结果是(分数: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 1 Private Sub Commandl_Click() Dim a(10)As Integer,x,b x=InputBox(”请输入一个多位整数”) For k=1 To Len(x) b=Mid(x,k,1) a(Val(b)+1)=a(Val(b)+1)+1 Next k For k=1 To 10 Print a(k): Next k
12、 End Sub 程序运行时,单击命令按钮 Command1,输入2355270224,则输出是(分数: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 0 7 2 5 5 3 223.窗体上有 Command1、Command2 两个命令按钮。现编写以下程序: Option Base 0 Dim a()As Integer,m As Integer Private Sub Commandl_Click() m=InputBox(”请输入一个正整数”) ReDim a(m) End Sub P
13、rivate Sub Command2 Click() m=InputBox(”请输入一个正整数”) ReDim afm)End Sub 运行程序时,单击 Command1 后输入整数 10,再单击 Command2 后输入整数 5,则数组 a 中元素的个数是(分数:2.00)A.5B.6C.10D.1124.在窗体上画一个名为 Command1 的命令按钮,然后编写以下程序: Private Sub Commandl_Click() Dim M(10)As Integer For k=1 To 10 M(k)=12-k Next k x=8 Print M(2+M(x) End Sub 运行
14、程序,单击命令按钮,在窗体上显示的是(分数:2.00)A.6B.5C.7D.825.在窗体上画一个命令按钮和一个标签,其名称分别为 Command1 和 Label1,然后编写如下事件过程: Private Sub Commandl_Click() Dim arr(10) For i=6 To 10 arr(i)=i 一 5 Next i Label1Caption=arr(0)+arr(arr(10)/arr(6) End Sub 运行程序,单击命令按钮,则在标签中显示的是(分数:2.00)A.0B.1C.2D.326.在窗体上画一个名称为 Text1 的文本框,并编写如下程序: Optio
15、n Base 1 Private Sub Form_Click() Dim arr Dim Start As Integer,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=Sum/Finish Text1Text=cEnd Sub 运行程序,单击窗体,则在文本框中显示的是(分数:2.00)A.40B.10C.12D.1627.以下过程的功能是从数组中寻找最大
16、值: Private Sub FindMax(a() As Integer,ByRef Max As Integer) Dim S As Integer,fAs Integer:Dim i As Integer S=LBound(a):f=UBound(a) Max=a(s) For i=S To f Ifa(i)Max Then Max=a(i) Next End Sub 以下关于上述过程的叙述中,错误的是(分数:2.00)A.语句 Call FindMax(a,m)可以调用该过程,其中的 a 是数组,m 是 Integer 类型变量B.For 循环次数等于 a 数组的元素数C.过程末尾应该
17、增加一条返回最大值的语句 FindMax=MaxD.参数 Max 用于存放找到的最大值28.窗体上有一个名称为 Command1 的命令按钮,并有如下程序代码: Option Base 1 Private Sub Commandl_Click() Dim a(3,3) For i=1 To 3 Forj=1 To 3 Ifi4 Andj1 Then a(i,j)=a(a(i1,j-1),a(i,j-1)+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
18、.2 1C.2 2D.3 329.窗体上有一个名称为 Commandl 的命令按钮,其单击事件过程如下: Option Base 1 Private Sub Commandl_Click() Dim a(4,4)As Integer For i=1 To 4 Forj=1 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 y=a(i,j) Next s=s+a(i,i) Next Print x,y,S End Sub 关于以上程序,以下叙述中错误的是(分数:2.
19、00)A.二维数组元素的值是不大于 99 的随机整数B.计算结果 x 是二维数组各元素中的最大数C.计算结果 y 是二维数组各元素中的最小数D.计算结果 s 是二维数组各行第一个元素之和30.窗体上有一个名称为 Command1 的命令按钮。要求编写程序,把文件 f1txt 的内容写到文件 f2txt中,然后将 f1txt 删除。命令按钮的单击事件过程如下: Private Sub Commandl_Click() Open”c:/f1txt”For Input As#1 Open”c:f2txt”For Output As#2 Do While Not EOF(2) Line Input#1
20、str1 Print #2,str1 Loop Close Kill”c:f1txt”End Sub 该程序运行时发生错误,应该进行的修改是(分数:2.00)A.打开 f1txt 应该使用 Output 方式,打开 f2txt 应该使用 Input 方式B.Not EOF(2)应该改为 Not EOF(1)C.Line Input 应改为 GetD.Close 语句改为 Close All31.窗体上有名称为 Commandl 的命令按钮,其事件过程如下: Option Base 1 Private Sub Commandl_Click() Dim a Dim b(10)As Integer
21、a=Array(2,4,7,3,9,6) For i=LBound(a)To UBound(a) b(i)=a(i)+i Sum=Sum+b(i) Next i Print SumEnd Sub 运行程序,单击命令按钮时,窗体上显示的是(分数:2.00)A.44B.46C.50D.5232.窗体上有一个名称为 Commandl 的命令按钮,有程序如下: Option Base 1 Private Sub Commandl_Click() Dim a(10)As Integer第 1 个 For For i=1 To 10 a(i)=Int(Rnd*100+100) Print a(i); Ne
22、xt x=a(i):y=x第 2 个 For For i=1 To 10 Ifxa(i)Then y=a(i) s=s+a(i) Next Print x,y,s End Sub 关于上述程序的叙述中,正确的是(分数:2.00)A.程序运行出错,第 1 个 For 循环之后的 x=a(i)赋值语句错B.程序正常运行,x 是 10 个随机数中的最大值C.程序正常运行,s 是 10 个随机数的和D.程序正常运行,10 个随机数的范围是 100-20033.在窗体上画一个文本框,其名称为 Text1,然后编写如下程序:Option Base 1 Private Sub Form_Click()Dim
23、 Arr(10)As Integer For i=6 To 10 Arr(i)=i 一 3 Next i Text1Text=Str(Arr(6)+Arr(Arr(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 Su
24、b 运行程序,单击窗体,依次输入 3、6、9,输出结果为(分数:2.00)A.3B.6C.9D.135.阅读程序: Option Base 1 Private Sub Form_Click() Dim a(3,3)As Integer For i=1 To 3 Forj=1 To 3 a(i,j)=_ Print a(i,j); Nextj Print Next i End Sub 运行上面的程序,单击窗体,输出结果如下: 1 4 7 2 5 8 3 6 9 则在横线处应填入的内容为(分数:2.00)A.i+jB.i*jC.(i1)*3+jD.i+(j-1)*336.阅读程序: Option
25、Base 1 Sub P(bO As Integer) For i=1 To 4 b(i)=2*i Next i End Sub Private Sub Form Click() Dim a(4)As Integer For i=1 To 4 a(i)=i+4 Next i P a For i=1 To 4 Print a(i) Next i End Sub 运行上面的程序,单击窗体,输出结果为(分数:2.00)A.2 4 6 8B.5 6 7 8C.10 12 14 16D.4 8 12 1637.在窗体上画一个命令按钮,然后编写如下程序: Option Base 1 Pfivme Sub
26、Commandl_Click() Dim Arr(10)As Integer For i=1 To 10 Arr(i)=11-i Next i X=InputBox(”输入一个整数(310)”) PrintArr(2+Arr(x) End Sub 程序运行后,单击命令按钮,在输入对话框中输入 7,则输出结果为(分数:2.00)A.3B.4C.5D.638.设有下面程序代码: Pfivme Sub Command1_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 Fo
27、r k=1 To UBound(a) Ifa(k)mThen n=m:m=a(k) Elselfa(k)n And a(k)Max Then Max=a(i) Next End Sub 以下关于上述过程的叙述中,错误的是(分数:2.00)A.语句 Call FindMax(a,m)可以调用该过程,其中的 a 是数组,m 是 Integer 类型变量B.For 循环次数等于 a 数组的元素数C.过程末尾应该增加一条返回最大值的语句 FindMax=Max D.参数 Max 用于存放找到的最大值解析:解析:本题中定义了一个子过程 FindMax,第一个形参是一个数组,第二个形参是一个整型值,所以调
28、用此过程的实参也应该是一个数组和一个整型变量;在过程中遍历整个数组,首先让数组的第一个元素为最大值,然后依次用数组元素和 Max 进行比较,若其比 Max 大则令其成为新的最大值,所以 For 循环次数等于 a 数组的元素数,参数 Max 用于存放找到的最大值;子过程没有返回值,也无需增加一条返回最大值的语句 FindMax=Max。28.窗体上有一个名称为 Command1 的命令按钮,并有如下程序代码: Option Base 1 Private Sub Commandl_Click() Dim a(3,3) For i=1 To 3 Forj=1 To 3 Ifi4 Andj1 Then
29、 a(i,j)=a(a(i1,j-1),a(i,j-1)+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 3 解析:解析:本题是一个二维数组的赋值问题,要判断清哪一个数组元素的值被赋值成了多少。首先确定a(1,1)=1,a(1,2)=2,a(1,3)=3,a(2,1)=2,a(3,1)=3;然后按照公式计算其余的元素。29.窗体上有一个名称为 Commandl 的命令按钮,其单击事件过程如下: Option Base 1 Pr
30、ivate Sub Commandl_Click() Dim a(4,4)As Integer For i=1 To 4 Forj=1 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 y=a(i,j) Next s=s+a(i,i) Next Print x,y,S End Sub 关于以上程序,以下叙述中错误的是(分数:2.00)A.二维数组元素的值是不大于 99 的随机整数B.计算结果 x 是二维数组各元素中的最大数C.计算结果 y 是二维数组各元素中的最小
31、数D.计算结果 s 是二维数组各行第一个元素之和 解析:解析:随机数函数 Rnd 的功能是用于产生一个小于 1 但大于或等于 0 的随机数,本题中产生的整数不会大于 99;后一个二重循环用于遍历整个二维数组并且进行比较,如果数组元素的值大于 x 则成为新的最大值,小于 y 则成为新的最小值,循环结束后 x 是二维数组各元素中的最大数,y 是二维数组各元素中的最小数。s 中存放的是二维数组对角线元素之和。30.窗体上有一个名称为 Command1 的命令按钮。要求编写程序,把文件 f1txt 的内容写到文件 f2txt中,然后将 f1txt 删除。命令按钮的单击事件过程如下: Private S
32、ub Commandl_Click() Open”c:/f1txt”For Input As#1 Open”c:f2txt”For Output As#2 Do While Not EOF(2) Line Input#1str1 Print #2,str1 Loop Close Kill”c:f1txt”End Sub 该程序运行时发生错误,应该进行的修改是(分数:2.00)A.打开 f1txt 应该使用 Output 方式,打开 f2txt 应该使用 Input 方式B.Not EOF(2)应该改为 Not EOF(1) C.Line Input 应改为 GetD.Close 语句改为 Cl
33、ose All解析:解析:打开文件的基本格式为:OpenFileName For Mode As#FileNumber。打开方式主要有Output、Append、Input、Random 等几种。本题中打开了两个文件,其中 1 号文件用于读取,2 号文件用于写入。当进行读取时循环条件应该为 Not EOF(1)即还没有读取到文件结尾。31.窗体上有名称为 Commandl 的命令按钮,其事件过程如下: Option Base 1 Private Sub Commandl_Click() Dim a Dim b(10)As Integer a=Array(2,4,7,3,9,6) For i=L
34、Bound(a)To UBound(a) b(i)=a(i)+i Sum=Sum+b(i) Next i Print SumEnd Sub 运行程序,单击命令按钮时,窗体上显示的是(分数:2.00)A.44B.46C.50D.52 解析:解析:本题中使用了一个循环为 b 数组进行赋值,每个元素的值是对应 a 数组元素的值加上下标的值。因此 b 数组中的元素为(3、6、10、7、14、12),然后累加和为 52。32.窗体上有一个名称为 Commandl 的命令按钮,有程序如下: Option Base 1 Private Sub Commandl_Click() Dim a(10)As Int
35、eger第 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 y=a(i) s=s+a(i) Next Print x,y,s End Sub 关于上述程序的叙述中,正确的是(分数:2.00)A.程序运行出错,第 1 个 For 循环之后的 x=a(i)赋值语句错 B.程序正常运行,x 是 10 个随机数中的最大值C.程序正常运行,s 是 10 个随机数的和D.程序正常运行,10 个随机数的范围是 100-200解析:解析:随机数函
36、数 Rnd 的功能是用于产生一个小于 1 但大于或等于 0 的随机数,本题中产生的整数的范围是 100-199;在第一个循环结束后,循环变量 i 的值为不满足循环条件的值 11,在紧随其后的x=a(i)语句将会执行出错,因为出现了数组越界。33.在窗体上画一个文本框,其名称为 Text1,然后编写如下程序:Option Base 1 Private Sub Form_Click()Dim Arr(10)As Integer For i=6 To 10 Arr(i)=i 一 3 Next i Text1Text=Str(Arr(6)+Arr(Arr(6)+Arr(10) End Sub 程序运行
37、后,单击窗体,在文本框中显示的内容是(分数:2.00)A.7B.8C.9D.10 解析:解析:本题中在循环中为数组部分元素赋值,把 Arr(6)Arr(10)分别赋值为 37,其余的数组元素保持默认值 0;最终输出的是 Arr(6)+Arr(Arr(6)+Arr(10)即 Arr(6)+Arr(10)=10。34.假定有如下程序: 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
38、b(k)End Sub 运行程序,单击窗体,依次输入 3、6、9,输出结果为(分数:2.00)A.3 B.6C.9D.1解析:解析:本题在循环中输入数据,当第一次输入 3 的时候 a(1)=3,b(3)=a(1)=3;当第二次输入 6 的时候 a(2)=6,b(2)=a(2)=6;当第三次输入 9 的时候 a(3)=6,b(1)=a(3)=9,跳出循环后 k 的值为 3,将输出 b(3)的值。35.阅读程序: Option Base 1 Private Sub Form_Click() Dim a(3,3)As Integer For i=1 To 3 Forj=1 To 3 a(i,j)=_
39、 Print a(i,j); Nextj Print Next i End Sub 运行上面的程序,单击窗体,输出结果如下: 1 4 7 2 5 8 3 6 9 则在横线处应填入的内容为(分数:2.00)A.i+jB.i*jC.(i1)*3+jD.i+(j-1)*3 解析:解析:本题中使用二重循环为数组赋值,分许输出的结果,每个元素和行号和列号的关系可以看出,每个元素的值应该等于 i+(i1)*3。36.阅读程序: Option Base 1 Sub P(bO As Integer) For i=1 To 4 b(i)=2*i Next i End Sub Private Sub Form C
40、lick() Dim a(4)As Integer For i=1 To 4 a(i)=i+4 Next i P a For i=1 To 4 Print a(i) Next i End Sub 运行上面的程序,单击窗体,输出结果为(分数:2.00)A.2 4 6 8 B.5 6 7 8C.10 12 14 16D.4 8 12 16解析:解析:本题中的过程 P 的功能是为形参数组 b 进行赋值,数组作为参数时采用的是地址传递,所以对形参的改变将会影响实参,也就是在窗体的单击事件中,首先在一个循环中为数组 a 赋值,然后调用了P 过程重新为 a 赋值覆盖掉原来的值。37.在窗体上画一个命令按钮
41、,然后编写如下程序: Option Base 1 Pfivme Sub Commandl_Click() Dim Arr(10)As Integer For i=1 To 10 Arr(i)=11-i Next i X=InputBox(”输入一个整数(310)”) PrintArr(2+Arr(x) End Sub 程序运行后,单击命令按钮,在输入对话框中输入 7,则输出结果为(分数:2.00)A.3B.4C.5 D.6解析:解析:本题是一个简单的数组操作,首先在一个循环中为数组元素赋值,然后输出指定的数组元素值。最终输出的是 Arr(2+Arr(7)=Arr(6)=5。38.设有下面程序代
42、码: Pfivme Sub Command1_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)mThen n=m:m=a(k) Elselfa(k)n And a(k)m Then n=a(k) End If Next k Print n End Sub 程序运行时的输出是(分数:2.00)A.数组中最大的数(即 98)B.数组中最小的数(即 12)C.数组中第 2 大的数(即 87) D.数组中第 1 个数(即
43、 22)解析:解析:本题显然是求取数组最大值的,先取得数组的第一个元素作为最大值,然后用 m 保存最大值;在循环中如果发现了有比 m 还大的数组元素,则将该元素作为新的最大值,原来的最大值 m 赋值给 n;如果元素不比 m 大就去比较元素是否大于 n,若大于 n 则将元素赋值给 n,所以循环结束后 n 中的值是数组中第 2 大的数。39.设有下面程序代码: Option Base 1 Pfivate 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)=
44、b(k) Next k For k=1 To 6 Print x(k): Next k End Sub 程序运行时的输出是(分数:2.00)A.27 24 41 64 98 58 B.64 24 98 27 58 41C.24 27 41 58 64 98D.98 64 58 41 27 24解析:解析:本题是一个简单的数组赋值,只要把握好每次为哪个元素赋以什么样的值就不会出错。最后x 数组中存放的数据依次是 27、24、41、64、98、58。40.以下关于控件数组的叙述中,正确的是(分数:2.00)A.数组中各个控件具有相同的名称 B.数组中可包含不同类型的控件C.数组中各个控件具有相同的
45、 Index 属性值D.数组元素不同,可以响应的事件也不同解析:解析:控件数组是一组具有共同名称和共同类型的控件,它们拥有共同的事件,数组中的每个控件都有惟一的索引号(Index),即下标。41.以下关于控件数组的叙述中,错误的是(分数:2.00)A.各数组元素共用相同的事件过程B.各数组元素通过下标进行区别C.数组可以由不同类型的控件构成 D.各数组元素具有相同的名称解析:解析:控件数组是一组具有共同名称和共同类型的控件,它们拥有共同的事件,数组巾的每个控件都有惟一的索引号(Index),即下标。42.假定通过复制、粘贴操作建立了一个命令按钮数组 Command1,以下说法中错误的是(分数:
46、2.00)A.数组中每个命令按钮的名称(Name 属性)均为 Command1B.若未做修改,数组中每个命令按钮的大小都一样C.数组中各个命令按钮使用同一个 Click 事件过程D.数组中每个命令按钮的 Index 属性值都相同 解析:解析:本题考查的考点是有关控件数组的。控件数组是一组具有共同名称和类型的控件,它们拥有共同的事件,数组中的每个控件都有唯一的索引号(Index),即下标,默认索引号从 0 开始。建立控件数组有两种方法:一是先在窗体上画好一个控件,然后再用“复制”和“粘贴”的方法建立;二是先在窗体上先画出若干相同类型的控件,然后再将它们的名称改为同一个名称,再将其 Index 属
47、性分别设置为不同值即可。采用第一种方法建立控件数组时,每个数组元素的名称、大小、事件均使用同一个,区别只在于Index 属性不一样。43.窗体上已有的 3 个单选按钮组成了 1 个名为 ChkOpt1 的控件数组。用于区分控件数组 ChkOptl 中每个元素的属性是(分数:2.00)A.CaptionB.ListCountC.ListlndexD.Index 解析:解析:控件数组是一组具有共同名称和类型的控件,它拥有共同的事件,数组中的每个控件都有唯一的索引号(Index),即下标,默认索引号从 0 开始。44.窗体上有一个名称为 Optionl 的单选按钮数组,程序运行时,当单击某个单选按钮
48、时,会调用下面的事件过程 Private Sub Optionl_Click(Index As Integer) End Sub 下面关于此过程的参数 Index 的叙述中正确的是(分数:2.00)A.Index 为 1 表示单选按钮被选中,为 0 表示未选中B.Index 的值可正可负C.Index 的值用来区分哪个单选按钮被选中 D.Index 表示数组中单选按钮的数量解析:解析:控件数组是一组具有共同名称和类型的控件,它们拥有共同的事件,数组中的每个控件都有惟一的索引号(Index),即下标,默认索引号从 0 开始,不能为负值。45.设在窗体上有一个名称为 Checkt 的复选框数组,并
49、有以下事件过程: Private Sub Checkl_Click(Index As Integer) End Sub 则下面叙述中错误的是(分数:2.00)A.单击数组中任何复选框都会调用此事件过程B.参数 Index 的值等于单击数组中某个复选框的 Index 属性的值C.上面的过程是数组中第 1 个复选框的事件过程 D.从过程的首部(即第 1 行)无法确定数组中复选框的个数解析:解析:控件数组是一组具有共同名称和类型的控件,它们拥有共同的事件,数组中的每个控件都有惟一的索引号(Index),即下标,默认索引号从 0 开始,不能为负值。从过程的首部无法确定数组中控件的个数。46.下面关于控件数组的叙述中正确的是(分数:2.00)A.控件数组中所有控件的名称相同,但其 Index 属性值各不相同 B.控件数组中所有控件的名称相同,但其 Value 属性值各不相同C.控件数组中每个元素都是独立的控件,因此都有各自的事件过程D.上述都是错误的解析:解析:控件数组是一组具有共同名称和类型的控件,它们拥有共同的事件,数组中的每个控件都有惟一的索引号(Index),即下标,默认索引号从 0 开始,不能为负值。47