【计算机类职业资格】二级VISUAL+BASIC-48及答案解析.doc
《【计算机类职业资格】二级VISUAL+BASIC-48及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级VISUAL+BASIC-48及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、二级 VISUAL+BASIC-48 及答案解析(总分:97.50,做题时间:90 分钟)1.设有如下程序。 Private Sub Command1_Click() x=10:y=0 For i=1 To 5 Do x=x-2 y=y+2 Loop Until y5 Or x-1 Next End Sub 运行程序,其中 Do 循环执行的次数是_。(分数:2.50)A.15B.10C.7D.32.默认情况下,下面声明的数组的元素个数是_。 Dim a(5,-2 To 2)(分数:2.50)A.20B.24C.25D.303.请阅读程序: Option Base 1 Private Sub F
2、orm_Click() Dim Arr(4,4)As Integer For i=1 To 4 For j=1 To 4 Arr(i,j)=(i-1)*2+j Next j Next i For i=3 To 4 For j=3 To 4 Print Arr(j,i) Next j Print Next i End Sub 程序运行后,单击窗体,则输出结果是_。(分数:2.50)A.5 76 87 98 108 1 1B.6 8C.7 9D.8 104.设有如下程序段: Dim a(10) . For Each x In a Print x; Next x 在上面的程序段中,变量 x 必须是_
3、。(分数:2.50)A.整型变量B.变体型变量C.动态数组D.静态数组5.在窗体上画一个名为 Command1 的命令按钮,然后编写以下程序: Private Sub Command1 Click() Dim a(10) As Integer For k=10 To 1 Step-1 a(k)=20-2*k Next k k=k+7 Print a(k-a(k) End Sub 运行程序,单击命令按钮,输出结果是_。(分数:2.50)A.18B.12C.8D.66.没有如下程序: Private Sub Form_Click() Dim ary(1 To 5)As Integer Dim i
4、As Integer Dim sum As Integer For i=1 To 5 ary(i)=i+1 sum=sum+ary(i) Next i Print sum End Sub 程序运行后,单击窗体,则在窗体上显示为_。(分数:2.50)A.15B.16C.20D.267.要求产生 10 个随机整数,存放在数组 arr 中。从键盘输入要删除的数组元素的下标,将该元素中的数据删除,后面元素中的数据依次前移,并显示删除后剩余的数据。现有如下程序: Option Base 1 Private Sub Commandl_Click() Dim arr(10) As Integer For i
5、=1 To 10 “循环 1 arr(i)=Int(Rnd*100) Print arr(i); Next x=Input(“输入 1-10 的一个整数:“) For i= x+1 To 10 “循环 2 arr(i-1)= arr(i) Next For i=1 To 10 “循环 3 Print arr(i); Next End Sub 程序运行后发现显示的结果不正确,应该进行的修改是_。(分数:2.50)A.产生随机数时不使用 Int 函数B.循环体 2 的初值应为 i=xC.数组定义改为 Dim a(11) As IntegerD.循环 3 的循环终值应改为 98.在窗体上画一个命令按
6、钮(其名称为 Command1),然后编写如下代码: Private Sub Command1_Click() Dim a a=Array(1,2,3,4) i=3:j=1 Do While i=0 s=s+a(i)*j i=1-1 j=j*10 Loop Print s End Sub 运行上面的程序,单击命令按钮,则输出结果是_。(分数:2.50)A.4321B.123C.234D.12349.阅读程序: Private Sub Command1_Click() Dim arr Dim i As Integer arr=Array(0,1.2,3 ,4,5 ,6,7,8,9,10) For
7、 i=0 To 2 Print arr(7-i) Next End Sub 程序运行后,窗体上显示的是_。(分数:2.50)A.8 7 6B.7 6 5C.6 5 4D.5 4 310.窗体上有一个名称为 Option1 的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程: Private Sub Option1_Click(Index As Integer) . End Sub 下面关于此过程的参数 Index 的叙述中正确的是_。(分数:2.50)A.Index 为 1 表示单选按钮被选中,为 0 表示未选中B.Index 的值可正可负C.Index 的值用来区分哪个单
8、选按钮被选中D.Index 表示数组中单选按钮的数量11.设窗体上有一个命令按钮数组,能够区分数组中各个按钮的属性是(分数:2.50)A.NameB.IndexC.CaptionD.Left12.下面是求最大公约数的函数的首部: Function gcd(ByVal x As Integer, ByVal y As Integer) As Integer 若要输出 8、12、16 这 3 个数的最大公约数,下面正确的语句是_。(分数:2.50)A.Print gcd(8,12),gcd(12,16),gcd(16,8)B.Print gcd(8,12,16)C.Print gcd(8),gcd
9、(12),gcd(16)D.Print gcd(8,gcd(12,16)13.窗体上有一个名为 Command1 的命令按钮,并有下面的程序: Private Sub Comand1_Click() Dim arr(5) As Integer Fork=1 To 5 arr(k)=k Next k prog arr() For k=1 To 5 Print arr(k) Next k End Sub Sub prog(a() As Integer) n=Ubound(a) For i=n To 2 step-1 For j=1 To n-1 If a(j)a(j+1)Then t=a(j):a
10、(j)=a(j+1):a(j+1)=t End If Nexi j Next i End Sub 程序运行时,单击命令按钮后显示的是_。(分数:2.50)A.12345B.54321C.01234D.4321014.请阅读程序: Sub subP(b() As Integer) For i=1 To 4 b(i)=2*i Next i End Sub Private Sub Command1_Click() Dim a(1 To 4)As Integer a(1)=5:a(2)=6:a(3)=7:a(4)=8 subP a() For i=1 To 4 Print a(i) Ncxt i En
11、d Sub 运行上面的程序,单出命令按钮,则输出结果是_。(分数:2.50)A.2468B.5678C.10121416D.出错15.没有以下函数过程: Private Function Fun(a() As Integer, b As String) As Integer . End Function 若已有变量声明: Dim x(5) As Integer, n As Integer, ch As String 则下面正确的过程调用语句是_。(分数:2.50)A.x(0)=Fun(x,“ch“)B.n=Fun(n,ch)C.Call Fun x, “ch“D.n=Fun(x(5),ch)1
12、6.窗体上有一个名为 Command1 的命令按钮,并有如下程序: Private Sub Command1_Click() Dim a As Integer,b As Integer a=8 b=12 Print Fun(a,b);a;b End Suo Private Function Fun(ByVal a As Integer,b As Integer) As Integer a=a Mod 5 b=b/5 Fun=a End Function 程序运行时,单击命令按钮,则输出结果是_。(分数:2.50)A.3 3 2B.3 8 2C.8 8 12D.3 8 1217.在窗体上画一个命
13、令令按钮和一个标签,其名称分别为 Commabd1 和 Label1,然后编写如下代码: Sub S(x As Integer, y As Integer) Static z As Integer y=x*x+z z=y End Sub Private Sub Command1_Click() Dirn i As Integer, z As Integer m=0 z=0 For i=1 To 3 S i,z m=m+z Next i Label1.Caption=Str(m) End Sub 程序运行后,单击命令按钮,在标签中显示的内容是_。(分数:2.50)A.50B.20C.14D.71
14、8.窗体上有一个名称为 Command1 的命令按钮,其中部分代码如下: Private Sub Command1_Click() Dim a(10) As Integer Dim n As Integer Call calc(a,n) . End Sub cale 过程的首行应该是_。(分数:2.50)A.Sub calc(x() As Integer, n As Integer)B.Public Sub calc(x() As Integer)C.Private Sub calc(a(n) As Integer, n As Integer)D.Public Sub calc(a As In
15、teger, n As Integer)19.窗体上有一个 Text1 文本框、一个 Command1 命令按钮,并有以下程序: Private Sub Command1_Click() Dim n If Text1. Text “123456“ Then n=n+1 Print “口令输入错误“ Next x 在上面的程序段中,变量 x 必须是_。(分数:2.50)A.整型变量B.变体型变量 C.动态数组D.静态数组解析:解析 本题定义了一个一维数组,在 For Each 中 x 实际代表了数组中的每个元素,它可以代表任意类型的数组元素,所以 x 为变体型变量。5.在窗体上画一个名为 Com
16、mand1 的命令按钮,然后编写以下程序: Private Sub Command1 Click() Dim a(10) As Integer For k=10 To 1 Step-1 a(k)=20-2*k Next k k=k+7 Print a(k-a(k) End Sub 运行程序,单击命令按钮,输出结果是_。(分数:2.50)A.18 B.12C.8D.6解析:解析 本题中通过 For 循环可以求出 a(1)到 a(10)的值,分别为18,16,14,12,10,8,6,4,2,0。此时 k=0,不满足循环条件,退出循环,最后 k=k+7=7,a(k-a(k)=a(7-a(7)=a(
17、1)=18。6.没有如下程序: Private Sub Form_Click() Dim ary(1 To 5)As Integer Dim i As Integer Dim sum As Integer For i=1 To 5 ary(i)=i+1 sum=sum+ary(i) Next i Print sum End Sub 程序运行后,单击窗体,则在窗体上显示为_。(分数:2.50)A.15B.16C.20 D.26解析:解析 本题主要考查数组的基本操作。首先为数组 ary 的各个元素赋值,然后计算数组元素的和并保存在变量 sum 中。即 sum=2+3+4+5+6=20。7.要求产生
18、 10 个随机整数,存放在数组 arr 中。从键盘输入要删除的数组元素的下标,将该元素中的数据删除,后面元素中的数据依次前移,并显示删除后剩余的数据。现有如下程序: Option Base 1 Private Sub Commandl_Click() Dim arr(10) As Integer For i=1 To 10 “循环 1 arr(i)=Int(Rnd*100) Print arr(i); Next x=Input(“输入 1-10 的一个整数:“) For i= x+1 To 10 “循环 2 arr(i-1)= arr(i) Next For i=1 To 10 “循环 3 P
19、rint arr(i); Next End Sub 程序运行后发现显示的结果不正确,应该进行的修改是_。(分数:2.50)A.产生随机数时不使用 Int 函数B.循环体 2 的初值应为 i=xC.数组定义改为 Dim a(11) As IntegerD.循环 3 的循环终值应改为 9 解析:解析 删除一个数据后,数组中实际有效的值只剩 9 个。如果要删除的是第 10 个元素中的数组,则循环 2 不会执行,循环 3 中依然会输出第 10 个元素;如果删除的第 x(x10)个元素中的数据,则第 x个元素中的数据用地 x+1 个元素中的数据替换,依此类推,第 9 个元素中的数据用地 10 个元素中的
20、数据替换,最后一个数据时重复的。通过上述分析可见,最后一个元素中的数据是多余的,不能输出,循环 3的循环终值应改为 9。8.在窗体上画一个命令按钮(其名称为 Command1),然后编写如下代码: Private Sub Command1_Click() Dim a a=Array(1,2,3,4) i=3:j=1 Do While i=0 s=s+a(i)*j i=1-1 j=j*10 Loop Print s End Sub 运行上面的程序,单击命令按钮,则输出结果是_。(分数:2.50)A.4321B.123C.234D.1234 解析:解析 此题主要考查数组和循环。由 a=Array(
21、1,2,3,4)可知,a(0)=1,a(1)=2,a(2)=3,a(3)=4。当 i=3,j=1 时,程序进入第一次循环,s=a(3)*1=4*1=4,i=2,j=10;第二次循环,s=4+a(2)*10=34,i=1,j=100;第三次循环,s=34+a(1)*100=234,i=0,j=1000;第四次循环,s=234+a(0)*1000=1234,i=-1,j=10000;当 i=-1 时,不满足循环条件,此时跳出循环。9.阅读程序: Private Sub Command1_Click() Dim arr Dim i As Integer arr=Array(0,1.2,3 ,4,5
22、,6,7,8,9,10) For i=0 To 2 Print arr(7-i) Next End Sub 程序运行后,窗体上显示的是_。(分数:2.50)A.8 7 6B.7 6 5 C.6 5 4D.5 4 3解析:解析 本题 arr 被 Array 函数定义为数组,并且赋予了初值,arr(0)=0,arr(1)=1,arr(2)=2,.arr(10)=10。在 For 循环中 i 的值为 0,1,2,那么 arr(7-i)分别可表示为 arr(7)、arr(6)、arr(5),所以输出 arr(7-i)的值为 7,6,5。10.窗体上有一个名称为 Option1 的单选按钮数组,程序运行
23、时,当单击某个单选按钮时,会调用下面的事件过程: Private Sub Option1_Click(Index As Integer) . End Sub 下面关于此过程的参数 Index 的叙述中正确的是_。(分数:2.50)A.Index 为 1 表示单选按钮被选中,为 0 表示未选中B.Index 的值可正可负C.Index 的值用来区分哪个单选按钮被选中 D.Index 表示数组中单选按钮的数量解析:解析 单选按钮数组中每次只能选中一个按钮,所以需要一个参数来判断选中的是哪个单选按钮,而事件过程 Optionl_Click(Index As Integer)中的参数 Index 就是
24、用来实现这个功能的。11.设窗体上有一个命令按钮数组,能够区分数组中各个按钮的属性是(分数:2.50)A.NameB.Index C.CaptionD.Left解析:解析 此题考查控件数组的概念。控件数组的名字由控件的 Name 属性指定,而控件数组的名称都是一样的,无法区分各个按钮。数组中的每个元素的下标则由控件的 Index 属性指定,即 Index 属性区分控件数组中的元素。Caption 属性用来显示按钮上显示的文字。Left 属性表示控件左边的位置坐标。12.下面是求最大公约数的函数的首部: Function gcd(ByVal x As Integer, ByVal y As In
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 VISUALBASIC48 答案 解析 DOC
