【计算机类职业资格】二级VISUAL+BASIC-82 (1)及答案解析.doc
《【计算机类职业资格】二级VISUAL+BASIC-82 (1)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级VISUAL+BASIC-82 (1)及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 VISUAL+BASIC-82 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.设 a、b 都是自然数,为求 a 除以 b 的余数,某人编写了以下函数: Function fun(a As Integer, b As Integer) While ab a=a-b Wend fun=a End Function 在调试时发现函数是错误的。为使函数能产生正确的返回值,应做的修改是(分数:2.50)A.把 a=a-b 改为 a=b-aB.把 a=a-b 改为 a=a/bC.把 While ab 改为 While abD.把 Whi
2、le ab 改为 While a=b2.设有如下事件过程: Private Sub Form_Click() x=0 While x10 x=x+1:x=x*x Wend Print x End Sub 运行程序,单击窗体,输出结果是(分数:2.50)A.16B.19C.20D.253.假定有以下循环结构 Do Until 条件表达式循环体 Loop 则以下正确的描述是(分数:2.50)A.如果“条件表达式”的值是 0,则一次循环体也不执行B.如果“条件表达式”的值不为 0,则至少执行一次循环体C.不论“条件表达式”的值是否为“真”,至少要执行一次循环体D.如果“条件表达式”的值恒为 0,则无
3、限次执行循环体4.以下 Visual Basic 不支持的循环结构是(分数:2.50)A.For.NextB.For Each.NextC.Do.LoopD.Do.End Do5.在窗体上画两个文本框(名称分别为 Text1 和 Text2)和一个命令按钮(名称为 Command1),然后编写如下事件过程: Private Sub Command1_Click() x=0 Do While x50 x=(x+2)*(x+3):n=n+1 Loop Text1.Text=Str(n):Text2.Text=Str(x) End Sub 程序运行后,单击命令按钮,在两个文本框中显示的值分别为(分数
4、:2.50)A.1 和 0B.2 和 72C.3 和 50D.4 和 1686.编写如下程序: Private Sub Command1_Click() Dim x As Integer, y As Integer x=1:y=1 Do y=x*y If y10 Then Exit Do Else x=x+3 End If LoopUntil x=10 Print x; y End Sub 程序运行后,单击命令按钮 Command1,输出结果为(分数:2.50)A.1 1B.4 1C.4 2D.7 287.编写如下程序: Private Sub Command1_Click() Dim n A
5、s Long, s As String n=InputBox(“输入一个数“) Do While n0 s=s J End Sub 运行程序,单击窗体,输出结果是(分数:2.50)A.3 21B.3 7C.0 1D.3 1316.有如下程序: Function fun(ByVal num As Integer)As Integer Dimk As Integerk=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 In
6、teger, r As Integer n=InputBox(“请输入一个数:“):n=Int(n):r=fun(n):Print r End Sub 程序运行后,单击窗体,在输入对话框中输入 246,输出结果为(分数:2.50)A.120B.48C.24D.6017.下面程序的功能是输出 100 以内所有素数: Private Sub Command1_Click() For n=2 To 100 isprime=True:k=2 Do Whilek=n/2 And _ If n Mod k=0 Then isprime=False k=k+1 Loop If isprime Then Pr
7、int n Next n End Sub 为使上面程序可以实现该功能,程序代码中横线处应填写的代码是(分数:2.50)A.isprimeB.Not isprimeC.n100D.n=10018.编写如下程序: Dim num As Integer, r As Integer, n As Integer, i As Integer, arr (5) As Integer Private Sub Command1_Click() num=12:r=2 Call sub1(num, r, n) For i=n To 1 Step-1 Print arr(i); Next i End Sub Sub
8、sub 1(d As Integer, r As Integer, k As Integer) k=0 Do While d0 k=k+1:arr(k)=d Mod r:d=d/r Loop End Sub 程序运行后,单击命令按钮 Command1,输出结果为(分数:2.50)A.1 1 0 0B.0 0 1 1C.0 1 0 1D.1 0 1 019.编写如下程序: Private Sub Command1_Click() Dim n As Long, s As String n=InputBox(“输入一个数“) Do While n0 Printn/10 Mod 10; :Print
9、n Mod 10; :n=n/100 Loop Print s End Sub 程序运行后,单击命令按钮 Command1,并输入数值 123456,则输出结果为(分数:2.50)A.6 5 4 3 2 1B.5 6 3 4 1 2C.6 4 2 5 3 1D.6 1 5 2 4 320.假定有以下程序段 For i=1 To 3 For i=5 To 1 Step-1 Print i*j Next j Next i 则语句 Printi*j 的执行次数是(分数:2.50)A.15B.16C.17D.1821.在窗体上画 1 个命令按钮,并编写如下事件过程: Private Sub Comma
10、nd1_Click() Dim a(3, 3) For m=1 To 3 For n=1 To 3 Ifn=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 运行程序,单击命令按钮,窗体上显示的内容为(分数:2.50)A.2 0 0 0 4 0 0 0 6B.2 0 4 0 4 0 4 0 6C.2 3 0 3 4 0 0 0 6D.2 0 0 0 4 5 0 5 622.编写如下程序: Private Sub Command1_Click() Dim num
11、 As Integer, k As Integer, n As Integer num=InputBox(“请输入一个正整数:“) k=num n=2 Do Do While num Mod n=0 Print n:num=num/n Loop n=n+1 Loop Until nk/2 End Sub 程序运行后,单击命令按钮 Command1,并输入数值 20,则输出结果为(分数:2.50)A.2 2 5B.2 3 4C.2 3 4 5D.2 523.编写如下程序: Private Sub Command1_Click() Dim a(3, 3) As Integer, b(3, 3) A
12、s 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=1 To 3 For j=1 To 3 Print b(i, j); Next j Print Next i End Sub 程序运行后,单击命令按钮 Command1,输出结果为(分数:2.50)A.2 3 4 3 4 5 4 5 6B.2 4 6 3 6 9 4 8 12C.3 5 7 5 8 11 7 11 15D.4 6 8 7 10 13 10 14 1824.已知在 4 行 3 列的全局数组 sco
13、re(4,3)中存放了 4 个学生 3 门课程的考试成绩(均为整数)。现需要计算每个学生的总分,某人编写程序如下: Option Base 1 Private Sub Command1_Click() Dim sum As Integer sum=0 For i=1 To 4 For j=1 To 3 sum=sum+score(i, j) Next j Print“第“ sum Next i End Sub 运行此程序时发现,除第 1 个人的总分计算正确外,其他人的总分都是错误的,程序需要修改。以下修改方案中正确的是(分数:2.50)A.把外层循环语句 For i=1 To 4 改为 For
14、 i=1 To 3 内层循环语句 For j=1 To 3 改为 For j=1 To 4B.把 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(i,j)25.在窗体上画一个命令按钮和一个标签,其名称分别为 Command1 和 Label1,然后编写如下事件过程: Private Sub Command1_Click() Counter=0 For i=1 To 4 For j=6 To 1 Step-2 C
15、ounter=Counter+1 Next j Next i Label1.Caption=Str(Counter) End Sub 程序运行后,单击命令按钮,标签中显示的内容是(分数:2.50)A.11B.12C.16D.2026.在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim I, Num Randomize Do For I=1 To 1000 Num=Int(Rnd*100):Print Num; Select Case Num Case 12 Exit For Case 58 Exit Do Case 65, 68,
16、92 End End Select Next I Loop End Sub 上述事件过程执行后,下列描述中正确的是(分数:2.50)A.Do 循环执行的次数为 1000 次B.在 For 循环中产生的随机数小于或等于 100C.当所产生的随机数为 12 时结束所有循环D.当所产生的随机数为 65、68 或 92 时窗体关闭、程序结束27.运行如下程序 Private Sub Command1_Click() Dim a(5, 5)As Integer For i=1 To 5 For j=1 To 4 a(i, j)=i*2+j If a(i, j)/7=a(i, j)/7 Then n=n+
17、1 End If Next j Next Print n End Sub 则 n 的值是(分数:2.50)A.2B.3C.4D.528.命令按钮 Command1 的单击事件过程如下: Private Sub Command1_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 xa(i, j) Then x=a(i, j) Next Next Print x End Sub 执行上述事件过程后,窗体上显示的是(分数:2.50)A.1B.2C.3D.429.设有如下程序: Opti
18、on Base 1 Dim a(3, 4)As Integer, b(4, 3) As Integer Private Sub Command1_Click() “循环 1 For i=1 To 3 For i=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 xb(i, j) Then x=b(i, j) Next j Print Next i End Sub 程序中的数组 a 已被赋值。以下关于上述程序的叙述中,正确的是(分数:2.50)A.窗体模
19、块中,不能使用 Dim 声明 a、b 数组B.“循环 1”可以正常运行C.“循环 2”中循环变量 i、j 的终值不对,所以不能正常运行D.程序可以正常运行,x 中保存的是数组 b 中所有元素中最小的数30.有如下程序: Private Sub Form_Click() Dim s As Integer, p As Integer p=1 For i=1 To 4 For j=1 To i s=sj Next j p=p*s Next i Print p End Sub 程序运行后,单击窗体,则输出结果是(分数:2.50)A.90B.180C.400D.80031.窗体上有 1 个名称为 Com
20、mand1 的命令按钮,事件过程如下: Private Sub Command1_Click() Dim art_x(5, 5)As Integer For i=1 To 3 For j=2 To 4 arr_x(i, j)=i*j Next j Next i Print arr_x(2, 1); arr_x(3, 2); arr_x(4, 3) End Sub 运行程序,并单击命令按钮,窗体上显示的内容为(分数:2.50)A.0 6 0B.2 6 0C.0 6 12D.2 6 1232.在窗体上画一个名称为 Command1 的命令按钮,并编写如下程序: Option Base 1 Priv
21、ate Sub Command1_Click() Dim a(4, 4) For i=1 To 4 For j=1 To 4 a(i, j)=(i-1)*3+j Next j Next i For i=3 To 4 For j=3 To 4 Print a(j, i); Next j Print Next i End Sub 运行程序,单击命令按钮,则输出结果为(分数:2.50)A.6 9 7 10B.7 10 8 11C.8 11 9 12D.9 12 10 1333.编写如下程序: Private Sub Command1_Click() Dim a(3, 3) As Integer, s
22、 As Integer For i=1 To 3 For j=1 To 3 a(i, j)=i*j+i Next j Next i s=0 For i=1 To 3 s=s+a(i, 4-i) Next i Print s End Sub 程序运行后,单击命令按钮 Command1,输出结果为(分数:2.50)A.7B.13C.16D.2034.编写如下程序: Private Sub Command1_Click() Dim i As Integer, j As Integer n=InputBox(“输入一个大于 1 的正整数“) For i=2 To n For j=2 To Sqr(i)
23、 If i Mod j=0 Then Exit For Next j If jSqr(i) Then Print i Next i End Sub 该程序的功能是(分数:2.50)A.判断 n 是否为素数B.输出 n 以内所有的奇数C.输出 n 以内所有的偶数D.输出 n 以内所有的素数35.命令按钮 Command1 的事件过程如下: Private Sub Command1_Click() Dim art(5, 5)As Integer Dim i As Integer, j As Integer For i=1 To 4 For j=2 To 4 arr(i, j)=i+j Next j
24、 Next i Print arr(1, 3)+arr(3, 4) End Sub 执行上述过程,输出结果是(分数:2.50)A.6B.7C.11D.1236.有如下程序: Private Sub Command1_Click() Dim i As Integer, j As Integer, sum As Integer n=1 Do j=1 Do sum=sum+j:j=j+1 Print j; Loop Until j3 n=n+2 Loop Until n10 Print sum End Sub 运行上述程序,外层 Do 循环执行的次数为(分数:2.50)A.4B.5C.7D.1037
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 VISUALBASIC821 答案 解析 DOC
