[计算机类试卷]国家二级VB机试(选择题)模拟试卷147及答案与解析.doc

上传人:visitstep340 文档编号:500171 上传时间:2018-11-30 格式:DOC 页数:23 大小:58.50KB
下载 相关 举报
[计算机类试卷]国家二级VB机试(选择题)模拟试卷147及答案与解析.doc_第1页
第1页 / 共23页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷147及答案与解析.doc_第2页
第2页 / 共23页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷147及答案与解析.doc_第3页
第3页 / 共23页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷147及答案与解析.doc_第4页
第4页 / 共23页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷147及答案与解析.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、国家二级 VB机试(选择题)模拟试卷 147及答案与解析 一、选择题 1 在窗体上画一个名为 Commandl的命令按钮,然后编写如下代码: 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 2 在窗体 上画一个名称为 Text1的文本框和一个名称为 Commandl的命令

2、按钮,然后编写如下事件过程: Private Sub Commandl Click() Dim iAs Integer,n As Integer For i=0 To 50 i=i+3: n=n+1 If i10 Then Exit For Next Text1 Text=Str(n) End Sub 程序运行后,单击命令按钮,在文本框中显示的值是 ( A) 2 ( B) 3 ( C) 4 ( D) 5 3 在窗体上画一个名称为 Commandl的 命令按钮,然后编写如下程序: Option Base 1 Private Sub Commandl Click() d=0: c=10: x=Ar

3、ray(10, 12, 21, 32, 24) For i=1 To 5 Ifx(i)c Then d=d+x(i): c=x(i) Else d=d-c End If Next i Print d End Sub 程序运行后,如果单击命令按钮,则在窗体上输出的内容为 ( A) 89 ( B) 99 ( C) 23 ( D) 77 4 在窗体上画 1个名称为 Commandl的命令按 钮,并编写如下事件过程: Private Sub Commandl Click() x=1: s=0 For i=1 To 5 x=x i: s=s+x Next Print s End Sub 该事件过程的功能

4、是计算 ( A) s=1+2+3+4+5q ( B) s=1+1 2+1 3+1 4+1 5 ( C) s=1+1 2 1+1 3 1+1 4 1+1 51 ( D) s=1+1 (1*2)+1 (2*3)+1 (3*4)+1 (4*5) 5 有如下程序: Private Sub Form Click() Dim i As Integer,n As Integer For i=1 To 20 i=i+4: n=n+i If i10 Then Exit For Next Print n End Sub 程序运行后,单击窗体,则输出结果是 ( A) 14 ( B) 15 ( C) 29 ( D)

5、30 6 有以下通用过程: Function fun(N As Integer) s=0 For k=1 T0 N s=s+k*(k+1) Next k fun=s End Function 该过程的功能是 ( A)计算 N! ( B)计算 1+2+3+N ( C)计算 12233NN ( D)计算 12+23+34+N(N+1) 7 编写如下程序: Option Base 1 Private Sub Command1 Click() Dim a a=Array(1, 2, 3, 4): s=0: j=1 For i=4 To 1 Step1 s=s+a(i)*j: j=j*10 Next i

6、 Print s End Sub 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) 110 ( B) 123 ( C) 1234 ( D) 4321 8 在窗体上画一个名称为 Commandl的命令按钮,编写如下事件过程: Private Sub Commandl_Click() n=0 For i=0 To 10 X=2*i一 1 IfX Mod 3=0 Then n=n+1 Next i Print n End Sub 运行程序,单击命令按钮,则窗体上显示的是 ( A) 1 ( B) 3 ( C) 5 ( D) 7 9 窗体上有一个名称为 Text1的文本框,一个名称为 C

7、ommandl的命令按钮。要求编写一个程 序,统计文本框中 0-9各数字字符的个数。某人编写如下程序: Private Sub Commandl_Click() Dim count(10)As Integer第 1个 For循环 For i=0 To 9 count(i)=0 Next S: Trim(Textl Text) strLen=Len(s)第 2个 For循环 For i=1 To strLen C=Mid(s, i, 1) If C=“0”And cb a=a-b Wend fun=a End Function 在调试时发现函数是错误的。为使函数能产生正确的返回值,应做的修改是

