[计算机类试卷]国家二级VB机试(控制结构)模拟试卷15及答案与解析.doc
《[计算机类试卷]国家二级VB机试(控制结构)模拟试卷15及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级VB机试(控制结构)模拟试卷15及答案与解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 VB机试(控制结构)模拟试卷 15及答案与解析 一、选择题 1 编写如下程序: Private Sub Commandl_Click() Dim m As Integer,n As Integer m=1: n=0 Do While m20 n=m+n: m=3*m+1 Loop Print m, n End Sub 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) 40 18 ( B) 40 19 ( C) 20 64 ( D) 21 64 2 下列循环中, 可以正常结束的是 ( A) i=10 Do i=i+1 Loop Until i 1 ( B) i=1 Do
2、 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 3 以下能够正常结束循环操作的程序段是 ( A) i=5 Do i=i+1 Loop Until i 0 ( B) i=5 Do i=i+2 Loop Until i=1 ( C) i=5 Do While i 0 i=i-2 Loop ( D) i=0 Do While i 1 i=i-2 Loop 4 窗体上有一个名称为 Commandl的命令按钮,其单击事件过程如下: Private Sub Commandl
3、_Click() Dim s As Double s=0: i=1 Do While i6 s=s+i (i+1): i=i+1 Loop Print s End Sub 该事件过程的功能是计算一个表达式的值,该表达式是 ( A) 1+1 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 5 假定有如下程序: Private Sub Form_Click() Dim N As Integer, J As Integer N=0 J=1 Do Until N 2 N=N+1
4、: J=J+N*(N+1) Loop Print N; J End Sub 运行程序,单击窗体,输出结果是 ( A) 3 21 ( B) 3 7 ( C) 0 1 ( D) 3 13 6 有如下程序: Function fun(ByVal aura As Integer)As Integer Dim k As Integer k=1 num=Abs(num) Do While num k=k*(num Mod 10): num=num 10 Loop fun=k End Function Private Sub Form_Click() Dim n As Integer, r As Integ
5、er n=InputBox(“请输入一个数: “): n=Int(n): r=fun(n): Print r End Sub 程序运行后,单击窗体,在输入对话框中输入 246,输出结果为 ( A) 120 ( B) 48 ( C) 24 ( D) 60 7 下面程序的功能是输出 100以内所有素数: Private Sub Commandl_Click() For n=2 To 100 isprime=True: k=2 Do While k =n 2 And_ If n Mod k=0 Then isorime=False k=k+1 Loop If isprime Then Print n
6、 Next n End Sub 为使上面程序可以实现该功能,程序代码中横线处应填写的代码是 ( A) isprime ( B) Not isprime ( C) n 100 ( D) n =100 8 编写如下程序: Dim hum As Integer, r As Integer, n As Integer, i As Integer, arr(5)As Integer Private Sub Commandl_Click() num=12: r=2 Call subl(num, r, n) For i=n To 1 Step-1 Print arr(i); Next i End Sub S
7、ub sub1(d As Integer, r As Integer, k As Integer) k=0 Do While d 0 k=k+1: arr(k)=d Mod r: d=d r Loop End Sub 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) 1 1 0 0 ( B) 0 0 1 1 ( C) 0 1 0 1 ( D) 1 0 1 0 9 编写如下程序: Private Sub Commandl_Click() Dim n As Long, s As String n=InputBox(“输入一个数 “) Do While n 0 Print n 10
8、Mod 10;: Print n Mod 10: n=n 100 Loop Print s End Sub 程序运行后,单击命令按钮 Commandl,并输入数值 123456,则输出结果为 ( A) 6 5 4 3 2 1 ( B) 5 6 3 4 1 2 ( C) 6 4 2 5 3 1 ( D) 6 1 5 2 4 3 10 假定有以下程序段 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 11 在窗体上画 1个命 令按
9、钮,并编写如下事件过程: Private Sub Commandl_Click() Dim a(3, 3) For m=1 To 3 For n=1 To 3 If n=m Or n=4-mThen 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 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 12 编写如下程序
10、: Private Sub Commandl_Click() Dim num As Integer, k As Integer,n As Integer num=InputBox(“请输入一个正整数: “) k=num n=2 Do Do While num Mod n=0 Prim n: num=num n Loop n=n+1 Loop Until n k 2 End Sub 程序运行后,单击命令按钮 Commandl,并输入数值 20,则输出结果为 ( A) 2 2 5 ( B) 2 3 4 ( C) 2 3 4 5 ( D) 2 5 13 编写如下程序: Private Sub Com
11、mandl_Click() Dim a(3, 3)As Integer, b(3, 3)As Integer For i=1 To 3 For j=1 To 3 a(i, j)=i+j: b(i, j)=a(i, j)+i*(j-1) Next j Next i For i=l To 3 For j=1 To 3 Print b(i, j); Next j Print Next i End Sub 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) 2 3 4 3 4 5 4 5 6 ( B) 2 4 6 3 6 9 4 8 12 ( C) 3 5 7 5 8 11 7 11 1
12、5 ( D) 4 6 8 7 10 13 10 14 18 14 已知在 4行 3列的全局数组 score(4, 3)中存放了 4个学生 3门课程的考试成绩(均为整数 )。现需要计算每个学生的总分,某人编写程序如下: Option Base 1 Private Sub Commandl_Click() Dim sum As Integer sum=0 For i=1 To 4 For j=1 To 3 sum=sum+score(i, j) Nextj Print“第 “&i&“个学生的总分是: “; sum Next i End Sub 运行此程序时发现,除第 1个人的总分计算正确外,其他人
13、的总分都是错误的,程序需要修改。以下修改方案中正确的是 ( A)把外层循环语句 For i=1 To 4改为 For i=1 To 3内层循环语句 For j=1 To 3改为 For i=1 To 4 ( B)把 sum=0移至 0 For i=1 To 4和 For i=1 To 3之间 ( C)把 sum=sum+score(i, j)改为 sum=sum+score(j, i) ( D)把 sum=sum+score(i, j)改为 sum=score(i, j) 15 在窗体上画一个命令按钮和一个标签,其名称分别为 Command1和 Label1,然后编写如下事件过程: Priva
14、te Sub Commandl_Click() Counter=0 For i=1 To 4 For i=6 To 1 Step-2 Counter=Counter+1 1 Nextj Next i Label1 Caption=Str(Counter) End Sub 程序运行后,单击命令按钮,标签中显示的内容是 ( A) 11 ( B) 12 ( C) 16 ( D) 20 16 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Commandl_Click() DimI, Num Randomize Do For I=1 To 1000 Num=Int(Rnd*10
15、0): Print Num; Select Case Num 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时窗体关闭、程序结束 17 运行如下程序 Private Sub Commandl_Click() Dim a(5, 5)As Int
16、eger For i=1 To 5 Forj=1 To 4 a(i, j)=i*2+j If a(i, j) 7=a(i, j) 7 Then n=n+1 End If Nextj Next Print n End Sub 则 n的值是 ( A) 2 ( B) 3 ( C) 4 ( D) 5 18 命令按钮 Commandl的单击事件过程如下: Private Sub Commandl_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 Ifx a(i, j)Then x=a(i, j)
17、 Next Next Print x End Sub 执行上述事件过程后,窗体上显示的是 ( A) 1 ( B) 2 ( C) 3 ( D) 4 19 设有如下程序: Option Base 1 Dim a(3, 4)As Integer, b(4, 3)As Integer Private Sub Commandl_Click() 循环 1 For i=1 To 3 Forj=l To 4 b(j, i)=a(i, j) Next j Next i 循环 2 x=b(1, 1) For i=1 To 4 Forj=1 To 3 Print b(i, j); Ifx b(i, j)Then x
18、=b(i, j) Nextj Print Next i End Sub 程序中的数组 a已被赋值。以下关于上述程序的叙述中,正确的是 ( A)窗体模块中,不能使用 Dim声明 a、 b数组 ( B) “循环 1”可以正常运行 ( C) “循环 2”中循环变量 i、 j的终值不对,所以不能正常运行 ( D)程序可 以正常运行, x中保存的是数组 b中所有元素中最小的数 20 有如下程序: 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 Nextj p=p*s N
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 VB 机试 控制 结构 模拟 15 答案 解析 DOC
