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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级 VB机试(控制结构与数组)模拟试卷 2及答案与解析 一、选择题 1 设工程中有 2个窗体: Form1和 Form2, Form1为启动窗体。 Form2中有菜单,其结构如下表所示。要求在程序运行时,在 Form1的文本框 Text1中输入口令并按Enter键 (回车键的 ASCII码为 13)后,隐藏 Form1,显示 Form2。若口令为“Teacher”,所有菜单都可见;否则看不到 “成绩录入 ”菜单项。为此,某人在 Form1窗体文件中编写如下程序: Prirate Sub Text11_KeyPress(KeyAscii As Integer) If KeyAscii=13

2、 Then If Text1 Text=“Teacher“Then Form2 input Visible=True Else Form2 input Visible=False End If End If Form1 Hide Form2 ShowEnd Sub程序运行时发现刚输入口令时就隐藏了 Form1,显示了 Forra2,程序需要修改。下面修改方案中正确的是 ( )。 ( A)把 Form1中 Text1文本框及相关程序放到 Form2窗体中 ( B) 把 Form1 Hide、 Forra2 Show两行移到 2个 End If之间 ( C)把 If KeyAseii=13 The

3、n改为 If KeyAscii=“Teacher“Then ( D)把 2个 Form2 input Visible中的 “Form2 ”删去 2 由高中数学可知,对于连续函数 f(x),若 f(x1)与 f(x2)值的符号相反,则在 x1和x2之间必存在 x0,使得 f(x0)=0(该点称为 “零点 ”)。 设有 VB函数: Private Function f(x As Single)As Single可以 返回 f(x)的值 (函数体没有给出 )。下面程序的功能是从键盘输入 2个实数 x1、 x2,判断在 x1、 x2之间是否存在零点。 Private Sub Command1_Clic

4、k() Dim x1 As Single, x2 As Single x1=InputBox(“请输入一个实数 x1“) x2=InputBox(“请再输入一个实数 x2“) If(_)Then Print“在 “; x1; “与 “; x2; “之间存在零点 “ Else Print“不能确定在 “; x1; “与 “; x2; “之间是否存在零点 “ End If End Sub Private Function f(x As Single)As Single End Function 为使上面程序可以实现该功能,程序代码中横线处应填写的代码是 ( )。 ( A) f(x1) 0 Or f

5、(x2) 0 ( B) f(x1) 0 And f(x2) 0 ( C) f(x1)*f(x2) 0 ( D) f(x1)*f(x2) 0 3 在窗体上画 1个命令按钮,并编写如下事件过程: Private Sub Command1_Cliek() Dim a(3, 3) For m=1 To 3 For n=1 To 3 If n=m Or n=4-m Then a(m, n)=m+n Else a(m, n)=0 End If Print a(m, n); Next n Print Next m End Sub 运行程序,单击命令按钮,窗体上显示的内容为 ( )。 ( A) 2 0 0 0

6、 4 0 0 0 6 ( B) 2 0 4 0 4 0 4 0 6 ( C) 2 3 0 3 4 0 0 0 6 ( D) 2 0 0 0 4 5 0 5 6 4 设 x是整型变量,与函数 IIf(x 0, -x, x)有相同结果的代数式是 ( )。 ( A) x ( B) - x ( C) x ( D) -x 5 设 x为一整型变量,且语句的开始为: Select Case x,则不符合语法规则的 Case子句是 ( )。 ( A) Case Is 20 ( B) Case 1 To 10 ( C) Case 0 Is And Is 20 ( D) Case 2, 3, 4 6 窗体上有 1

