[计算机类试卷]国家二级VB机试(过程)模拟试卷6及答案与解析.doc
《[计算机类试卷]国家二级VB机试(过程)模拟试卷6及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级VB机试(过程)模拟试卷6及答案与解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 VB机试(过程)模拟试卷 6及答案与解析 一、选择题 1 假定有如下事件过程: Private Sub Form_Click() Dim X As Integer,n As Integer x=2: n=0 Do While x 28 x=x*3: n=n+1 loop Print x, n End Sub 程序运行后,单击窗体,输出结果是 ( A) 81 4 ( B) 56 3 ( C) 28 1 ( D) 243 5 2 以下叙述中错误的是 ( A)标准模块文件的扩展名是 bas ( B)标准模块文件是纯代码文件 ( C)在标准模块中声明的全局变量可以在整个工程中使用 ( D)在
2、标准模块中不能定义过程 3 下面不能在信息框中输出 “VB”的是 ( A) MsgBox“VB“ ( B) x=MsgBox(“VB“) ( C) MsgBox(“VB“) ( D) Call MsgBox“VB“ 4 以下关于过程的叙述中,错误的是 ( A)在 Sub过程中不能再定义 Sub过程 ( B)事件过程也是 Sub过程 ( C)过程调用语句的形参个数必须与实参个数相同 ( D)函数过程一定有返回值 5 设子程序过程定义的首部为: Public Sub S(X As Integer, Y As Single)则以下正确的调用形式为 ( A) Call S 5, 4 8 ( B) Ca
3、U Sub(5, 4 8) ( C) Sub 5, 4 8 ( D) S 5, 4 8 6 在窗体上画两个标签和一个命令按钮,其名称分别为 Label1、 Label2和Command1,然后编写如下程序: Private Sub fune(L As Label) Private Sub Commandl_Click() L Caption=“1234“ a=Val(Label2 Caption) End Sub Call func(Label1) Private Sub Form_Load() Label2 Caption=a Label 1 Caption=“ABCDE“ End Sub
4、Label2 Caption=10 End Sub 程序运行后,单击命令按钮,则在两个标签中显示的内容分别为 ( A) ABCD和 10 ( B) 1234和 100 ( C) ABCD和 100 ( D) 1234和 10 7 设有如下 Commandl的单击事件过程及 fun过程: Pfivate Sub Commandl_Click() Privme Sub fun(x As Integer) Dim x As Integer Ifx Mod 2=0 Then fun(x 2) x=Val(InputBox(“请输入一个整数 “) Print x; fun(x) End Sub End
5、Sub 执行上述程序,输入 6,结果是 ( A) 3 6 ( B) 6 3 ( C) 6 ( D)程序死循环 8 编写如下程序: Private Sub Command1_Click() Sub subf(s1 As String s2 As String) Dim str1 As String, str2 As String Dim temp As String str1InputBox(“输入一个字符串 “) Static i As Integer i=i+1 subf str1, str2: Print str2 temp=Mid(s1, i, 1) End Sub If temp “T
6、hen subf s1, s2 s2=s2&temp End Sub 程序运行后,单击命令按钮 Command1,且输入 “abcdef”,则输出结果为 ( A) afbecd ( B) cdbeaf ( C) fedcba ( D) adbecf 9 以下关于函数过程的叙述中,正确的是 ( A)函数过程形参的类型与函数返回值的类型没有关系 ( B)在函数 过程中,过程的返回值可以有多个 ( C)当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递 ( D)如果不指明函数过程参数的类型,则该参数没有数据类型 10 在 VB中,函数过程与子程序过程的区别之一是 ( A)函数过程必须
7、有参数,而子程序过程可以没有 ( B)函数过程的参数传递只采用值传递,而子程序过程只采用地址传递 ( C)在程序中,子程序过程调用的代码可以写在表达式中,而函数过程不能 ( D)函数过程有返回值,而子程序过程没有 11 在窗体上画一个命令按钮 (名称为 Commandl),并编写如下代码: Function Fun 1(ByVal a As Integer, Private Sub Commandl_Click() b As Integer)As Integer Dim x As Integer Dim t As Integer x=10 t=a b: b=t+a: Fun1=t+b Prin
8、t Fun1(Fun1(x, (Fun1(x, x 1), x 1) End Function End Sub 程序运行后,单击命令按钮,输出结果是 ( A) 10 ( B) 0 ( C) 11 ( D) 21 12 有下面程序代码: Private Sub Commandl_Click() Dim aAs String a=“COMPUTER“n=search(a, “T“): Print IIf(n=0, “未找到 “, n) End Sub Private Function search(str As String, ch As String)As Integer For k=1 To
9、Len(str) c=Mid(str, k, 1) Ifc=ch Then search=k: Exit Function End If Next k search=0 End Function 程序运行后,单击命令按钮 Commandl,输出结果是 ( A) 0 ( B) 8 ( C) 6 ( D)未找到 13 现有如下程序: Private Sub Commandl_Click() Public Function f(x As Integer) s=0 If x =10 Then For i=1 To 5 t=x+1 s=s+f(5+i) Else Next t=x+2 Print s E
10、nd If End Sub f=t End Function 运行程序,则窗体上显示的是 ( A) 38 ( B) 49 ( C) 61 ( D) 70 14 假定有以下通用过程: Function Fun(n As Integer)As Integer x=n*n: Fun=x 11 End Function 在窗体上画一个命令按钮,其名称为 Commandl,然后编写如下事件过程: Private Sub Commandl_Click() Dim i As Integer For i=1 To 2 y=Fun(i)Print y; Next i End Sub 程序运行后,单击命令按钮,在
11、窗体上显示的内容是 ( A) 1 3 ( B) 10 8 ( C) 10 7 ( D) 0 5 15 求 1!+2!+10! 的程序如下: Private Function s(x As Integer) Private Sub Commandl_Click() f=1 Dim i As Integer, y As Long For i=1 To x For i=1 To 10 f=f*i ( ) Next Next s=f Print y End Function End Sub 为实现功能要求,程序的括号中应该填入的内容是 ( A) Call s(i) ( B) Call s ( C) y
12、=y+s(i) ( D) y=y+s 16 在窗体上画一个名称为 Commandl的命令按钮,并编写如下程序: Function Fun(x) Private Sub Commandl_Click() y=0 n=InputBox(“请输入一个数 “) Ifx 10 Then n=Val(n) y=x P=Fun(n): Print P Else End Sub y=y+10 End If Fun=y End Function 运行程序,单击命 令按钮,将显示输入对话框,如果在对话框中输入 100,并单击“确定 ”按钮,则输出结果为 ( A) 10 ( B) 100 ( C) 110 ( D)
13、出错信息 17 设有如下事件过程: Private Sub Commandl_Click()Dim a Private Function fun(x, Y)As Integer a=Array(12, 3, 8, 5, 10, 3, 5, 9, 2, 4) Do While x =y For k=1 To 9 x=x y Print fun(a(k 1), a(k); “; Loop Next k fun=x End Sub End Function 程序运行时的输出结果是 ( A) 4 0 1 0 3 0 0 4 0 ( B) 0 3 3 5 1 3 5 1 2 ( C) 9-5 3-5 7
14、-2-4 7-2 ( D) 9 3 3 5 7 3 5 7 2 18 设有如下函数: Function DelSpace(ch As String)As Integer Dim n, st, c st=“: n=0 For k=1 To Len(ch) c=Mid(ch, k, 1) Ifc “Then st=st&c Else n=n+1 End If Next k ch=st: DelSpace=n End Function 该函数的功能是 ( A)统计并返回字符串 ch中字符 的个数 ( B)删除字符串 ch中的空格符,返回删除字符的个数 ( C)统计并返回字符串 ch中非空格字符数 (
15、 D)删除字符串 ch中除空格符外的其他字符,返回删除字符的个数 19 窗体上有一个名称为 Commandl的命令按钮,其单击事件过程及相关的函数过程如下: Private Sub Commandl_Click() Private Function p(x As Integer)As Boolean Dim i As Integer Ifx Mod 7 0 Then For i=1 To 500 p=True Ifp(i)Then s=s+1 Else Next p=False Print s End If End Sub End Function 关于上述程序,以下叙述中正确的是 ( A)程
16、序功能是统计 1-500范围内能被 7整除的整数个数 ( B) Commandl Click事件过程中 If语句的条件表达式不完整 ( C) Function过程定义有误,函数过程 P的名称与该过程中的变量名 P相同 ( D)函数过程 P的返回值为 Boolean类型 20 设有下面程序代码: Pfivme Sub Commandl_Click() Dim strAs String, ehAs String str=“Visual Basic Programming“: ch=“a“ n=fun(ch, str): Print str, n End Sub Private Function f
17、un(ch As String, str As String)As Integer Dim strbufAs String, c As String, n As Integer For k=1 To Len(str) c=Mid (str, k, 1) Ifc ch Then strbuf=strbuf&c Else strbuf=strbuf&UCase(c): n=n+1 End If Next k str=strbuf: fun=n End Function 程序运行时的输出是 ( A) Visual Basic Programming 0 ( B) VisuAl BAsic Progr
18、Amming 3 ( C) Visul Bsic Prograzming 3 ( D) VisualBasicProgramming 2 21 以下叙述中错误的是 ( A)在通用过程中,多个形式参数之间可以用逗号作为分隔符 ( B)在 Print方法中,多个输出项之间可以用逗号作为分隔符 ( C)在 Dim语句中,所定义的多个变量可以用逗号作为分隔符 ( D)当一行中有多个语句时,可以用逗号作为分隔符 22 以下关于过程及过程参数的描述中,错误的是 ( A)调用过程时可以用控件名称作为实际参数 ( B)用数组作为过程的参数时,使用的是 “传地址 ”方式 ( C)只有函数过程能够将过程中处理的信
19、息传回到调用的程序中 ( D)窗体 (Form)可以作为过程的参数 23 下面是求最大公约数的函数的首部 Function gcd(ByVal x As Integer, ByVal y As Integer)As Integer 若要输出 8、 12、 16这 3个数的最大公约数,下面正确的语句是 ( A) Print gcd(8, 12), gcd(12, 16), gcd(16, 8) ( B) Print gcd(8, 12, 16) ( C) Print gcd(8), gcd(12), gcd(16) ( D) Print gcd(8, gcd(12, 16) 24 为了通过传值方
20、式来传送过程参数,在函数声明部分应使用的关键字为 ( A) Value ( B) ByVal ( C) ByRef ( D) Reference 25 以下过程定义中正确的过程首行是 ( A) Private Sub Proc(Optional a as Integer, b as Integer) ( B) Private Sub Proc(a as Integer)as Integer ( C) Private Sub Proc(a()As Integer) ( D) Private Sub Proc(ByVal a()As Integer) 26 某人编写了下面的程序 Pfivate S
21、ub Commandl_Click() Private Sub pro(n As Integer) Dim a As Integer, b As Integer While(n 0) a=InputBox(“请输入整数 “) Print n Mod 10; n=n 10 b=InputBox(“请输入整数 “) Wend pro a: pro b Print Call pro(a+b) End Sub End Sub 此程序功能是:输入 2个正整数,反序输出这 2个数的每一位数字,再反序输出这2个数之和的每一位数字。例如:若输入 123和 234,则应该输出: 3 2 1 4 3 2 7 5
22、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 27 有下面程序代码: Pfivate Sub Commandl_Click() Private Sub proc(ByVal a As Integ
23、er) Dim x As Integer, s As Integer Static x As Integer x=1 x=x+1: a=a+x For k=1 To 3 End Sub x=x+1: proc x: s=s+x Next k Print s End Sub 程序运行后,单击命令按钮 Commandl,输出结果是 ( A) 6 ( B) 9 ( C) 15 ( D) 19 28 编写如下程序 : Pfivate Sub Commandl_Cliek()Dim x As Integer x=10 Print funl(x, 12)+x End Sub Private Functio
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 VB 机试 过程 模拟 答案 解析 DOC
