【计算机类职业资格】国家二级VB机试(过程)模拟试卷6及答案解析.doc
《【计算机类职业资格】国家二级VB机试(过程)模拟试卷6及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级VB机试(过程)模拟试卷6及答案解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 VB 机试(过程)模拟试卷 6 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:43,分数:86.00)1.假定有如下事件过程:Private Sub Form_Click() Dim X As Integer,n As Integer x=2:n=0 Do While x28 x=x*3:n=n+1 loop Print x,nEnd Sub 程序运行后,单击窗体,输出结果是(分数:2.00)A.81 4B.56 3C.28 1D.243 52.以下叙述中错误的是(分数:2.00)A.标准模块文件的扩展名是basB.标准模块文件是纯代码文件C.在标准模块中声
2、明的全局变量可以在整个工程中使用D.在标准模块中不能定义过程3.下面不能在信息框中输出“VB”的是(分数:2.00)A.MsgBox“VB“B.x=MsgBox(“VB“)C.MsgBox(“VB“)D.Call MsgBox“VB“4.以下关于过程的叙述中,错误的是(分数:2.00)A.在 Sub 过程中不能再定义 Sub 过程B.事件过程也是 Sub 过程C.过程调用语句的形参个数必须与实参个数相同D.函数过程一定有返回值5.设子程序过程定义的首部为:Public Sub S(X As Integer,Y As Single)则以下正确的调用形式为(分数:2.00)A.Call S 5,4
3、8B.CaU Sub(5,48)C.Sub 5,48D.S 5,486.在窗体上画两个标签和一个命令按钮,其名称分别为 Label1、Label2 和 Command1,然后编写如下程序:Private Sub fune(L As Label) Private Sub Commandl_Click() LCaption=“1234“ a=Val(Label2Caption)End Sub Call func(Label1) Private Sub Form_Load() Label2Caption=a Label 1Caption=“ABCDE“ End Sub Label2Caption=1
4、0End Sub 程序运行后,单击命令按钮,则在两个标签中显示的内容分别为(分数:2.00)A.ABCD 和 10B.1234 和 100C.ABCD 和 100D.1234 和 107.设有如下 Commandl 的单击事件过程及 fun 过程: Pfivate Sub Commandl_Click() Privme Sub fun(x As Integer) Dim x As Integer Ifx Mod 2=0 Then fun(x2) x=Val(InputBox(“请输入一个整数“) Print x; fun(x) End SubEnd Sub 执行上述程序,输入 6,结果是(分数
5、:2.00)A.3 6B.6 3C.6D.程序死循环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“Then subf s1,s2 s2=s2&temp End Sub 程序运行
6、后,单击命令按钮 Command1,且输入“abcdef”,则输出结果为(分数:2.00)A.afbecdB.cdbeafC.fedcbaD.adbecf9.以下关于函数过程的叙述中,正确的是(分数:2.00)A.函数过程形参的类型与函数返回值的类型没有关系B.在函数过程中,过程的返回值可以有多个C.当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递D.如果不指明函数过程参数的类型,则该参数没有数据类型10.在 VB 中,函数过程与子程序过程的区别之一是(分数:2.00)A.函数过程必须有参数,而子程序过程可以没有B.函数过程的参数传递只采用值传递,而子程序过程只采用地址传递C
7、.在程序中,子程序过程调用的代码可以写在表达式中,而函数过程不能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=ab:b=t+a:Fun1=t+b Print Fun1(Fun1(x,(Fun1(x,x1),x1)End Function End Sub 程序运行后,单击命令按
8、钮,输出结果是(分数:2.00)A.10B.0C.11D.2112.有下面程序代码: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 Len(str) c=Mid(str,k,1) Ifc=ch Then search=k:Exit Function End If Next k search=0E
9、nd Function 程序运行后,单击命令按钮 Commandl,输出结果是(分数:2.00)A.0B.8C.6D.未找到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) ElseNext t=x+2Print s End IfEnd Sub f=t End Function 运行程序,则窗体上显示的是(分数:2.00)A.38B.49C.61D.7014.假定有以下通用过程:Function Fun(n A
10、s Integer)As Integer x=n*n:Fun=x11End Function 在窗体上画一个命令按钮,其名称为 Commandl,然后编写如下事件过程:Private Sub Commandl_Click()Dim i As IntegerFor i=1 To 2 y=Fun(i)Print y; Next iEnd Sub 程序运行后,单击命令按钮,在窗体上显示的内容是(分数:2.00)A.1 3B.10 8C.10 7D.0 515.求 1!+2!+10!的程序如下:Private Function s(x As Integer) Private Sub Commandl_
11、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 yEnd Function End Sub 为实现功能要求,程序的括号中应该填入的内容是(分数:2.00)A.Call s(i)B.Call sC.y=y+s(i)D.y=y+s16.在窗体上画一个名称为 Commandl 的命令按钮,并编写如下程序:Function Fun(x) Private Sub Commandl_Click() y=0 n=InputBox(“请输入一个数“) Ifx10 Th
12、en n=Val(n) y=x P=Fun(n):Print P Else End Sub y=y+10 End If Fun=yEnd Function 运行程序,单击命令按钮,将显示输入对话框,如果在对话框中输入 100,并单击“确定”按钮,则输出结果为(分数:2.00)A.10B.100C.110D.出错信息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
13、y Print fun(a(k1),a(k);“; Loop Next k fun=xEnd Sub End Function 程序运行时的输出结果是(分数:2.00)A.4 0 1 0 3 0 0 4 0B.0 3 3 5 1 3 5 1 2C.9-5 3-5 7-2-4 7-2D.9 3 3 5 7 3 5 7 218.设有如下函数:Function DelSpace(ch As String)As IntegerDim n,st,cst=“:n=0For k=1 To Len(ch) c=Mid(ch,k,1) Ifc“Then st=st&c Else n=n+1 End If Nex
14、t k ch=st:DelSpace=nEnd Function 该函数的功能是(分数:2.00)A.统计并返回字符串 ch 中字符的个数B.删除字符串 ch 中的空格符,返回删除字符的个数C.统计并返回字符串 ch 中非空格字符数D.删除字符串 ch 中除空格符外的其他字符,返回删除字符的个数19.窗体上有一个名称为 Commandl 的命令按钮,其单击事件过程及相关的函数过程如下:Private Sub Commandl_Click() Private Function p(x As Integer)As Boolean Dim i As Integer Ifx Mod 70 Then F
15、or i=1 To 500 p=True Ifp(i)Then s=s+1 Else Next p=False Print s End IfEnd Sub End Function 关于上述程序,以下叙述中正确的是(分数:2.00)A.程序功能是统计 1-500 范围内能被 7 整除的整数个数B.Commandl Click 事件过程中 If 语句的条件表达式不完整C.Function 过程定义有误,函数过程 P 的名称与该过程中的变量名 P 相同D.函数过程 P 的返回值为 Boolean 类型20.设有下面程序代码:Pfivme Sub Commandl_Click() Dim strAs
16、 String,ehAs String str=“Visual Basic Programming“:ch=“a“ n=fun(ch,str):Print str,n End Sub Private Function fun(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) Ifcch Then strbuf=strbuf&c Else strbuf=strbuf&UCase(c):n=n+1 End If N
17、ext k str=strbuf:fun=nEnd Function 程序运行时的输出是(分数:2.00)A.Visual Basic Programming 0B.VisuAl BAsic ProgrAmming 3C.Visul Bsic Prograzming 3D.VisualBasicProgramming 221.以下叙述中错误的是(分数:2.00)A.在通用过程中,多个形式参数之间可以用逗号作为分隔符B.在 Print 方法中,多个输出项之间可以用逗号作为分隔符C.在 Dim 语句中,所定义的多个变量可以用逗号作为分隔符D.当一行中有多个语句时,可以用逗号作为分隔符22.以下关于
18、过程及过程参数的描述中,错误的是(分数:2.00)A.调用过程时可以用控件名称作为实际参数B.用数组作为过程的参数时,使用的是“传地址”方式C.只有函数过程能够将过程中处理的信息传回到调用的程序中D.窗体(Form)可以作为过程的参数23.下面是求最大公约数的函数的首部 Function gcd(ByVal x As Integer,ByVal y As Integer)As Integer 若要输出 8、12、16 这 3 个数的最大公约数,下面正确的语句是(分数:2.00)A.Print gcd(8,12),gcd(12,16),gcd(16,8)B.Print gcd(8,12,16)C
19、.Print gcd(8),gcd(12),gcd(16)D.Print gcd(8,gcd(12,16)24.为了通过传值方式来传送过程参数,在函数声明部分应使用的关键字为(分数:2.00)A.ValueB.ByValC.ByRefD.Reference25.以下过程定义中正确的过程首行是(分数:2.00)A.Private Sub Proc(Optional a as Integer,b as Integer)B.Private Sub Proc(a as Integer)as IntegerC.Private Sub Proc(a()As Integer)D.Private Sub Pr
20、oc(ByVal a()As Integer)26.某人编写了下面的程序 Pfivate Sub Commandl_Click() Private Sub pro(n As Integer) Dim a As Integer,b As Integer While(n0) a=InputBox(“请输入整数“) Print n Mod 10;n=n10 b=InputBox(“请输入整数“) Wend pro a:pro b Print Call pro(a+b) End SubEnd Sub 此程序功能是:输入 2 个正整数,反序输出这 2 个数的每一位数字,再反序输出这 2 个数之和的每一位
21、数字。例如:若输入 123 和 234,则应该输出:3 2 1 4 3 2 7 5 3 但调试时发现只输出了前 2 行(即 2 个数的反序),而未输出第 3 行(即 2 个数之和的反序),程序需要修改。下面的修改方案中正确的是(分数:2.00)A.把过程 pro 的形式参数 n As Integer 改为 ByVal n As IntegerB.把 Call pro(a+b)改为 pro a+bC.把 n=n10 改为 n=n10D.在 pro b 语句之后增加语句 c=a+b,再把 Call pro(a+b)改为 pro c27.有下面程序代码:Pfivate Sub Commandl_Cl
22、ick() Private Sub proc(ByVal a As Integer) 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 sEnd Sub 程序运行后,单击命令按钮 Commandl,输出结果是(分数:2.00)A.6B.9C.15D.1928.编写如下程序:Pfivate Sub Commandl_Cliek()Dim x As Integer x=10 Print funl(x,12)+xE
23、nd Sub Private Function fun1(m As Integer,n As Integer)As Integer Ifn10 Then m=n fun1=m+nEnd Function 程序运行后,单击命令按钮 Commandl,输出结果为(分数:2.00)A.30B.32C.34D.3629.在窗体上画一个名称为 Commandl 的命令按钮,再画两个名称分别为 Label1、Label2 的标签,然后编写如下程序代码:Private X As IntegerPrivate Sub Commandl_Click() Private Sub proc(a As Integer
24、, X=5:Y:3 ByVal b As Integer) Call proc(X,Y、) X:a*a:Y=b+b Label1Caption=X End Sub Label2Caption=YEnd Sub 程序运行后,单击命令按钮,则两个标签中显示的内容分别是(分数:2.00)A.25 和 3B.5 和 3C.25 和 6D.5 和 630.设有如下通用过程:Public Function f(x As Integer) Dim y As Integer x:20:y=2:f=x*yEnd Function 在窗体上画一个命令按钮,其名称为 Commandl,然后编写如下事件过程:Priv
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 VB 机试 过程 模拟 试卷 答案 解析 DOC