7、个名称为 Command1的命令按钮,事件过程如下: Private Sub Command1_Click() Dim num As Integer, x As Integer num=Val(InputBox(“请输入一个正整数 “) Select Case mum Case Is 100 x=x+num Case Is 90 x=num Case Else x= x* num End Select Print x; End Sub 运行程序,并在 3次单击命令按钮时,分别输入正整数 100、 90和 60,则窗体上显示的内容为 ( )。 ( A) 0 0 0 ( B) 0 0 60 ( C

8、) 0 90 0 ( D) 100 0 60 7 某人为计算 n! (0 n =12),编写了下面的函数过程: Private Function fun(n As Integer)As Long Dim p As Long p=1 For k=n-1 To 2 Step-1 p=p*k Next k fun=P End Function 在调试时发现该函数过程产生的结果是错误的,程序需要修改。下面的修改方案中有 3种是正确的,错误的方案是 ( )。 ( A)把 p=1改为 p=n ( B)把 For k=n-1 To 2 Step-1改为 For k=1 To n-1 ( C)把 For k=

9、n-1 To 2 Step-1改为 For k=1 To n ( D)把 For k=n-1 To 2 Step-1改为 For k=2 To n 8 在窗体上画一个名称为 Text1的文本框和一个名称为 Command1的命 令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim i As Integer, n As Integer For i=0 To 50 i=i+3 n=n+1 If i 10 Then Exit For Next Text1 Text=sty(n) End Sub 程序运行后,单击命令按钮,在文本框中显示的值是 ( )。 (

10、A) 2 ( B) 3 ( C) 4 ( D) 5 9 假定有以下程序段: For i=1 To 3 For j=5 To 1 Step-1 Print i*j Next j Next i 则语句 Print i*j的执行次数是 ( )。 ( A) 15 ( B) 16 ( C) 17 ( D) 18 10 设 a、 b都是自然数,为求 a除以 b的余数,某人编写了以下函数: Function fun(a As Integer, b As Integer) While a b a=a-b Wend fun=a End Function 在调试时发现函数是错误的。为使函数能产生正确的返回值,应做

11、的修改是 ( )。 ( A)把 a=a-b改为 a=b-a ( B)把 a=a-b改为 a=a b ( C)把 While a b改为 While a b ( D)把 While a b改为 While a =b 11 设有如下事件过程: Private Sub Form_Click() x=0 While x 10 x=x+1 x=x*x Wend Print x End Sub 运行程序,单击窗体,输出结果是 ( )。 ( A) 16 ( B) 19 ( C) 20 ( D) 25 12 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click(

12、) Dim I, Num Randomize Do For I=1 To 1000 Num=Int(Rnd*100) Print Num; Select Case Nam Case 12 Exit For Case 58 Exit Do Case 65, 68, 92 End End Select Next I Loop End Sub 上述事件过程执行后,下列描述中正确的是 ( )。 ( A) Do循环执行的次数为 1000次 ( B)在 For循环中产生的随机数小于或等于 100 ( C)当所产生的随机数为 12时结束所有循环 ( D)当所产生的随机数为 65、 68或 92时窗体关闭,程

13、序结束 13 有如下程序: Private Sub Command1_Click() Dim i As Integer, j As Integer Dim sum As Integer n=1 Do j=1 Do sum=sum+j j=i+1 Print j; Loop Until j 3 n=n+2 Loop Until n 10 Print sum End Sub 运行上述程序,外层 Do循环执行的次数为 ( )。 ( A) 4 ( B) 5 ( C) 7 ( D) 10 14 下列循环中,可以正常结束的是 ( )。 ( A) i=10 Do i=i+1 Loop Until i l (

14、 B) i=1 Do i=i+1 Loop Until i=10 ( C) i=10 Do i=i+1 Loop While i 1 ( D) i=10 Do i=i-2 Loop Until i=1 15 已知在 4行 3列的全局数组 score(4, 3)中存放了 4个学生 3门课程的考试成绩(均为整数 )。现需要计算每个学生的总分,某人编写程序如下: Option Base 1 Private Sub Command1_Cliek() Dim sum As Integer sum=0 For i=1 To 4 For j=1 To 3 sum=summ+score(i, j) Next

15、j Print“第 “&i “个学生的总分是: “; sum Next i End Sub 运行此程序时发现,除第 1个人的总分计算正确外,其他人的总分都是错误的,程序需要修改。以下修改方案中正确的是 ( )。 ( A)把外层循环语句 i=1 To 4改为 For i=1 To 3 内层循环语句 j=1 To 3 改为 For j=1 To 4 ( B)把 sum=0移到 For i=1 To 4和 For j=1 To 3之间 ( C)把 sum=sum+score(i,j)改为 sum=sum+score(j,i) ( D)把 sum=sum score(i, j)改为 sum=score

16、(i,j) 16 设有如下的程序段: n=0 For i=1 To 3 For j=1 To i For k=j To 3 n=n+1 Next k Next j Next i 执行上面的程序段后, n的值为 ( )。 ( A) 3 ( B) 21 ( C) 9 ( D) 14 17 语句 Dim a(-3 To 4, 3 To 6)As Integer定义的数组的元素个数是 ( )。 ( A) 18 ( B) 28 ( C) 21 ( D) 32 18 以下关于数组的叙述中,错误的是 ( )。 ( A) Variant类型的数组中各数组元素的类型可以不同 ( B)各数组元素可以是不同类型的控

17、件 ( C)各数组元素通过下标进行区别 ( D)各数组元素具有相同的名称 19 窗体上有名称为 Command1的命令按钮,其事件过程如下: Option Base 1 Private Sub Command1_Chck() Dim a Dim b(10)As Integer 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 Sum End Sub 运行程序,单击命令按钮时,窗体上显示的是 ( )。 ( A) 44 ( B) 46 ( C) 50 ( D) 52

18、 20 以下叙述中错误的是 ( )。 ( A)用 ReDim语句可以改变数组的维数 ( B)用 ReDim语句可以改变数组的类型 ( C)用 ReDim语句可以改变数组每一维的大小 ( D)用 ReDim语句可以对数组中的所有元素置 0或空字符串 21 下面正确使用动态数组的是 ( )。 ( A) Dim arr()As integer ReDim arr(3, 5) ( B) Dim arr()As integer ReDim arr(50)As string ( C) Dim arr() ReDim arr(3, 5) ( D) Dim arr(50)As integer ReDim ar

19、r(20) 22 在窗体上画一个命令按钮 (其 Name属性为 Command1),然后编写如下代码: Private Sub Command1_Click() Dim n()As Integer Dim a, b As Integer a=InputBox(“Enter the first number“) b=InputBox(“Enter the second number“) ReDim n(a Tob) For k=LBound(n)To UBound(n) n(k)=k Print n(k); Next k End Sub 程序运行后,单击命令按钮,在输入对话框中分别输入 2和 3

20、,输出结果为 ( )。 ( A) 1 2 ( B) 2 3 ( C) 3 4 ( D) 4 5 23 命令按钮 Command1的单击事件过程如下: Prirate Sub Commtmd1_Click() Dim a(10, 10)As Integer x=0 For i=1 To 3 For j=1 To 3 a(i, j)=i*2 Mod j If x a(i, j)Then x=a(i, j) Next Next Print x End Sub 执行上述事件过程后,窗体上显示的是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 24 在窗体上画一个名称为 Comman

21、d1的命令按钮,并编写如下程序 Option Base 1 Private Sub Command1_Click() Dim a(4, 4) For i=1 To 4 For i=1 To 4 a(i, j)=(i-1)*3+j Next j Next i For i=3 To 4 For i=3 To 4 Print a(j, i); Next j Print Next i End Sub 运行程序,单击命令按钮,则输出结果为 ( )。 ( A) 6 9 7 10 ( B) 7 10 8 11 ( C) 8 11 9 12 ( D) 9 12 10 13 25 在窗体上画一个名为 Comma

22、nd1的命令按钮,然后编写如下代码: Option Base 1 Private Sub Command1_Click() Dim a a=Array(1, 2, 3, 4) j=1 For i=4 To 1 Step-1 s=s+a(i)*j j=j*10 Next i Print s End Sub 运行上面的程序,其输出结果是 ( )。 ( A) 1234 ( B) 12 ( C) 34 ( D) 4321 26 在窗体上画一个名称为 Text1的文本框,并编写如下程序 : Option Base 1 Private Sub Form_Click() Dim arr Dim Start

23、As Integer, Finish As Integer Dim 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 Text1 Text=c End Sub 运行程序,单击窗体,则在文本框中显示的是 ( )。 ( A) 40 ( B) 10 ( C) 12 ( D) 16 27 假定通过复制、粘贴操作建立了一个命令按钮数组 Command1,以下说法中错误的是 ( )

24、。 ( A)数组中每个命令按钮的名称 (Name属性 )均为 Command1 ( B)若未做修改 ,数组中每个命令按钮的大小都一样 ( C)数组中各个命令按钮使用同一个 Click事件过程 ( D)数组中每个命令按钮的 Index属性值都相同 28 窗体上有一个由两个文本框组成的控件数组,名称为 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

25、Case 1 Text1(0) FontSize=Text1(1) FontSize 2 Text1(0) Text=Text1(1) Text Case Else MssBox“执行 Else分支 “ End Select End Sub 关于上述程序,以下叙述中错误的是 ( )。 ( A) Index用于标识数组元素 ( B)本程序中 Case Else分支的语句永远不会被执行 ( C)向任何一个文本框输入字符,都会在另一个文本框中显示该字符 ( D)下标为 0的文本框中显示的字符尺寸将越来越小 国家二级 VB机试(控制结构与数组)模拟试卷 2答案与解析 一、选择题 1 【正确答案】 B

26、【试题解析】 原程序的执行流程为,当按下一个键后,激活 KeyPress事件,事件中隐藏 Form1和显示 Form2的语句与判断是否按了回车键的语句是顺序的,即不论按了什么键,都会执行隐藏 Form1和显示 Form2的语句。这两句应该上移到第二个 EndIf前面,也就是放在判断是否按了回车键的 If语句块中。因此 B选项正确。 【知识模块】 控制结构与数组 2 【正确答案】 C 【试题解析】 x1和 x2的符号是否相反,是判断 x1和 x2之间是否存在零点的条件, x1和 x2符号相反, x1和 x2的积是负数。函数 f可以返回 f(x)的值,因此满足上述条件的表达式是 f(x1)*f(x

27、2) 0,选 C。 【知识模块】 控制结构与数组 3 【正确答案】 B 【试题解析】 根据 For循环中的 lf语句的条件 n=m orn=4-m中的 n=m首先可以得出 8(1, 1)=2, a(2, 2)=4, a(3, 3)=6,其次根据 n=4-m的条件可以得出 a(1,3)=4, a(2, 2)=4, a(3, 1)=4。而其他的元素值都为 0。因此窗体上输出的三行分别是: 2 0 4, 0 4 0, 4 0 6。 【知识模块】 控制结构与数组 4 【正确答案】 B 【试题解析】 IIF函数是条件函数,本题的含义是如果 x 0条件成立,即 x为正数,就返回 -x,即 x的负数,否则返

28、回 x(它本身 ),两种情况都是返回负数。根据这一点,选项 B符 合要求。故 B选项正确。 【知识模块】 控制结构与数组 5 【正确答案】 C 【试题解析】 Select Case语句中表达式的形式可以是:常量或变量;若干符合条件的值用 “, ”隔开;表达式 1 to表达式 2; Is关系表达式。 本题中选项 A、 B和 D都符合语法规则。 选项 C中 Is关系表达式语法错误,它可以是 Is 0或 Is 20,但不能是组合的0 Is And Is 20。故 C选项错误。 【知识模块】 控制结构与数组 6 【正确答案】 B 【试题解析】 按钮事件中变量 x为过程局部变量,第 1次输入 100时,

29、 Select语句执行 Case Else分支 x=x*num=0*100=0。第二次输入 90时, Select语句执行Case Else分支 x=x*num=0*90=0。第三次输入 60时 Select语句执行 CaseIs 90分支 x=num=60。因此窗体上显示为 0 0 60。 【知识模块】 控制结构与数组 7 【正确答案】 B 【试题解析】 原程序的错误在于没有把 n的值乘进去。而 B选项中把 For k=n-1 To 2 Step-1改为 For k=1 To n-1。依然没有把 n乘进去。 【知识模块】 控制结构与数组 8 【正确答案】 B 【试题解析】 程序中 For循环

30、的结束有两种情况,一种是循环完指定的次数,一种是达到一定的条件后直接退出循环。由于在循环体中循环变量 i的值被修改:i=i+3。因此,每次循环开始时 i的取值为 0、 4、 8, i为 8时执行 i=i+3=11,n=n+1=3,这时 i的值大于 10,退出 For循环,因此 For循环执行了 3次,即 n的值为 3。所以在文本框中会显示 3。 【知识模块】 控制结构与数组 9 【正确答案】 A 【 试题解析】 外层 For循环从 1到 3是 3次,内层循环从 5到 1,是 5次。因此循环体执行的次数是 3*5=15次。 【知识模块】 控制结构与数组 10 【正确答案】 D 【试题解析】 程序

31、中没有考虑余数为 O的情况,即条件中应该有 a=b,则 a=a-b,这样才能正确得到余数 0。因此程序中应该修改 While的条件 a b为 a =b。 【知识模块】 控制结构与数组 11 【正确答案】 D 【试题解析】 WhileWend 语句只要指定的条件为 True,则会重复执行一系列的语句。程序中只要满足 x 10的条件循环就一直执行。当 x=4时,执行完循环体内容后 x=25,条件为 False,退出,打印。选 D。 【知识模块】 控制结构与数组 12 【正确答案】 D 【试题解析】 程序 Do循环中嵌套了 For循环, Do循环没有设置结束条件,而是在 For循环体中的 Selec

32、t语句中设置了退出 Do循环和 For循环及结束程序的分支,因此 Do循环的次数无法确定。随机函数 Rnd产生 0, 1)之间的一个数,包括0但不包含 1,因此 Rnd*100的范围是大于等于 0小于 100。随机数为 65、 68或92时结束程序,关闭 窗体,为 58时退出 Do循环,为 12时退出 For循环进入下一次 Do循环。 【知识模块】 控制结构与数组 13 【正确答案】 B 【试题解析】 外层 Do循环结束条件是 n 10, n初值为 1,每次加 2,循环体中每次循环 n的值为 3、 5、 7、 9、 11,值变化 5次,因此外层 Do循环执行次数为 5次。 【知识模块】 控制结

