[计算机类试卷]国家二级VB机试(过程)模拟试卷2及答案与解析.doc
《[计算机类试卷]国家二级VB机试(过程)模拟试卷2及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级VB机试(过程)模拟试卷2及答案与解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 VB机试(过程)模拟试卷 2及答案与解析 一、选择题 1 以下关于 VB特点的叙述中,错误的是 ( )。 ( A) VB采用事件驱动的编程机制 ( B) VB程序能够以解释方式运行 ( C) VB程序能够以编译方式运行 ( D) VB程序总是从 Form_load事件过程开始执行 2 如果把程序的启动对象设置为 Sub Main,则 Sub Main过程 ( )。 ( A)只能写在 Form1 窗体中代码的最前面 ( B)可以写在 Form1窗体中代码的任何位置 ( C)只能写在某个标准模块的代码中 ( D)可以写在任何窗体或标准模块的代码中 3 设窗体上有 3个图像框: Image
2、1、 Image2、 Image3,并有下面的程序代码: Private Sub Form_Load() Image1 Picture=LoadPicture(“LEAF bmp“) Image2 Picture=LoadPicture(“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 Image2 Picture=Ima
3、ge1 Picture Image1 Picture=Image3 Picture End Sub 在程序运行期间单击 Image2,则在窗体上看到的结果是 ( )。 ( A)在 Image3中显示 Image2中的图片 ( B) nnage1,ImageZ中原有图片被交换了 ( C) Image1、 Image2 中都是原来 Imegel中的图片 ( D) Image1、 Image2 中都是原来 Imege2中的图片 4 以下过程定义中正确的过程首行是 ( )。 ( A) Private Sub Proe(Optional a as Integer, b as Integer) ( B)
4、Private Sub Proc(a as Integer)as Integer ( C) 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)
5、 Max Then Max=a(i) Next End Sub 以下关于上述过程的叙述中,错误的是 ( )。 ( A)语句 Call FindMax(a, m)可以调用该过程,其中的 a是数组, m是 Integer类型变量 ( B) For循环次数等于 a数组的元素数 ( C)过程末尾应该增加一条返回最大值的语句 FindMax=Max ( D)参数 Max用于存放找到的最大值 6 设有如下 Command1按钮的单击事件过程及 fun过程: Private Sub Command1_Cliek() Dim x As Integer x=Val(InputBox(“请输入一个整数 “) fu
6、n(x) End Sub Private Sub fun(x As Integer) If x Mod 2=0 Then fun(x 2) Print x; End Sub 执行上述程序,输入 6,结果是 ( )。 ( A) 3 6 ( B) 6 3 ( C) 6 ( D)程序死循环 7 窗体上有一个名称为 Commd1的命令按钮,并有如下程序代码: Option Base 1 Private Sub Commd1_Click() Dim a(4, 4)As Integer Dim b As Integer Dim i As Integer, j As Integer For i=1 To 4
7、 For j=1 T0 4 a(i, j)=i+j Next 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 运行程序,单击命令按钮后,窗体上显示的是 ( )。 ( A) 0 ( B) 2 ( C) 8 ( D) 20 8 设子程序过程定义的首 部为: Publie Sub S(X A暑 Imeger, Y As Single) 则以下正确的调用形式为 ( )。 ( A) Call S
8、5, 4 8 ( B) Call Sub(5, 4 8) ( C) Sub 5, 4 8 ( D) S 5, 4 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 运行上面的程序,单击窗体,输出结果为 ( )。 ( A) 2 4 6 8 ( B)
9、5 6 7 8 ( C) 10 12 14 16 ( D) 4 8 12 10 设有以下过程: Private Sub proc(x As Integer, Optional y As Integer) Print x, y End Sub 针对此过程,下面正确的过程调用语句是 ( )。 ( A) Call proc(a!, 23) ( B) Call proc x, 12 ( C) proc b ( D) x=proc(12) 11 以下说法中正确的是 ( )。 ( A)事件过程也是过程,只能由其他过程调用 ( B)事件过程的过程名是由程序设计者命名的 ( C)事件过程通常 放在标准模块中
10、( D)事件过程是用来处理由用户操作或系统激发的事件的代码 12 设窗体名称为 frm1。以下叙述中正确的是 ( )。 ( A)运行程序时,能够加载窗体的事件过程是 frm1_Load ( B)运行程序时,能够加载窗体的事件过程是 Form1L0ad ( C)程序运行中用语句 frm1 Name=“New“可以更改窗体名称 ( D)程序运行中用语句 frm1 Caption=“新标题 “可以改变窗体的标题 13 窗体上有一个名称为 Command1的命令按钮,一个名称为 Text1的文本框。编写如下程序: Private Sub Command1_Click() Dim x As Intege
11、r x=Val(InputBox(“输入数据 “) Text1=str(x+fun(x)+fun(x) End Sub Private Function fun(ByRef n As Integer) If n Mod 3=0 Then n=n+n Else n=n * n End If fun=n End Function 对于上述程序,以下叙述中错误的是 ( )。 ( A)语句 fun=n有错,因为 n是整型, fun没有定义类型 ( B)运行程序,输入值为 5时,文本框中显示 655 ( C)运行程序,输入值为 6时,文本框中显示 42 ( D) ByRef表示参数按址传递 14 在窗体
12、上画一个命令按钮和一个文本框,其名称分别为 Command1和 Text1,然后编写如下程序: Function Fun(x As Integer, y As Integer)As Integer Fun=IIf(x y, x, y) End Function Private Sub Form_Load() Command1 Default=Tme 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
13、键,文本框中显示的内容为 ( )。 ( A) 12 ( B) 20 ( C) 24 ( D) 40 15 以下关于函数过程的叙述中,正确的是 ( )。 ( A)函数过程形参的类型与函数返回值的类型没有关系 ( B)在函数过程中,过程的返回值可以有多个 ( C)当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递 ( D)如果不指明函数过程参数的类型,则该参数没有数据类型 16 下面是求最大公约数的函数的首部: Function ged(ByVal x As Integer, ByVal y As Integer)As Integer 若要输出 8、 12、 16这 3个数的最大公
14、约数,下面正确的语句是 ( )。 ( A) Print gcd(8, 12), gcd(12, 16), gcd(16, 8) ( B) Print gcd(8, 12, 16) ( C) Print ged(8), ged(12), god(16) ( D) Print gcd(8, ged(12, 16) 17 求 1! +2! +10 !的程序如下: Private Function s(x As Integer) f=1 For i=1 To x f=f*i Next s=f End Function Prirate Sub Command1_Click() Dim i As Inte
15、ger Dim y As Long For i=1 To 10 _ Next Print y End Sub 为实现功能要求,程序的横线处应该填入的内容是 ( )。 ( A) Call s(i) ( B) Call s ( C) y=y+s(i) ( D) y=y+s 18 假定有以下通用过程: Function Fun(n As Integer)As Integer x=n * n Fun=x-11 End Function 在窗体上画一个命令按钮,其名称为 Command1,然后编写如下事件过程。 Prirate Sub Command1_Click() Dim i As Integer
16、For i=1 To 2 y=Fun(i) Print y; Next i End Sub 程序运行后,单击命令按钮,在窗体上显示的内容是 ( )。 ( A) 1 3 ( B) 10 8 ( C) -10 -7 ( D) 0 5 19 在窗体上画一个命令按钮 (名称为 Command1),并编写如下代码: Function Fun1(ByVal a As Integer, b As Integer)As Integer Dim t As Integer t=a-b b=t+a Funl=t+b End Function Private Sub Command1_Click() Dim x As
17、 Integer x=10 Print Fun1(Fun1(x, (Fun1(x, x-1), x-1) End Sub 程序运行后, 单击命令按钮,输出结果是 ( )。 ( A) 10 ( B) 0 ( C) 11 ( D) 21 20 窗体上有一个名称为 Command1的命令按钮,其单击事件过程及相关的函数过程如下: Private Sub Command1_Click() Dim i As Integer For i=1 To 500 If p(i)Then s=s+1 Next Print s End Sub Private Function P(x As Integer)As Bo
18、olean If x Mod 7 0 Then p=True Else p=False End If End Function 关于上述程序,以下叙述中正确的是 ( )。 ( A)程序功能是统计 1 500范围内能被 7整除的整数个数 ( B) Command1_Click事件过程中 If语句的条件表达式不完整 ( C) Function过程定义有误 ,函数过程 p的名称与该过程中的变量名 p相同 ( D)函数过程 p的返回值为 Boolean类型 21 窗体上有一个名称为 Command1的命令按钮,其单击事件过程及相关的代码如下: Private Sub Command1_Click()
19、Dim x As Integer, y As Integer x=Val(InputBox(“输入整数 “) y=Val(InputBox(“输入整数 “) Print sty(flun(x, y) +x+y) End Sub Private Function fun(ByRd m As Integer, ByVal n As Integer) m=m * m n=n+n fun=m+n End Function 运行程序,单击命令按钮时,出现输入对话框,分别输入 3、 5,则窗体上显示的是 ( )。 ( A) 27 ( B) 28 ( C) 33 ( D) 38 22 某人编写了下面的程序:
20、 Private Sub Command1=1_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(n 0) Print n Mod 10; n=n 10 Wend Print End Sub 此程序功能是:输入 2个正整数,反序输出这 2个数的每一位数字,再反序输出这 2个数之和的每一位数字。例如:若输入 123和 234,则应该输出: 3 2
21、1 4 3 2 7 5 3 但调试时发现只输出了前 2行 (即 2个数的反序 ),而未输出第 3行 (即 2个数之和的反序 ),程序需要修改。下面的修改方案中正确的是 ( )。 ( A)把过程 pro的形式参数 n As Integer改为 ByVal n As Integer ( B)把 Call pro(a+b)改为 pro a+b ( C)把 n=n 10改为 n=n 10 ( D)在 pro b语句之后增加语句 c =a+b,再把 Call pro(a+b)改为 pro c 23 命令按钮 Command1的单击事件过程如下: Private Sub Command1_Click()
22、x=10 Print f(x) End Sub Private Function f(y As Integer) f=y * y End Function 运行上述程 序,如下叙述中正确的是 ( )。 ( A)程序运行出错, x变量的类型与函数参数的类型不符 ( B)在窗体上显示 10 ( C)函数定义错,函数名 f不能又作为变量名 ( D)在窗体上显示 10 24 编写如下程序: Private Sub Command1_Click() Dim x As Integer, y As Integer x=InputBox(“输入第一个数 “) y=InputBox(“输入第二个数 “) Cal
23、l 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,则输出结果为( )。 ( A) 10 115 ( B) 20 115 ( C) 35 15 ( D) 20 15 25 窗体上有一个名称为 Command1的命令按 钮,并有如下程序代码: Private Sub Command1_Click() Static a a=1: b=2: c=3 Call f(a, b, c) Print
24、 a; b; c End Sub Sub f(ByVal x, ByRef y, z) x=x+1 y=y+1 z=z+1 End Sub 运行程序,单击命令按钮,窗体上显示的是 ( )。 ( A) 1 3 3 ( B) 1 3 4 ( C) 2 3 3 ( D) 2 3 4 26 以下关于过程的叙述中,错误的是 ( )。 ( A)在 Sub过程中不能再定义 Sub过程 ( B)事件过程也是 Sub过程 ( C)过程调用语句的形参个数必须与实参个数相同 ( D)函数过程一定有返回值 27 窗体上有一个名称为 Command1的命令按钮,其单击事件过程如下: Private Sub Comrna
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 VB 机试 过程 模拟 答案 解析 DOC
