【计算机类职业资格】二级VISUAL+BASIC-104及答案解析.doc
《【计算机类职业资格】二级VISUAL+BASIC-104及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级VISUAL+BASIC-104及答案解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、二级 VISUAL+BASIC-104及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.以下关于 VB特点的叙述中,错误的是_。(分数:2.50)A.VB采用事件驱动的编程机制B.VB程序能够以解释方式运行C.VB程序能够以编译方式运行D.VB程序总是从 Form Load事件过程开始执行2.如果把程序的启动对象设置为 Sub Main,则 Sub Main过程_。(分数:2.50)A.只能写在 Forml窗体中代码的最前面B.可以写在 Form1窗体中代码的任何位置C.只能写在某个标准模块的代码中D.可以写在任何窗体或标准模块的代码中3.
2、设窗体上有 3个图像框:Image1、Image2、Image3,并有下面的程序代码: Private Sub Form_Load() Image1.Picture=LoadPicture(“LEAF.bmp“) Image2.Picture=LoadPieture(“OPEN.bmp“) Image3.Visible=False End Sub Private Sub Image1_Click() Image2.Picture=Image1.Picture End Sub Private Sub Image2_Click() Image3.Picture=Image2.Picture Ima
3、ge2.Picture=Image1.Picture Image1.Picture=Image3.Picture End Sub 在程序运行期间单击 Image2,则在窗体上看到的结果是_。(分数:2.50)A.在 Image3中显示 Image2中的图片B.Image1、Image2 中原有图片被交换了C.Image1、Image2 中都是原来 Imege1中的图片D.Image1、Image2 中都是原来 Imege2中的图片4.以下过程定义中正确的过程首行是_。(分数:2.50)A.Private Sub Proc(Optional a as Integer,b as Integer)B
4、.Private Sub Proc(a as Integer)as IntegerC.Private Sub Proc(a()As Integer)D.Private Sub Proc(ByVal a()As Integer)5.以下过程的功能是从数组中寻找最大值: Private Sub FindMax(a()As Integer,ByRef Max As Integer) Dim s As Integer,f As Integer Dim i As Integer S=LBound(a) f=UBound(a) Max=a(s) For i=s To f If a(i)Max Then M
5、ax=a(i) Next End Sub 以下关于上述过程的叙述中,错误的是_。(分数:2.50)A.语句 Call FindMax(a,m)可以调用该过程,其中的 a是数组,m 是 Integer类型变量B.For循环次数等于 a数组的元素数C.过程末尾应该增加一条返回最大值的语句 FindMax=MaxD.参数 Max用于存放找到的最大值6.设有如下 Command1按钮的单击事件过程及 fun过程: Private Sub Command1_Click() Dim x As Integer x=Val(InputBox(“请输入一个整数“) fun(x) End Sub Private
6、Sub fun(x As Integer) If x Mod 2=0 Then fun(x/2) Print x; End Sub 执行上述程序,输入 6,结果是_。(分数:2.50)A.3 6B.6 3C.6D.程序死循环7.窗体上有一个名称为 Command1的命令按钮,并有如下程序代码: Option Base 1 Private Sub Command1_Click() Dim a(4,4)As Integer Dim b As Integer Dim i As Integer,j As Integer For i=1 To 4 For j=1 To 4 a(i,j)=i+j Next
7、 j Next i Call f(a,b) Print b End Sub Private Sub f(x()As Integer, ByRef y As Integer) y=0 For i=1 To 4 y=y+x(i,i) Next End Sub 运行程序,单击命令按钮后,窗体上显示的是_。(分数:2.50)A.0B.2C.8D.208.设子程序过程定义的首部为: Public Sub S(X As Integer,Y As Single) 则以下正确的调用形式为_。(分数:2.50)A.Call S 5,4.8B.Call Sub(5,4.8)C.Sub 5,4.8D.S 5,4.8
8、9.阅读程序: Option Base 1 Sub P(b() As Integer) For i=1 To 4 b(i)=2*i Next i End Sub Private Sub Form_Click() Dim a(4)As Integer For i=1 To 4 a(i)=i+4 Next i P a For i=1 To 4 Print a(i) Next i End Sub 运行上面的程序,单击窗体,输出结果为_。(分数:2.50)A.2468B.5678C.10121416D.481210.设有以下过程: Private Sub proc(x As Integer, Opti
9、onal y As Integer) Print x,y End Sub 针对此过程,下面正确的过程调用语句是_。(分数:2.50)A.Call proc(a!,23)B.Call proc x%,12C.proc b%D.x=proc(12)11.以下说法中正确的是_。(分数:2.50)A.事件过程也是过程,只能由其他过程调用B.事件过程的过程名是由程序设计者命名的C.事件过程通常放在标准模块中D.事件过程是用来处理由用户操作或系统激发的事件的代码12.设窗体名称为 frm1。以下叙述中正确的是_。(分数:2.50)A.运行程序时,能够加载窗体的事件过程是 frm1_LoadB.运行程序时,
10、能够加载窗体的事件过程是 Form1_LoadC.程序运行中用语句 frm1.Name=“New“可以更改窗体名称D.程序运行中用语句 frm1.Caption=“新标题“可以改变窗体的标题13.窗体上有一个名称为 Command1的命令按钮,一个名称为 Text1的文本框。编写如下程序: Private Sub Command1_Click() Dim x As Integer x=Val(InputBox(“输入数据“) Text1=Str(x+fun(x)+fun(x) End Sub Private Function fun(ByRef n As Integer) If n Mod 3
11、=0 Then n=n+n Else n=n*n End If fun=n End Function 对于上述程序,以下叙述中错误的是_。(分数:2.50)A.语句 fun=n有错,因为 n是整型,fun 没有定义类型B.运行程序,输入值为 5时,文本框中显示 655C.运行程序,输入值为 6时,文本框中显示 42D.ByRef表示参数按址传递14.在窗体上画一个命令按钮和一个文本框,其名称分别为 Command1和 Text1,然后编写如下程序: Function Fun(x As Integer, y As Integer)As Integer Fun=IIf(xy,x,y) End Fu
12、nction Private Sub Form_Load() Command1.Default=True End Sub Private Sub Command1_Click() Dim a As Integer, b As Integer a=20 b=12 Text1.Text=Str(Fun(a,b) End Sub 程序运行后,按 Enter键,文本框中显示的内容为_。(分数:2.50)A.12B.20C.24D.4015.以下关于函数过程的叙述中,正确的是_。(分数:2.50)A.函数过程形参的类型与函数返回值的类型没有关系B.在函数过程中,过程的返回值可以有多个C.当数组作为函数过
13、程的参数时,既能以传值方式传递,也能以传址方式传递D.如果不指明函数过程参数的类型,则该参数没有数据类型16.下面是求最大公约数的函数的首部: 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(12),ged(16)D.Print god(8,gcd(12,16)17.求 1!+2
14、!+10!的程序如下: Private Function s(x As Integer) f=1 For i=1 To x f=f*i Next s=f End Function Private Sub Command1_Click() Dim i As Integer Dim y As Long For i=1 To 10 _ Next Print y End Sub 为实现功能要求,程序的横线处应该填入的内容是_。(分数:2.50)A.Call s(i)B.Call sC.y=y+s(i)D.y=y+s18.假定有以下通用过程: Function Fun(n As Integer)As I
15、nteger x=n*n Fun=x-11 End Function 在窗体上画一个命令按钮,其名称为 Command1,然后编写如下事件过程。 Private Sub Command1_Click() Dim i As Integer For i=1 To 2 y=Fun(i) Print y; Next i End Sub 程序运行后,单击命令按钮,在窗体上显示的内容是_。(分数:2.50)A.1 3B.10 8C.-10 -7D.0 519.在窗体上画一个命令按钮(名称为 Command1),并编写如下代码: Function Fun1(ByVal a As Integer, b As
16、Integer)As Integer Dim t As Integer t=a-b b=t+a Fun1=t+b End Function Private Sub Command1_Click() Dim x As Integer x=10 Print Fun1(Fun1(x,(Fun1(x,x-1),x-1) End Sub 程序运行后,单击命令按钮,输出结果是_。(分数:2.50)A.10BOC.11D.2120.窗体上有一个名称为 Command1的命令按钮,其单击事件过程及相关的函数过程如下: Private Sub Command1_Click() Dim i As Integer
17、For i=1 To 500 If P(i) Then s=s+1 Next Print s End Sub Private Function p(x As Integer)As Boolean If x Mod 70 Then p=True Else p=False End If End Function 关于上述程序,以下叙述中正确的是_。(分数:2.50)A.程序功能是统计 1500 范围内能被 7整除的整数个数B.Command1_Click事件过程中 If语句的条件表达式不完整C.Function过程定义有误,函数过程 p的名称与该过程中的变量名 p相同D.函数过程 p的返回值为 B
18、oolean类型21.窗体上有一个名称为 Command1的命令按钮,其单击事件过程及相关的代码如下: Private Sub Command1_Click() Dim x As Integer, y As Integer x=Val(InputBox(“输入整数“) y=Val(InputBox(“输入整数“) Print str(fun(x,y)+x+y) End Sub Private Function fun(ByRef m As Integer, ByVal n As Integer) m=m*m n=n+n fun=m+n End Function 运行程序,单击命令按钮时,出现输
19、入对话框,分别输入 3、5,则窗体上显示的是_。(分数:2.50)A.27B.28C.33D.3822.某人编写了下面的程序: Private Sub Command1_Click() Dim a As Integer, b As Integer a=InputBox(“请输入整数“) b=InputBox(“请输入整数“) pro a pro b Call pro(a+b) End Sub Private Sub pro(n As Integer) While(n0) Print n Mod 10; n=n/10 Wend Print End Sub 此程序功能是:输入 2个正整数,反序输出
20、这 2个数的每一位数字,再反序输出这 2个数之和的每一位数字。例如:若输入 123和 234,则应该输出: 3 2 1 4 3 2 7 5 3 但调试时发现只输出了前 2行(即 2个数的反序),而未输出第 3行(即 2个数之和的反序),程序需要修改。下面的修改方案中正确的是_。(分数:2.50)A.把过程 pro的形式参数 n As Integer改为 ByVal n As IntegerB.把 Call pro(a+b)改为 pro a+bC.把 n=n/10改为 n=n/10D.在 pro b语句之后增加语句 c%=a+b,再把 Call pro(a+b)改为 pro c23.命令按钮 C
21、ommand1的单击事件过程如下: Private Sub Command1_Click() x=10 Print f(x) End Sub Private Function f(y As Integer) f=y*y End Function 运行上述程序,如下叙述中正确的是_。(分数:2.50)A.程序运行出错,x 变量的类型与函数参数的类型不符B.在窗体上显示 100C.函数定义错,函数名 f不能又作为变量名D.在窗体上显示 1024.编写如下程序: Private Sub Command1_Click() Dim x As Integer, y As Integer x=InputBo
22、x(“输入第一个数“) y=InputBox(“输入第二个数“) Call f(x,y) Print x,y End Sub Sub f(a AS Integer, ByVal b As Integer) a=a*2 x=a+b b=b+100 End Sub 程序运行后,单击命令按钮 Command1,并输入数值 10和 15,则输出结果为_。(分数:2.50)A.10 115B.20 115C.35 15D.20 1525.窗体上有一个名称为 Command1的命令按钮,并有如下程序代码: Private Sub Command1_Click() Static a a=1: b=2: c=
23、3 Call f(a,b,C) Print a;b;C End Sub Sub f(ByVal x,ByRef y, z) x=x+1 y=y+1 z=z+1 End Sub 运行程序,单击命令按钮,窗体上显示的是_。(分数:2.50)A.1 3 3B.1 3 4C.2 3 3D.2 3 426.以下关于过程的叙述中,错误的是_。(分数:2.50)A.在 Sub过程中不能再定义 Sub过程B.事件过程也是 Sub过程C.过程调用语句的形参个数必须与实参个数相同D.函数过程一定有返回值27.窗体上有一个名称为 Command1的命令按钮,其单击事件过程如下: Private Sub Comman
24、d1_Click() Dim x As Integer, y As Integer Static z As Integer x=3: y=5: z=y Call f(x,y,z) Print x;y;z End Sub Private Sub f(ByVal a As Integer, ByRef b As Integer, c As Integer) a=a+a:b=b+b:c=c+c End Sub 运行程序,单击命令按钮时,3 个标签中显示的内容分别是_。(分数:2.50)A.3 5 5B.3 5 10C.3 10 5D.3 10 1028.设有如下程序: Private Sub sV(
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 VISUALBASIC104 答案 解析 DOC