33、构与数组 14 【正确答案】 B 【试题解析】 选项 A中先执行一次循环体, i的值变成 1,测试循环结束条件, i 1不成立,循环继续, i值总是增加,达不到循环结束条件,不能正常结 束。选项 B先执行循环体, i值加 1变成 2,再测试循环结束条件 i=10,继续循环, i值再加 1,直到 i变为 10,循环结束。选项 C中 i初值为 10,先执行一次循环体,使 i加 1,然后判断继续循环的条件 i 1是否成立,此后 i值不会小于等于 1,循环会一直继续下去,不会正常结束。选项 D中 i初值为 10,每次循环 i值减 2,因此它总是偶数,而循环结束的条件是 i=1,不可能达到,循环会一直继

34、续下去。 【知识模块】 控制结构与数组 15 【正确答案】 B 【试题解析】 程序变量 sum的值在开始计算第 2个学生的总成绩时, 仍保留着第一个学生的总成绩,这样会把前面学生的总成绩计算进去,显然不对。因此,sum=0这一句应该放在第 1层 For循环体的第一句,即 For i=1 to 4和 for j=1 to 3之间。 【知识模块】 控制结构与数组 16 【正确答案】 D 【试题解析】 程序是三层的 For循环,内层的循环次数由外一层的循环变量的值决定。因此程序执行过程如下: i=1时,第二层循环执行 1次,第三层循环执行 3次, n=3 i=2时,第二层循环执行 2次,第三层循环执

