ImageVerifierCode 换一换
格式:DOC , 页数:24 ,大小:105KB ,
资源ID:500004      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-500004.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级VB机试(控制结构与数组)模拟试卷1及答案与解析.doc)为本站会员(deputyduring120)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级VB机试(控制结构与数组)模拟试卷1及答案与解析.doc

1、国家二级 VB机试(控制结构与数组)模拟试卷 1及答案与解析 一、选择题 1 设有以下程序: Private Sub Form_Click() x=50 For i=1 To 4 y=InputBox(“请输入一个整数 “) y=Val(y) If y Mod 5=0 Then a=a+y x=y Else a=a+x End If Next i Print a End Sub 程序运行后,单击窗体,在输入对话框中依次输入 15、 24、 35、 46,输出结果为( )。 ( A) 100 ( B) 50 ( C) 120 ( D) 70 2 在窗体上画一个名称为 Command1的命令按钮,

2、并编写如下程序: Function Fun(x) y=0 If x 10 Then y=x Else y=y+10 End If Fun=y End Function Private Sub Command1_Click() n=InputBox(“请输入一个数 “) n=Val(n) P=Fun(n) Print P End Sub 运行程序,单击命令按钮,将显示输入对话框,如果在对话框中输入 100,并单击“确定 ”按钮,则输出结果为 ( )。 ( A) 10 ( B) 100 ( C) 110 ( D)出错信息 3 窗体上有 1个名称为 Command1的命令按钮,事件过程如下: Pri

3、vate Sub Command1_Click() Dim x, y, z x=InputBox(“请输入第 1个整数 “) y=InputBox(“请输入第 2个整数 “) Do Until x=y If x y Then x=x-y Else y=y-x Loop Print x End Sub 运行程序,单击命令按钮,并输入 2个整数 169和 39,则在窗体上显示的内容为( )。 ( A) 11 ( B) 13 ( C) 23 ( D) 39 4 设有如下事件过程: Private Sub Form_Click() Sum=0 For k=1 To 3 If k =1 Then x=1

