[计算机类试卷]国家二级VB机试(选择题)模拟试卷2及答案与解析.doc
《[计算机类试卷]国家二级VB机试(选择题)模拟试卷2及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级VB机试(选择题)模拟试卷2及答案与解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 VB机试(选择题)模拟试卷 2及答案与解析 一、选择题 1 在窗体上画一个名称为 Commandl的命令按钮,并编写如下程序: Function Fun(x) y=0 If x 10 Then y=x Else y=y+10 End If Fun=y End Function Private Sub Command l_Click() n=InputBox(”请输入一个数 ”): n=Val(n) P=Fun(n): Print P End Sub 运行程序,单击命令按钮,将显示输入对话框,如果在对话框中输入 100,并单击 “确定 ”按钮,则输出结果为 ( A) 10 ( B) 1
2、00 ( C) 1 10 ( D)出错信息 2 设有如下事件过程: Private Sub Command l_Click()Dim a a=Anrray(12, 3, 8, 5, 10, 3, 5, 9, 2, 4) For k=1 To 9 Print fun(a(k-1), a(k); ”; Next k End Sub Private Function fun(x, y)As Integer Do While x: y x=x-y Loop fun=x End Function 程序运 行时的输出结果是 ( A) 4 0 1 0 3 0 0 4 0 ( B) 0 3 3 5 1 3 5
3、 1 2 ( C) 9-5 3-5 7-2-4 7-2 ( D) 9 3 3 5 7 3 5 7 2 3 设有如下函数: 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)统
4、计 并返回字符串 ch中非空格字符数 ( D)删除字符串 ch中除空格符外的其他字符,返回删除字符的个数 4 窗体上有一个名称为 Commandl的命令按钮,其单击事件过程及相关的函数过程如下: Private Sub Command l_Click()Dim i As Integer For i=1 To 500 Ifp(i)Then s=s+1 Next Print s End Sub Private Function p(x As Integer)As Boolean IfX Mod 7 0 Then p=True EIse P=False End If End Function 关于上
5、述程序,以下叙述中正确的是 ( A)程序功能是统计 1-500范围内能被 7整除的整数个数 ( B) Commandl_Click事件过程中 If语句的条件表达式不完整 ( C) Function过程定义有误,函数过程 P的名称与该过程中的变量名 P相同 ( D)函数过程 P的返回值为 Boolean类型 5 设有下面程序代码: PlIivate Sub Command l_Click() Dim str As String, ch As String str=”Visual Basic Programming”: ch=”a” n=fun(ch, str): Print str,n End
6、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) If c 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 (
7、 B) VisuAl BAsic ProgrAmming 3 ( C) Visul Bsic Progrmming 3 ( D) VisualBasicProgramming 2 6 以下叙述中错误的是 ( A)在通用过程中,多个形式参数之间可以用逗号作为分隔符 ( B)在 Print方法中,多个输出项之间可以用逗号作为分隔符 ( C)在 Dim语句中,所定义的多个变量可以用逗号作为分隔符 ( D)当一行中有多个语句时,可以用逗号作为分隔符 7 以下关于过程及过程参数的描述中,错误的是 ( A)调用过程时可以用控件名称作为实际参数 ( B)用数组作为过程的参数时,使用的是 “传地址 ”方式 (
8、 C)只有函数 过程能够将过程中处理的信息传回到调用的程序中 ( D)窗体 (Form)可以作为过程的参数 8 下面是求最大公约数的函数的首部 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(
9、12, 16) 9 为了通过传值方式来传送过程参数,在函数声明部分应使用的关键字为 ( A) Value ( B) ByVal ( C) ByRef ( D) Reference 10 以下过程定义中正确的过程首行是 ( 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) 11 某人编
10、写了下面的程序 Private Sub Command l_Click() Dim aAs Integer,bAs 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=n10 Wend Print End Sub 此程序功能是:输入 2个正整数,反序输出这 2个数的每一位数字,再反序输出这 2个数之和的每一位数字。例如:若输入 123和 234,则应该输出:
11、3 2 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 12 有下面程序代码: Private Sub Command l_Click() Dim x As Inte
12、ger,s As Integer x=1 For k=1 To 3 x=x+1: proc x: s=s+x Next k Print s End Sub Private Sub proc(ByVal a As Integer) Static x As Integer x=x+1: a=a+x End Sub 程序运行后,单击命令按钮 Commandl,输出结果是 ( A) 6 ( B) 9 ( C) 1 5 ( D) 19 13 编写如下程序: Private Sub Command l_Click()Dim x As Integer x=1 0 Print funl(x, 12)+x En
13、d Sub Private Function fun l(m As Integer,n As Integer)As Integer Ifn 10 Then m=n fual=m+n End Function 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) 30 ( B) 32 ( C) 34 ( D) 36 14 在窗体上画一个名称为 Commandl的命令按钮,再画两个名称分别为 Labell、Label2的标 签,然后编写如下程序代码: Private X As Integer Private Sub Command l_Click() X=5: Y=3 Call pro
14、c(X, Y) Label 1 Caption=X: Label2 Caption=Y End Sub Private Sub proc(a As Integer,ByVal b As Integer) X=a*a: Y=b+b End Sub 程序运行后,单击命令按钮,则两个标签中显示的内容分别是 ( A) 25和 3 ( B) 5和 3 ( C) 25和 6 ( D) 5和 6 15 设有如下通用过程: Public Function f(x As Integer) Dim y As Integer x=20: y=2: f=x*y End Function 在窗体上画一个命令按钮,其名称
15、为 Commandl,然后编写如下事件过程: Private Sub Command l_Click() Static x As Integer x=10: y=5: y=f(x)Print x; y End Sub 程序运行后,如果 单击命令按钮,则在窗体上显示的内容是 ( A) 10 5 ( B) 20 40 ( C) 20 5 ( D) 10 40 16 命任何一个滚动条滚动框件过程如下: Private Sub Commandl_Click() x=10 Print f(x) End Sub Private Function f(y As Integer) f=y*y End Func
16、tion 运行上述程序,如下叙述中 正确的是: ( A)程序运行出错, x变量的类型与函数参数的类型不符 ( B)在窗体上显示 100 ( C)函数定义错,函数名 f不能又作为变量名 ( D)在窗体上显示 10 17 编写如下程序: Private Sub Command 1_Click() Dim x As Integer,y As Integer x=InputBox(”输入第一个数 ”): y=InputBox(”输入第二个数 ”) Call f(x, y) Print x, y End Sub Sub f(a As Integer,ByVal b As Integer) a=a*2:
17、x=a+b: b=b+100 End Sub 程序运行后,单击命令按钮 Commandl,并输入数值 10和 15,则输出结果为 ( A) 10 115 ( B) 20 11 5 ( C) 35 1 5 ( D) 20 15 18 现有程序如下: Option Base 1 Private Sub Form_Click() Dim x(5, 6)As Integer,y(5)As Integer For i=1 To 5 For j=1 To 6 x(i, j)=Int(Rnd*9+1) Nextj Next i Call f(5, 6, x, y) For i=1 To 5 Print y(
18、i); Next i End Sub Sub f(m As Integer,n As Integer, a() As Integer,b() As Integer) For i=1 To m b(i)=0 Forj=1 To n b(i)=b(i)+a(i, j) Nextj Next i End Sub 关于上述程序,以下叙述中正确的是 ( A)调用过程语句有错,参数不 匹配 ( B)程序有错,数组下标越界 ( C) y数组中保存的是 x数组每行数据之和 ( D) x数组中数据的取值范围是 1-10 19 窗体上有一个名称为 Commandl的命令按钮,一个名称为 Textl的文本框。编写如
19、下程序: Private Sub Command l_Click() Dim xAs Integer x=Val(InputBox(”输入数据 ”): Textl=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)运行程序,
20、输入值为 6时,文本框中显示 42 ( D) ByRef表示参数按址传递 20 窗体上有一个名称为 Commandl的命令按钮,并有如下程序代码: Private Sub Command l_Click() Static a a=1: b=2: c=3 Call f(a, b, c) Print a; b; c End Sub Sub f(ByVal x, ByRefy,z) x=x+1: y=y+1: z=z+l End Sub 运行程序,单击命令按钮,窗体上显示的是 ( A) 1 3 3 ( B) 1 3 4 ( C) 2 3 3 ( D) 2 3 4 21 窗体上有一个名称为 Comma
21、ndl的命令按钮,其单击事件过程如下: Private Sub Command l_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个标签中显示的内容分别是 ( A) 3 5 5 ( B) 3 5 10 ( C
22、) 3 10 5 ( D) 3 10 10 22 (36)窗体上有一个名称为 Commandl的命令按钮,其单击事件过程及相关的代码如下: Private Sub Command l_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 Fun
23、ction 运行程序,单击命令按钮时,出现输入对话框,分别输入 3、 5,则窗体上显示的是 ( A) 27 ( B) 28 ( C) 33 ( D) 38 23 设有如下程序: Private Sub Inv(ByVal xStr As String, yStr As String) Dim tStr As String Dim L As Integer L=Len(xStr) Do While L =1 tStr=tStr+Mid(xStr, L, 1): L=L-l Loop yStr=tStr End Sub Private Sub Form_Click() Dim S1 As Stri
24、ng, S2 As String Sl=”abcdef”Inv S1 S2 Print S2 End Sub 运行程序,单击窗体,输出结果为 ( A) abcdef ( B) afbecd ( C) fedcba ( D) defabc 24 设有如下程序: Private Sub sV(ByVal m As Integer,n As Integer) m=m*2: n=n-5: Print m; n End Sub Private Sub Form Click() Dim x As Integer, y As Integer x=10: y=1 5: sV x Y Print x; Y En
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 VB 机试 选择题 模拟 答案 解析 DOC