35、行 3次 +2次, n=3+3+2=8 i=3时,第二层循环执行 3次,第三层循环执行 3次 +2次 +1次, n=8+3+2+1=14 因此答案为 D。 【知识模块】 控制结构与数组 17 【正确答案】 D 【试题解析】 本题定义的是一个整型的二维数组, -3To 4指的是 -3、 -2、 -1、 0、1、 2、 3、 4(共 8行 ), 3 To 6指的是 3、 4、 5、 6(共 4列 ),因此数组元素个数是84=32,故选 D。 【知识模块】 控制结构与数组 18 【正确答案】 B 【试题解析】 控件数组是由一组相同类型的控件组成。它们共用 一个控件名,绝大部分的属性也相同,但有一个属

36、性不弼,即 Index属性的值不同。当建立控件数组时,系统给每个元素赋一个唯一的索引号 (Index),通过属性窗口的 Index属性,可以知道该控件的下标是多少,第 1个元素下标是 0。 【知识模块】 控制结构与数组 19 【正确答案】 D 【试题解析】 不同维数的数组缺省下界都是 0或 1,这取决于 Option Base语句的设置。本题中有语句 Option Base1,所以 LBound(a)=1, UBound(a)=6。 For循环进行求和计算,结果为 52, 选 D。 【知识模块】 控制结构与数组 20 【正确答案】 B 【试题解析】 BeDim语句无法更改数组变量的数据类型。