4、 ElseIf k =2 Then x=2 ElseIf k =3 Then x=3 Else x=4 End If Sum=Sum+x Next k Print Sum End Sub 程序运行后,单击窗体,输出结果是 ( )。 ( A) 9 ( B) 6 ( C) 3 ( D) 10 5 现有语句: y=IIf(x 0, x Nod 3, 0),设 x=10,则 y的值是 ( )。 ( A) 0 ( B) 1 ( C) 3 ( D)语句有错 6 现有如下一段程序: Private Sub Command1_Click() x=UCase(InputBox(“输入: “) Select Ca

5、se x Case“A“ To “C“ Print“考核通过 !“ Case“D“ Print“考核不通过 !“ Case Else Print“输入数据不合法 !“ End Select End Sub 执行程序,在输入框中输入字母 “B”,则以下叙述中正确的是 ( )。 ( A)程序运行错 ( B)在窗体上显示 “考核通过 !” ( C)在 窗体上显示 “考核不通过 !” ( D)在窗体上显示 “输入数据不合法 !” 7 现有如下程序: Prirate Sub Command1_Click() s=0 For i=1 T0 5 s=s+f(5+i) Next Print s End Sub

6、 Public Function f(x As Integer) If x =10 Then t=x+1 Else t=x+2 End If f=t End Function 运行程序,则窗体上显示的是 ( )。 ( A) 38 ( B) 49 ( C) 61 ( D) 70 8 为计算 an的值,某人编写了函数 power如下: Private Function power(a As Integer, n As Integer)As Long Dim s As Long p=a For k=1 To n p=p*a Next k power=p End Function 在调试时发现是错误的

7、,例如 Print power(5, 4)的输出应该是 625,但实际输出是 3125。程序需要修改。 下面的修改方案中有 3个是正确的,错误的一个是 ( )。 ( A)把 For k=1 To n改为 For k=2 To n ( B)把 p=p*a改为 p=p*n ( C)把 For k=1 To n改为 For k=1 To n-1 ( D)把 p=a改为 p=1 9 有如下程序: Private Sub Form_Click() Dim s As Integer, p As Integer p=1 For i=1 To 4 For j=1 To i s=S+j Next j p=p*s

8、 Next i print p End Sub 程序运行后,单击窗体,则输出结果是 ( )。 ( A) 90 ( B) 180 ( C) 400 ( D) 800 10 为计算 1+2+22+23+24+2m 的值,并把结果显示在文本框 Text1中,若编写如下事件过程: Private Sub Command1 Click() Dim a&, s&, k& s=1 a=2 For k=2 To 10 a=a*2 s=s+a Next k Text1 Text=s End Sub 执行此事件过程后发现结果是错误的,为能够得到正确结果,应做的修改是 ( )。 ( A)把 s=1改为 s=0 (

9、B)把 For k=2 To 10改为 For k=1 To 10 ( C)交换语句 s=s+a和 a=a*2的顺序 ( D)把 For k=2 To 10改为 For k=1 To 10,交换语句 s=s+a和 a=a*2的顺序 11 窗体上有一个名称为 Command1的命令按钮,其单击事 件过程如下: Private Sub Command1_Click() Dim s As Double s=0: i=1 Do While i 6 s=s+i (i+1) i=i+1 Loop Print s End Sub 该事件过程的功能是计算一个表达式的值,该表达式是 ( )。 ( A) 1+1

10、2+2 3+3 4+4 5 ( B) 1+1 2+2 3+3 4+4 5+5 6 ( C) 1 2+2 3+3 4+4 5 ( D) 1 2+2 3+3 4+4 5+5 6 12 假定有以下循环结构: Do Until条件表达式 循环体 Loop 则以下正确的描述是 ( )。 ( A)如果 “条件表达式 ”的值是 0,则一次循环体也不执行 ( B)如果 “条件表达式 ”的值不为 0,则至少执行一次循环体 ( C)不论 “条件表达式 ”的值是否为 “真 ”,至少要执行一次循环体 ( D)如果 “条件表达式 ”的值恒为 0,则无限次执行循环体 13 在窗体上画两 个文本框 (名称分别为 Text1

11、和 Text2)和一个命令按钮 (名称为Command1),然后编写如下事件过程: Private Sub Command1_Click() x=0 Do While x 50 x=(x+2)*(x+3) n=n+1 Loop Text1 Text=Str(n) Text2 Text=Str(x) End Sub 程序运行后,单击命令按钮,在两个文 本框中显示的值分别为 ( )。 ( A) 1和 0 ( B) 2和 72 ( C) 3和 50 ( D) 4和 168 14 编写如下程序: Private Sub Command1_Click() Dim m As Integer n As In

12、teger m=1: n=0 Do Whle m 20 n=m+n m=3*m+1 Loop Print m n End Sub 程 序运行后,单击命令按钮 Command1,输出结果为 ( )。 ( A) 40 18 ( B) 40 19 ( C) 20 64 ( D) 21 64 15 设有如下事件过程: Private Sub Comd1_Click() For i=1 To 5 j=1 Do Print “*“ j=j-1 Loop Until j=0 Next i End Sub 运行程序,输出 “*”的个数是 ( )。 ( A) 5 ( B) 15 ( C) 20 ( D) 25

13、16 在窗体上画一个命令按钮和一个标签,其名称分别为 Command1和 Label1,然后编写如下事件过程: Private Sub Command1_Chck() Counter=0 For i=1 To 4 For j=6 To 1 Step-2 Counter=Counter+1 Next j Next j Ladel1 Caption=Str(Counter) End Sub 程序运行后,单击命令按钮,标签中显示的内容是 ( )。 ( A) 11 ( B) 12 ( C) 16 ( D) 20 17 窗体上有一个名称为 Command1的命令按钮,并有如下程序代码: Option B

14、ase 1 Private Sub Command1_Click() Dim a (3, 3) For i=1 To 3 For j=1 To 3 If i 1 And j 1 Then a(i, j)=a(a(i-1, 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 运行程 序,单击命令按钮,窗体上显示的是 ( )。 ( A) 1 3 ( B) 2 1 ( C) 2 2 ( D) 3 3 18 窗体上有 Command1、 Command2两个命令按钮。现编写以下程序: Op

15、tion Base 0 Dim a()As Integer, m As Integer Private Sub Command1_Click() m=InputBox(“请输入一个正整数 “) ReDim a(m) End Sub Private Sub Command2_Click() m=InputBox(“请输入一个正整数 “) ReDim a(m) End Sub 运行程序时,单击 Command1后输入整数 10,再单击 Command2后输入整数 5,则数组 a中元素的个数是 ( )。 ( A) 5 ( B) 6 ( C) 10 ( D) 11 19 设有如下声明语句 Option

16、 Base 1 Dim m(2, -1 To 5)As Integer 则数组 arr中数组元素 的个数是 ( )。 ( A) 10 ( B) 12 ( C) 14 ( D) 21 20 以下数组定义语句中,错误的是 ( )。 ( A) Static a(10)As Integer ( B) Dim c(3, 1 To 4) ( C) Dim d(-10) ( D) Dim b(0 To 5, 1 To 3)As Integer 21 设有下面的程序段: x=InputBox(“请输入一个整数 “) ReDim a(x) For k=x To 0 Step-1 a(k)=k Next k 一般

17、,在这段程序之前应先进行数组 a的定义。下面定义语句中正确的是 ( )。 ( A) Dim a(100)As Integer ( B) Dim a()As Integer ( C) Dim a As Integer ( D) Dim a(0 To 100)As Integer 22 在程序中要使用 Array函数给数组 arr赋初值,则以下数组变量定义语句中错误的是 ( )。 ( A) Static arr ( B) Dim arr(5) ( C) Dim arr() ( D) Dim arr As Variant 23 设有如下程序: Option Base 1 Dim a(3, 4)As

18、Integer, b(4, 3)As Integer Private Sub Command1_Click() 循环 1 For i=1 To 3 For j=1 To 4 b(j, i)=a(i, j) Next j Next i 循环 2 x=b(1, 1) For i=1 To 4 For j=1 To 3 Print b(i, j); If x b(i, j)Then x=b(i, j) Next j Print Next i End Sub 程序中的数组 a已被赋值。以下关于上述程序的叙述中,正确的是 ( )。 ( A)窗体模块中,不能使用 Dim声明 a、 b数组 ( B) “循环

19、 1”可以正常运 行 ( C) “循环 2”中循环变量 i、 j的终值不对,所以不能正常运行 ( D)程序可以正常运行, x中保存的是数组 b中所有元素中最小的数 24 若窗体上有一个名为 Command1的命令按钮,并有下面的程序: Private Sub Command1_Click() Dim arr(5)As Integer For k=1 To 5 arr(k)=k Next k prog air() For k=1 T0 5 print art(k); Next k End Sub Sub prog(a()As Integer) n=UBound(a) For i=n To 2 s

20、tep-1 For i=1 To n-1 if a(j) a(j+1)Then t=a(j): a(j)=a(j+1): a(j+1)=t End If Next i Next i End Sub 程序运行时,单击命令按钮后显示的是 ( )。 ( A) 1 2 3 4 5 ( B) 5 4 3 ( C) 0 1 2 3 4 ( D) 4 3 2 25 编写如下程序: Private Sub Command1_Click() Dim a(3, 3)As Integer Dim 8 As Integer For i=1 To 3 For j=1 To 3 a(i, j)=i*j+i Next j

21、Next i s=0 For i=1 To 3 s=s+a(i, 4-i) Next i Print s End Sub 程序运行后,单击命令按钮 Command1,输出结果为 ( )。 ( A) 7 ( B) 13 ( C) 16 ( D) 20 26 窗体上有单选钮和列表框控件。单击名称为 Option1、标题为 “国家 ”的单选钮,向列表框中添加国家名称,如下图所示。 Option1的单击事件过程如下: Private Sub Option1_Click() Dim arr aft=Array(“中国 “, “日本 “, “德国 “, “美国 “, “澳大利亚 “) List1 Clea

22、r For i=0 To Ubound(arr) List1,AddItem arr(i) NextEnd Sub以下关于上述代码的叙述中,正确的是 ( )。 ( A)程序有错,没有声明数组的维数及上下界 ( B)只有一维数组才能使用 Array为数组赋初值 ( C) For循环的终值应为 ListCount-1 ( D)循环的 初值应为 1 27 窗体上的三个命令按钮构成名称为 Command1的控件数组。如图所示。程序如下: Private Sub Command1_Click(Index As Integer) If Index=1 Then Print“计算机等级考试 “ End If

23、 If Index=2 Then Print Command1(2) Caption End If End Sub运行程序,单击 “命令按钮 2”,则如下叙述中正确的是 ( )。 ( A) Print Command1(2) Caption语句有错 ( B)在窗体上显示 “命令按钮 2” ( C)在窗体上显示 “命令按钮 3” ( D)在窗体上显示 “计算机等级考试 ” 28 窗体上有一个名称为 Option1的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程: Private Sub Option1_Click(Index As Integer) End Sub 下面关于

24、此过程的参数 Index的叙述中正确的是 ( )。 ( A) Index为 1表示单选按钮被选中,为 0表示未选中 ( B) Index的值可正可负 ( C) Index的值用来区分哪个单选按钮被选中 ( D) Index表示数组中单选按钮的数量 29 以下关于控件数组的叙述中,正确的是 ( )。 ( A)数组中各个控件具有相同的名称 ( B)数组中可包含不同类型的控件 ( C)数组中各个控件具有相同的 Index属性值 ( D)数组元素不同,可以响应的事件也不同 国家二级 VB机试(控制结构与数组)模拟试卷 1答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 程序的作用是输入的数如

25、果是 5的倍数就累加,如果不是就每次加50或与上次是 5的倍数的 那个数相累加。因此最终 a的值是 15+15+35+35=100。 【知识模块】 控制结构与数组 2 【正确答案】 A 【试题解析】 程序中输入 100,则调用过程为 Fun(100),过程 Fun中判断参数是否小于 10,小于 10则将此值赋给 y,如果不小于 10,则变量 y值加 10,由于 100不小于 10,所以 y值加 10,等于 10,并将此值作为函数值返回。因此输出结果为10。 【知识模块】 控制结构与数组 3 【正确答案】 B 【试题解析】 程序中 Do循环比较输入的两个数的大小,用较大的数减 去较小的数后再与较

26、小的数比较,直到两个数相等。程序中输入 169和 39,则 x=169-39=130, 130 y,即 130 39,因此 x=130-39=91,如此循环 x=91-39=52-39=13,此时 13 39为假,执行 y=y-x=39-13=26,循环 y=26-13=13,此时 x、 y都为 13,循环结束,因此窗体上显示为 13。 【知识模块】 控制结构与数组 4 【正确答案】 B 【试题解析】 程序执行过程如下: k=1, k =1成立,执行 x=1, sum=sum+x=1 k=2, k =2成立,执行 x=2, sum=sun1+x=1+2=3 k=3, k =3成立,执行 x=3

27、, sum=sum+x=3+3=6,循环结束。因此最后输出Sum的值为 6。 【知识模块】 控制结构与数组 5 【正确答案】 B 【试题解析】 IIF是条件函数,它的语法格式是: IIf(, , )。本题中, x=10时,条件表达式 x 0的值为 True,执行 x Mod 3,即 10 Mod 3,结果为 1。故选 B。 【知 识模块】 控制结构与数组 6 【正确答案】 B 【试题解析】 程序中 UCase函数将输入的字母转换为大写,然后通过 Select多分支控制语句选择输出不同信息,当输入字母在 “A”到 “C”之间时,显示 “考核通过 !”,输入的是 “D”时显示 “考核不通过 !”,

28、如果输入的是 “A”到 “D”之外的其他字符则显示 “输入数据不合法 !”。程序中输入字母 “B”,因此会显示 “考核通过 !”。 【知识模块】 控制结构与数组 7 【正确答案】 B 【试题解析】 程序中过程 f的功能是参数值大于等于 10时,返回参数加 1的值,否则返回参数加 2的值。因此按钮事件中 s值的计算过程如下: i=1时, s=0+f(5+1)=8; i=2时, s=8+f(5+2)=8+9=17; i=3时, s=17+f(5+3)=17+10=27; i=4时, s=27+f(5+4)=27+11=38; i=5时, s=38+f(5+5)=38+11=49; 因此最终在窗体上

29、输出的是 49。 【知识模块】 控制结构与数组 8 【正确答案】 B 【试题解析】 程序中计算 an的算法有误,由于已经将 a的 值赋给了 p,在后边的For循环中再乘 n次 a显然就多乘了一次 a,因此,要改正此程序或者将 p=a改为p=1,或者将 Fork=1 to n改成 For k=1 to n-1或 For k=2 to n。而 B选项将 p=p*a改为 p=pn将会导致 p=pn执行 n次,得不到正确结果。 【知识模块】 控制结构与数组 9 【正确答案】 D 【试题解析】 程序是一个双层 For循环,外层循环变量的值决定内层 For循环的次数。 当 i=1时,内层循环 1次, s=

30、1, p=1; 当 i=2时,内层循环 2次, 8=1+1+2=4, p=1*4=4; 当 i=3时,内层循环 3次, s=4+1+2+3=10, p=4*10=40; 当 i=4时,内层循环 4次, s=10+1+2+3+4=20, p=40*20=800。 【知识模块】 控制结构与数组 10 【正确答案】 D 【试题解析】 程序应该计算的是 2的 0次方到 2的 10次方的和,程序少计算了 2的 1次方,应该先累加,再执行 a=a*2,并且将 For k=2 to 10改为 For k=1 to 10,这样最后一次循环 2的 10次方的值能正确累加,然后循环结 束。因此答案为D。 【知识模

31、块】 控制结构与数组 11 【正确答案】 D 【试题解析】 WhileLoop 循环。 i初值为 1,把 i值代入 i (i+1)语句可得公式为 1 2+2 3+3 4+4 5+5 6,选 D。 【知识模块】 控制结构与数组 12 【正确答案】 D 【试题解析】 本题的 Do UntilLoop 循环结构是先判断,再执行的结构。 Do Until循环语句执行的过程是,先判断条件表达式的值,如果条件表达式的值为 0或 False时,即条件不成立时,执行循环体, 否则当条件表达式的值为非 0或True时,即成立,则退出 DoLoop 循环。 本题中,选项 A条件表达式的值是 0,说明条件不成立,执

32、行循环体。故 A错误。 选项 B条件表达式的值不为 0,说明条件成立,退出循环。故 B错误。 选项 C中 Do UntilLoop 语句中条件表达式的值为 “假 ”时,才至少执行一次循环体,故 C错误。 选项 D中条件表达式的值恒为 0,说明表达式总是不成立,所以可无限执行循环体,故 D选项正确。 【知识模块】 控制结构与数组 13 【正确答案】 B 【试题 解析】 在文本框中显示的值即 n, x的值。 x初始值已设为 0, n的初值没有定义,默认为 0。各次循环 x, n的值如下: x=(x+2)*(x+3)=(0+2)*(0+3)=2*3=6, n=n+1=0+1=1 x=6,满足 x 5

33、0,循环继续: x=(x+2)*(x+3)=(6+2)*(6+3)=8*9=72, n=n+1=1+1=2 x=72,不满足 x 50,循环结束。此时 n的值为 2, x的值为 72。 【知识模块】 控制结构与数组 14 【正确答案】 A 【试题解析】 循环中各变 量值变化如下: n=m+n=1+0=1 , m=3*m+1=3+1=4, 4小于 20继续循环; n=m+n=4+1=5, m=3*m+1=12+1=13, 13小于 20继续循环; n=m+n=13+5=18, m=3*m+1=39+1=40, 40不小于 20,循环结束。此时 m=40,n=18。 【知识模块】 控制结构与数组

34、15 【正确答案】 B 【试题解析】 i=1时,输出 1个 “*”, i=2时,输出 2个 “*”, i=3时,输出 3个“*”, i=4时输出 4个 “*”, i=5时输出 5个 “*”,因此总共输出 “*”的个数是1+2+3+4+5=15。 【知识模块】 控制结构与数组 16 【正确答案】 B 【试题解析】 这是一个双层循环,外层循环是 4次,内层循环变量最初值 6,终值 1,步长 -2,则 j可取的值为 6、 4、 2,因此内层 For循环会循环 3次,两层循环的总数是 4*3=12次, Counter的值即为 12。 Str函数将数值转换成字符串,即“12”,所以标签中显示的内容为 “

35、12”。 【知识模块】 控制结构与数组 17 【正确答案】 D 【试题解析】 a是个整型的二维 数组。通过 For循环给数组 a元素赋值。 i 1并且 j 1时执行 a(i, j)=a(a(i-1, j-1), a(i, j-1)+1语句,否则执行 a(i, j)=i*j,因此执行完第一个大循环后,数组 a中的元素值分别是: a(1, 1)=1, a(1, 2)=2,a(1, 3)=3。以此类推,可知 a(2, 2)=2, a(3, 3)=3。选 D。 【知识模块】 控制结构与数组 18 【正确答案】 B 【试题解析】 程序中 Option Base 0表示指定数组的下标默认下界为 0。 Be

36、Dim语句用来重新定义动态数组,按定义的 上下界重新分配存储单元。在一个程序中,可以多次用 ReDim语句定义同一个数组,随时修改数组中元素的个数。程序中先执行 BeDim a(10),然后执行了 BeDim a(5),因此数组 a的下界为 0,上界为5,共有 6个元素。 【知识模块】 控制结构与数组 19 【正确答案】 C 【试题解析】 程序中语句 Option Base 1表示定义数组下标从 1开始。但如果显式指定了数组的下标范围则不受此限制。第一维的下标从 1到 2,第二维的下标从-1到 5,所以数组元素个数为 14。 【知识模块】 控制结构与 数组 20 【正确答案】 C 【试题解析】

37、 定义数组有 2种格式。 第 1种格式: 数组每一维的只给出下标的上界,即可以使用的下标的最大值。 格式为 Dim public private static(上界, 上界 )As类型名 形如: Dim a(5)As Integer, Dim b(4, 5)A8 Integer 这种形式,数组各维的下标的下界只能为 0或 1,而且下标的上界大于等于下界。本题中 C选项下标上界 -10 0或 1,故 A选项正确, C选项错误。 第 2种格式: 数组的每一维下标的上界和下界都说明。 格式为 Dim public private static(下界 to上界 ), (下界 to上界 ) 形如: Di

38、m a(-2 to 5)As Integer Dim a(1 to 3, 2 to 6)As Interger 这种形式,数组各维下标的下界没有限制,只要保证下标的上界大于等于下界就行。故 D选项正确。 以上两种形式也可以混合使用。故 B选项也正确。 【知识模块】 控制结构与数组 21 【正确答案】 B 【试题解析】 在 Visual Basic中定义动态数组通常分两步:首先在窗体层或标准模块中用 Dim、 Private或 Public声明一个没有下标的数组 (括号不能省略 ),然后在过程中用 ReDim语句定义带下标的数组。根据题意,选项 B正确。 【知识模块】 控制结构与数组 22 【正

39、确答案】 B 【试题解析】 用 Array函数可以给 Variant类型的动态数组赋值;也可给Variant类型的变量赋值,此时该变量也看作是一个 Variant类型的动态数组。 例如: Dim a()As Variant, b As Variant s=Array(1, “abc“, 3): b=Array(5, 6) 本题中 A、 D选项是把 arr都定义为 Variant型的变量, C选项是把 arr定义为动态数组,这都可以用 Array函数给 arr数组赋初值; B选项定义了一个 Variant型的一维固定数组 arr, Array函数不能给固定数组赋初值,故 B选项错误。 【知识模块

40、】 控制结构与数组 23 【正确答案】 B 【试题解析】 Dim用于在标准模块、窗体模块或过程中定义变量或数 组。程序可以正常运行, x中保存的是数组 b元素中的最大值。 【知识模块】 控制结构与数组 24 【正确答案】 B 【试题解析】 程序对数组元素赋初值为 1、 2、 3、 4、 5。 UBound函数返回数组可用的最大下标,过程 prog的功能是遍历数组对数组中的元素进行排序,由条件a(j) a(j+1)可知程序是将数组按从大到小排序。当用数组作为过程的参数时,使用的是 “传地址 ”方式,因此程序输出的是排序后的数组元素值,即 5、 4、 3、 2、1。 【知识模块】 控制结构与数组

41、25 【正确答案】 C 【试题解析】 程序通过 For循环为数组 a赋值,具体值如下: a(1, 1)=1+1=2, a(1, 2)=2+1=3, a(1, 3)=3+1=4; a(2, 1)=2+2=4, a(2, 2)=4+2=6, a(2, 3)=6+2=8; a(3, 1)=3+3=6, a(3, 2)=6+3=9, a(3, 3)=9+3=12; 程序要计算指定数组元素的和,这几个元素是 a(1, 3), a(2, 2), a(3, 1),所以8=4+6+6=16。 【知识模块】 控制结构与数组 26 【正确答案】 B 【试题解析】 程序没有错误。数组变量定义时可以不用声明上下界。

42、List控件列表项的索引从 0开始。 Array函数只适用于一维数组,只能对一维数组进行初始化,不能对二维数组或多维数组进行初始化。因此叙述正确的是 B选项。 【知识模块】 控制结构与数组 27 【正确答案】 D 【试题解析】 控件数组与数据数组一样下标默认从 0开始,即本题中按钮控件数组的 Index值为 0、 1、 2,分别对应命令按钮 1、命令按钮 2和命令按钮 3。当单击命令按钮 2时, Index值为 1,因此程序会输出 “计算机等级考试 ”。 【知识模块】 控制结构与数组 28 【正确答案】 C 【试题解析】 Index参数值返回的是单选按钮数组中各单选按钮的索引值,用它来区分各单选按钮。故 A、 D选项错误, C选项正确; Index的值只能是非负数,故 B选项错误。 【知识模块】 控制结构与数组 29 【正确答案】 A 【试题解析】 控件数组中各控件具有相同的名称,而且类型是相同的,但 Index属性值不同。数组中各控件响应的事件是相同,用 Index属性值来区分每个控件。故 A选项正确, B、 C、 D选项错误。 【知识模块 】 控制结构与数组

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1