8、( A)把 a=a b改为 a=b a ( B)把 a=a b改为 a=a b ( C)把 While ab改为 While ab改为 While a=b 12 设有如下事件过程: Private Sub Form Click() x=0 While x10 Then Exit Do Else x=x+3 End If Loop Until x0 S=S n Mod 10: s=S&n 10 Mod 10 n=n100 Loop Print s End Sub 程序运行后,单击 命令按钮 Command1,并输入数值 123456,则输出结果为 ( A) 654321 ( B) 563412

9、( C) 642531 ( D) 615243 18 下面程序计算并输出的是 Private Sub Command 1 Click() a=10: s=0 Do s=S+a*a*a: a=a一 1 Loop Until ay Then x=x-y Else y=y-x End if Loop Print x End Sub 运行程序,单击命令按钮,并输入 2个整数 169和 39,则在窗体上显示的内容为 ( A) 11 ( B) 13 ( C) 23 ( D) 39 20 窗体上有 1个名称为 Commandl的命令按钮,事件过程及函数过程如下: Private Sub Command1 C

10、lick() Dim mAs String m=InputBox(“请输入字符串 ”) Print pick_str(m) End Sub Private Function pick_str(s As String)As String temp=“: i=1: sLen=Len(s) Do While i1 ( D) i=10 Do i=i-2 Loop Unti1 i=1 23 以下能够正常结束循环操作的程序段是 ( A) i=5 Do i=i+1 Loop Until i0 i=i一 2 Loop ( D) i=0 Do While i2 N=N+1: J=J+N*(N+1) Loop P

11、rint N: J End Sub 运行程序,单击窗体,输出结果是 ( A) 3 21 ( B) 3 7 ( C) 0 1 ( D) 3 13 26 有如下程序: Function fun(ByVal sum As Integer)As Integer Dim k As Integer k=1 num=Abs(num) Do While sum k=k*(hum Mod 10): sum=sum 10 Loop fun=k End Function Private Sub Form Click() DiIn n As Integer,r As Integer n=InputBox(“请输入一个

12、数: ”): n=Int(n): r=fun(n): Print r ( A) 120 ( B) 48 ( C) 24 ( D) 60 27 下面程序的功能是输出 100以内所有素数: Private Sub Command1_Click() For n=2 To 100 isprime=Time: k=2 Do While k0 Print n 10 MOd 10;: Print n Mod 10;: 11=n 100 Loop Print s End Sub 程序运行后,单击命令按钮 Commandl,并输入数值 123456,则输出结果为 ( A) 6 5 4 3 2 1 ( B) 5

13、6 3 4 1 2 ( C) 6 4 2 5 3 1 ( D) 6 1 5 2 4 3 30 假定有以下程序段 For i=1 To 3 For i=5 To 1 Step1 Print i*i Next j Next i 则语句 Print i*j的执行次数是 ( A) 1 5 ( B) 16 ( C) 1 7 ( D) 1 8 国家二级 VB机试(选择题)模拟试卷 147答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 本题考查的考点是有关循环的。 本题也很简单,首先取得数组的最后一个元素加到累加变量中,然后取倒数第二个元素,乘 10后加到累加变量中,然后取倒数第三个元素,乘 1

14、00后加到累加变量中,以此类推,最后结果为1234。 【知识模块】 控制结构 2 【正确答案】 B 【试题解析】 语句 Exit For的作用是退出当前 For循环。本题中 F0r循环语句的循环变量 i不仅在执行到 Next语句时后自动加 l,而且在每次执行循环体巾的i=i+3语句时,还会加 3。当第 1次进入循环体时 i=0、 n=0:当第 2次进入循环体时 i: 4、 n=1:当第 3次进入 循环体时 i=8、 n=2,此时当执行 i=i+3和 n=n+1语句后, i=11、 n=3, If语句的条件表达式 i 10为真,将退出循环,故文本框中显示的值为 3。 【知识模块】 控制结构 3