37、【知识模块】 控制结构与数组 21 【正确答案】 A 【试题解析】 动态数组的使用时,先在窗体层、标准模块或过程中声明一个没有下标的数组 (括号不能省略 ),不指定维数。然后,在过程中用 BeDim语句定义带下标的数组,给出数组的维数。注意:用 BeDim定义的数组,只能改变数组元素的个数,不能改变数组的维数和数据类型。 本题选项 B、 C中 BeDim语句改变了数组 的数据类型,故错误。选项 D中声明数组时有下标,应该没有下标,故也错误。选项 A正确。 【知识模块】 控制结构与数组 22 【正确答案】 B 【试题解析】 输入 2和 3后, n被重新定义,下标为 2,上标为 3。 For循环执

38、行2次, k=2和 k=3。因此选 B。 【知识模块】 控制结构与数组 23 【正确答案】 B 【试题解析】 题目中定义了一个二维数组,为数组赋初值并找出这些值中最大的值输出,数组中的值为: a(1, 1)=1*2mod 1=0, a(1, 2)=1*2 mod 2=0, a(1, 3)=1*2 mod 3=2; a(2, 1)=2*2 mod 1=0, a(2, 2)=2*2 mod 2=0, a(2, 3)=2*2 mod 3=1; a(3, 1)=3*2 mod 1=0, a(3, 2)=3*2 mod 2=0, a(3, 3)=3*2 mod 3=0。 显然最大值为 2,因此 Prin

