[计算机类试卷]国家二级VB机试(选择题)模拟试卷9及答案与解析.doc
《[计算机类试卷]国家二级VB机试(选择题)模拟试卷9及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级VB机试(选择题)模拟试卷9及答案与解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 VB机试(选择题)模拟试卷 9及答案与解析 一、选择题 1 在窗体上画一个名称为 Commandl的命令按钮,编写如下事件过程: Private Sub Commandl_Click() n=0 For i=0 To 10 X=2 *i-1 If X Mod 3=0 Then n=n+1 Next i Prim n End Sub 运行程 序,单击命令按钮,则窗体上显示的是 ( A) 1 ( B) 3 ( C) 5 ( D) 7 2 体上有一个名称为 Textl的文本框,一个名称为 Commandl的命令按钮。要求编写一个程序,统计文本框中 0-9各数字字符的个数。某人编写如下程序:
2、 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 c =”9”Then x=Val(c): count(i)=count(i)+1 End If Next第 3个 For循环 For i=0 To 9 Print Str(i), count(i) Next End Sub 运行程序后,
3、发现不能实现题目的要求,程序应该进行的修改是 ( A)将第 2个 For循环的初值改为 0 ( B)将第 2个 For语句改为 For i=0 To 9 ( C)去掉 x=Val?语句 ( D)将 count(i)=count(i)+1改为 count(x)=count(x)+1 3 在窗体上画一个组合框,其名称为 Combol,然后编写如下事 件过程: Private Sub Form_Load() Comb01 Text=”1” For i=1 T0 10 Sum=Sum+i Next i Combol Text=Sum End Sub 程序运行后,输出结果为 ( A)在组合框的编辑区中显
4、示 1 ( B)在组合框的编辑区中显示不定值 ( C)在组合框的编辑区中显示 55 ( D)出错信息 4 设 a、 b都是自然 数,为求 a除以 b的余数,某人编写了以下函数: Function fun(a As Integer,b As Integer) While a b a=a-b Wend fun=a End Function 在调试时发现函数是错误的。为使函数能产生正确的返回值,应做的修改是 ( 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改为 Whilea =b 5
5、 设有如下事件过程: 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 6 假定有以下循环结构 Do Until条 件表达式循环体 Loop则以下正确的描述是 ( A)如果 “条件表达式 ”的值是 0,则一次循环体也不执行 ( B)如果 “条件表达式 ”的值不为 0,则至少执行一次循环体 ( C)不论 “条件表达式 ”的值是否为 “真 ”,至少要执行一次循环体 ( D)如果 “条件表达式 ”的值恒为 0
6、,则无限次执行循环体 7 以下 Visual Basic不支持的循环结构是 ( A) ForNext ( B) For EachNext ( C) DoLoop ( D) DoEnd Do 8 在窗体上画两个文本框 (名称分别为 Textl和 Text2)和一个命令按钮 (名称为Commandl),然后编写如下事件过程: Private Sub Command l_Click() x=0 Do While x 50 x=(x+2)*(x+3): n=n+1 Loop Textl Text=Str(n): Text2 Text=Str(x) End Sub 程序运行后,单击命令按钮,在两个文本框
7、中显示的值分别为 ( A) 1和 0 ( B) 2和 72 ( C) 3和 50 ( D) 4和 168 9 编写如下程序: Private Sub Command l_Click() Dim x As Integer,y As Integer x=1: y=1 Do y=x*y If y 10 Then Exit Do Else x=x+3 End If Loop Until x =10 Print x; y End Sub 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) l 1 ( B) 4 1 ( C) 4 2 ( D) 7 28 10 编写如下程序: Private
8、Sub Command l_Click() Dim n As Long, s As String n=InputBox(”输入一个数 ”) Do While n 0 s=s&n Mod 10: s=s&n 10 Mod 10 n=n 100 Loop Print s End Sub 程序运行后,单击命令按钮 Commandl,并输入数值 123456,则输出结果为 ( A) 654321 ( B) 563412 ( C) 642531 ( D) 615243 11 下面程序计算并输出的是 Private Sub Command l_Click() a=10: s=0 Do s=s+a*a*a:
9、 a=a-1 Loop Until a 0 Print s End Sub ( A) 1 3+23+33+103 的值 ( B) 10 !+3 !+2 !+1 ! 的值 ( C) (1+2+3+10)3 的值 ( D) 10个 103的和 12 窗体上有 1个名称为 Commandl的命令按钮,事件过程如下: Private Sub Command l_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 End if Lo
10、op Print x End Sub 运行程序,单击命令按钮,并输入 2个整数 169和 39,则在窗体上显示的内容为 ( A) 1l ( B) 13 ( C) 23 ( D) 39 13 窗体上有 1个名称为 Commandl的命令按钮,事件过程及函数过程如下: Private Sub Command l_Click() Dim m As String m=InputBox(”请输入字符串 ”) Print pick_str(m) End Sub Private Function pick_str(s As String)As String temp=“: i=1: sLen=Len(s)
11、Do While i =sLen 2 temp=temp+Mid(s, i, 1)+Mid(s, sLen-i+1, 1) i=i+1 Loop pick_str=temp End Function 运行程序,单击命令按钮,并在输入对话框中输入 “basic”,则在窗体上显示的内容为 ( A) bcai ( B) cbia ( C) bcais ( D) cbias 14 编写如下程序: Private Sub Command 1 Click() Dim m As Integer, n As Integer m=1: n=0 Do While m 20 n=m+n: m=3*m+1 Loop
12、Print m, n End Sub 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) 40 18 ( B) 40 19 ( C) 20 64 ( D) 21 64 15 下列循环中,可以正常结束的是 ( A) i=10 Do i=i+1 Loop Until i 1 ( B) i=1 Do i=i+l 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 16 以下能够正常结束循环操作的程序段是 ( A) i=5 Do i=i+1 Loop Until i 0 (
13、 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 17 窗体上有一个名称为 Commandl的命令按钮,其单击事件过程如下: Private Sub Command l_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 2+2 3+3 4+4 5 ( B) 1+1
14、 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 18 假定有如下程序: Private Sub Form_Click() Dim N As Integer,J As Integer N=0 J=1 Do Until N 2 N=N+1: J=J+N*(N+1) Loop Prim N: J End Sub 运行程序,单击窗体,输出结果是 ( A) 3 21 ( B) 3 7 ( C) 0 1 ( D) 3 13 19 有如下程序: Function fun(ByVal num As Integer)As Inte
15、ger 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 nAs Integer,rAs Integer n=InputBox(”请输入一个数: ”): n=Int(n): r=fun(n): Print r End Sub 程序运行后,单击窗体,在输入对话框中输入 246,输出结果为 ( A) 120 ( B) 48 ( C) 24 ( D) 60 20 下面程序的功能是输出 100以内
16、所有素数: Private Sub Commandl_Click() For n=2 To 100 isprime=True: k=2 Do While k =n 2 And_ Ifn Mod k=0 Then isprime=False k=k+1 Loop If isprime Then Print n Next n End Sub 为使上面程序可以实现该功能,程序代码中横线处应填写的代码是 ( A) isprime ( B) Not isprime ( C) n 100 ( D) n =100 21 编写如下程序: Dim num As Integer, r As Integer,n A
17、s Integer,i As Integer,arr(5)As Integer Private Sub Command l_Click() num=12: r=2 Call subl(num, r, n) For i=n To 1 Step-1 Print arr(i); Next i End Sub Sub sub 1(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
18、 0 ( B) 0 0 1 1 ( C) 0 1 0 1 ( D) 1 0 1 0 22 编写如下程序: Private Sub Command l_Click() Dim nAs Long, sAs String n=InputBox(”输入一个数 ”) DO While n 0 Print n 10 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
19、 ( D) 6 1 5 2 4 3 23 假定有以下程序段 For i=1 To 3 For i=5 To 1 Step-1 Print i*j Nextj Next i 则语句 Print i*j的执行次数是 ( A) 15 ( B) 16 ( C) 17 ( D) 1 8 24 在窗体上画 1个命令按钮,并编写如下事件过程: Private Sub Command l_Click() Dim a(3, 3) For m=1 T0 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,
20、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 25 编写如下程序: Private Sub Command l_Click() Dim num As Integer,k As Integer,n As Integer num=InputBox(”请输入一个正整数: ”) k=num n=2 Do Do While num Mod n=0 Print n
21、;: 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 26 编写如下程序: Private Sub Command l_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*(j1) Next i Next i For i=1 To
22、3 For j=l 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 15 ( D) 4 6 8 7 10 13 10 14 18 27 已知在 4行 3列的全局数组 score(4, 3)中存放了 4个学生 3门课程的考试成绩(均为整数 )。现需要计算每个学生的总分,某人编写程序如下: Option Base 1 Private Sub Command
23、l_Click() Dim sum As Integer sum=0 For i=1 To 4 For i=1 To 3 sum=sum+score(i, j) Next j Print”第 ”&i&”个学生的总分是: ”; sum Next i End Sub 运行此程序时发现,除第 1个人的总分计算正确外,其他人的总分都是错误的,程序需要修改。以下修改方案中正确的是 ( A)把外层循环语句 For i=1 To 4改为 For i=1 To 3内层循环语句 Forj=1 To 3改为 For i=1 To 4 ( B)把 sum=0移到 For i=1 To 4和 Forj=1 To 3之
24、间 ( C)把 sum=sum+score(i, j)改为 sum=sum+score(j, i) ( D)把 sum=sum+score(i, j)改为 sum=score(i, j) 28 在窗体上画一个命令按钮和一个标签,其名称分别为 Commandl和 Labell,然后编写如下事件过程: Private Sub Command l_Click() Counter=0 For i=1 To 4 For i=6 To 1 Step-2 Counter=Counter+1 Next j Next i Label l.Caption=Str(Counter) End Sub 程序运行后,单击
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 VB 机试 选择题 模拟 答案 解析 DOC