15、【正确答案】 C 【试题解析】 本题的循环中依次用数组的每个元素和 c进行比较,如果比 c大就将数组元素累加,并令数组元素成为新的 c值;否则令累加和 d减去 c。在 5次循环中 d的累加过程为 -10+12+2l+3232=23。 【知识模块】 控制结构 4 【正确答案】 C 【试题解析】 在本题的循环中每次 累加的变量是 x,而 x在每次的循环中部会除以 i,即第一次除以 1,第二次再除以 2第三次再除以 3 以此类推 C选项是正确答案。 【知识模块】 控制结构 5 【正确答案】 D 【试题解析】 本题的 F0r循环中改变了循环变量 i的值,而且在循环中还有 Exit语句退出循环,故此需要

16、逐次循环进行分析。第一次循环中 i的初值为 1,然后变为 5,将其累加到 n中然后因其不满足 If条件,所以 i的值加上步长 l(特别重要很容易忘记 )继续循环;第二次循环开始 i的值为 6,加 E 4以后变为 10,将其累加到 n中然后因其不满足 If条件,所以 i的值加上步长 1继续循环;第三次循环开始 i的值为 11,加上 4以后变为 15,将其累加到 n中然后因其满足 If条件退出循环,所以累加三次的值为 5+10+15=30。 【知识模块】 控制结构 6 【正确答案】 D 【试题解析】 在函数中每次向累加和变量 s中累加 k*(k+1)的值,循环变量 k从1循环到 N,即为求 12+

17、23十 34+N(N+1) 的值。 【知识模块】 控制结构 7 【正确答案】 C 【试题解析】 本题的循环首先取出数组的最后一位累加,然后取出倒数第二位乘以 10以后累加;然后取出倒数第三位乘以 100后累加 以此类推,最终结果为1234。 【知识模块】 控制结构 8 【正确答案】 B 【试题解析】 本题的 For循环共执行 11次,在每次循环中计算出一个 x的值,然后判断能否被 3整除,如能整除则令计数器 n自加 1。 【知识模块】 控制结构 9 【正确答案】 D 【试题解析】 本题中要求分别统计数字 0 9的个数,使用了一个数组 couIlt来存放各个数字的个数。在第一个 For循环【 】

18、,将数组的各个元素设置为 0,在第二个循环中,依次取出字 符串中的每一个字符,判断是不是在 0 9之间,如果在范围内,则应该令对应的数组元素加 1。如果写成 count(i)=count(i)+1,只能顺序的令每一个数组元素都加 1,只有改写成 count(x)=count(x)+1,让 x作为下标,才能保征让 x对应的数组元素加 1。 【知识模块】 控制结构 10 【正确答案】 C 【试题解析】 组合框的 Text属性将会返回或者设置编辑区中的文本,本题中显示的是 1 10的累加和 55。 【知识模块】 控制结构 11 【正确答案】 D 【试题解析】 本题函数过程的原代码仅适合 a不能被 b

19、整除的两数,而当 a能被b整除时则不适用,如 a=4, b=2, a除以 b的余数为 0,而原代码返回的函数值为2。因此需将语句 while ab改为 While a=b。 【知识模块】 控制结构 12 【正确答案】 D 【试题解析】 本题是简单 while循环,在循环中改变循环变量 x的值,要注意退出循环时 x必然是不会满足循环条件的。本题中循环中 x依次变化为 1、 4、 25。 【知识模块】 控制结构 13 【正确答案】 D 【试题解析】 本题考查的考点是有关 Do型循环的。对于这种循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体;如果是后判断

20、条件,则无论条件如何至少执行一次循环体。在 unt订循环中条件为 False时执行循环体,条件为 True时退出循环;存 while循环中条件为 True时执行循环体,条件为 False时退出循环,这一点要注意区分清楚。 【知识模块】 控制结构 14 【正确答案】 D 【试题解析】 VisuaI Basic支持的循环结构包括: ForNext 循环、 For EachNext 循环 、 DoLooD 循环和 while循环。 【知识模块】 控制结构 15 【正确答案】 B 【试题解析】 本题考查的考点是有关 Do型循环的。对于这种循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件

21、,则有可能一次也不执行循环体;如果是后判断条件,则无论条件是什么,至少执行一次循环体。在 unt订循环中条件为 False时执行循环体,条件为 me时退出循环;在 while循环中条件为 True时执行循环体,条件为 False时退出循环,这一点要注意区分清楚。本题只需要实际计算一下两次循环中 x和 n值的变化即可容易的得出结果。 【知识模块】 控制结构 16 【正确答案】 B 【试题解析】 Do型循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体:如果是后判断条件,则无论条件足什么,至少执行一次循环体。在 until循环中条件为 False时执行循环