39、t x语句将在窗体上显示 2。 【知识模块】 控制结构与数组 24 【正确答案】 D 【试题解析】 程序中数组元素赋值如下: 第 1行, a(1, 1)=1, a(1, 2)=2, a(1, 3)=3, a(1, 4)=4; 第 2行, a(2, 1)=4, a(2, 2)=5, a(2, 3)=6, a(2, 4)=7; 第 3行, a(3, 1)=7, a(3, 2)=8, a(3, 3)=9, a(3, 4)=10; 第 4行, a(4, 1)=10, a(4, 2)=11, a(4, 3)=12, a(4, 4)=13。 要输出的元素为: a(3, 3)、 a(4, 3)、 a(3,

40、4)、 a(4, 4),即为 9、 12、 10、 13。因此答案为 D。 【知识模块】 控制结构与数组 25 【正确答案】 A 【试题解析】 Array函数用来为数组元素赋值,即把一个数据集读入某个数组。其格式为:数组变量名 =Array(数组元素值 )。 Dim a语句没有变量类型名,则 a默认为 Variant类型,这里它作为数组变量使用,现在已知数组 a中元素的值依次为1, 2, 3, 4,则 For循环中各变量值变化如下: i=4时, s=s+a(4)*j=0+4*1=4, j=1*10=10; i=3时, s=s+a(3)*j-4+3*10=4+30=34, j=10*10=100

41、; i=2时, s=s+a(2)*j=34+2*100=34+200=234, j=100*10=1000; i=1时, s=s+a(1)*j=234+1*1000=234+1000=1234。循环结束。 s的值为 1234。 【知识模块】 控制结构与数组 26 【正确答案】 B 【试题解析】 程序中将变量 arr初始化为有 4个元素的数组,使用 LBound和UBound函数分别获取数组下标的上下限,然后将数组中的元素值相加,用整除运算求它们的平均值。算式可写为 (12+4+8+16) 4=(40) 4=10。所以答案为 B。 【知识模块 】 控制结构与数组 27 【正确答案】 D 【试题解析】 命令按钮控件数组中各控件用相同的名称和同一 Click事件过程,大小也一样,但是为了区分它们,各控件的 Index属性值是不同的。故 D选项错误。 【知识模块】 控制结构与数组 28 【正确答案】 D 【试题解析】 控件数组的 Index属性作为控件数组的下标,用于标识数组元素。题目中程序功能是当任意一个文本框内容改变时,设置第 2个文本框的字号是第 1个文本框字号的 2倍,同时两个文本框显示相同文字。假如用户没有使用控件数组的 Index属性的默认值,程序将执行 Else分支。 【知识模块】 控制结构与数组

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