22、体,条件为 True时退出循环;在 while循环中条件为 True时执行循环体,条件为 False时退出循环。本题中使用的是后判断型循环,第一次循环时 y的值为 1,不满足y10,执行 Else分支, x变成 4,此时 由于满足 xl而无限循环; D选项由于 i的值从 10开始递减,但是因为 每次递减 2,所以 i永远为偶数,不会满足 i=1而无限 【知识模块】 控制结构 23 【正确答案】 C 【试题解析】 Do循环语句的功能是:当指定的 “循环条件 ”为真或直到指定的 “循环条件 ”变为真之前重复执行循环体。 Do WhilelUntilLoop 循环是在条件满足的情况下才执行一次循环体

23、,而 DoLoop WhileIUntil 循环不管是否满足条件都先执行一次循环体,然后再判断条件是否成立以决定后续操作。本题的 A选项由于 i的值从 5开始递增,永远不会满足 i0而无限循环; B选项由于 i的值从 5开 始递增,永远满足 i=1而无限循环; D选项由于 i的值从 0开始递减,永远满足 i1而无限循环。 【知识模块】 控制结构 24 【正确答案】 D 【试题解析】 本题中 Do循环的循环变量 i的初值为 1,继续循环的条件是 i6,在每次循环中 i的值加 1,因此循环会执行 5次;在第一次循环中累加 1, 2,第二次循环中累加 2 3,第三次循环中累加 3 4 即最后计算的是

24、 1 2+2 3+34+4 5+5 6的值 【知识模块】 控制结构 25 【正确答案】 A 【试题解析】 Do循环语句的功能是: 当指定的 “循环条件 ”为真或直到指定的 “循环条件 ”变为真之前重复执行循环体。 Do While untilLoop 循环是在条件满足的情况下才执行一次循环体,而 DoLoop While Unti!循环不管是否满足条件都先执行一次循环体,然后再判断条件是否成立以决定后续操作。本题的循环共执行 3次,跳出循环时 N的值为 3, J的值为 2l。 【知识模块】 控制结构 26 【正确答案】 B 【试题解析】 在函数 fun中会对传过来的参数 num进行判断,如果不

25、为 0则进行循环,将各位数字乘到一起然后作为函数的返 回值。 【知识模块】 控制结构 27 【正确答案】 A 【试题解析】 求素数的基本思路是,用 2到 n 2依次去除要判断的数 n,如果能整除就将 isprime置为 False代表不是素数;如果 isprime已经为 False,那么循环没有继续执行的必要了,所以应填入 isprime=True,由于是布尔型变量,可以简写为 isprime。 【知识模块】 控制结构 28 【正确答案】 A 【试题解析】 本题实际上是在子过程 subl中对 arr数组进行的赋值工作,形参 d的值为 12, f的值为 2, k的初值为 0;在循环中计算 d除以

26、 2的余数放到数组的第一个元素,整除 2后再除以 2的余数放到第二个元素 以此类推,最后数组arr中存放的是 (0、 0、 1、 1),在 CommandlClick()过程中调用完子过程对数组进行赋值以后,逆序输出了数组的值。 【知识模块】 控制结构 29 【正确答案】 B 【试题解析】 本题中是在一个 Do循环中对一个数字进行分解,首先输出该数字整除 10之后再除以 10得到的余数 (即十位上数字 ),然后输出该数除以 10得到的余数 (即个位数字 ),然后将该数去掉十位和个位上的数字 以后继续循环,最终依次输出 5、 6、 3、 4、 1、 2。 【知识模块】 控制结构 30 【正确答案】 A 【试题解析】 本题考查的考点是有关二重循环的。 For“Next循环语句可提供一个重复执行的语句序列,遵循 “先检查,后执行 ”的规则,执行过程中,循环次数=Int(终值 -初值 )步长 +1。二重循环的内循环语句执行次数等于内外循环次数之积。 【知识模块】 控制结构

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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