[计算机类试卷]国家二级VB机试(选择题)模拟试卷143及答案与解析.doc

上传人:amazingpat195 文档编号:500167 上传时间:2018-11-30 格式:DOC 页数:22 大小:58.50KB
下载 相关 举报
[计算机类试卷]国家二级VB机试(选择题)模拟试卷143及答案与解析.doc_第1页
第1页 / 共22页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷143及答案与解析.doc_第2页
第2页 / 共22页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷143及答案与解析.doc_第3页
第3页 / 共22页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷143及答案与解析.doc_第4页
第4页 / 共22页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷143及答案与解析.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、国家二级 VB机试(选择题)模拟试卷 143及答案与解析 一、选择题 1 以下叙述中错误的是 ( A)标准模块文件的扩展名是 bas ( B)标准模块文件是纯代码文件 ( C)在标准模块中声明的全局变量可以在整个工程中使用 ( D)在标准模块中不能定义过程 2 下面不能在信息框中输出 “VB”的是 ( A) MsgBox“VB” ( B) x=MsgBox(“VB”) ( C) Msgox(“VB”) ( D) Call MsgBox“VB” 3 以下关于过程的叙述中,错误的是 ( A)在 Sub过程中不 能再定义 Sub过程 ( B)事件过程也是 Sub过程 ( C)过程调用语句的形参个数必

2、须与实参个数相同 ( D)函数过程一定有返回值 4 设子程序过程定义的首部为: Public Sub s(xAs Integer,Y As Single)则以下正确的调用形式为 ( A) Call S 5, 4 8 ( B) Cau Sub(5, 4 8) ( C) Sub 5, 4 8 ( D) S 5, 4 8 5 在窗体上画两个标签和一个命令按钮,其名称分别为 Label1、 Labe12和Command1,然后编写如下程序: Private Sub ftme(LAs Label)Private Sub Commandl-CliekO L Caption=“1234”a=Val(Labe

3、l2 Caption) End SubCall fune(Labell) Private Sub Form_LoadO Labe12 Caption=a Labell Caption=“ABCDE”End Sub Labet2 Capt ( A) ABCD和 10 ( B) 1234和 100 ( C) ABCD和 100 ( D) 1234和 10 6 设有 如下 Command1的单击事件过程及 fun过程: Private Sub Commandl_CliekO Private Sub fun(xAs Integer) Dim X As IntegerIfx Mod 2=0 Then f

4、tm(x 2) X=Val(InputBox(“请输入一个整数 ”)Printx; fun(x)End Sub End Sub 执行上述程序,输入 6,结果是 ( A) 3 6 ( B) 6 3 ( C) 6 ( D)程序死循环 7 编写如下程序: Private Sub Commandl Cliek( ) Dim str1 As String, str2 As String str1=InputBox(“输入一个字符串 ”): subf str1, str2: Print str2 End Sub Sub subf(s1 As String, s2As String) Dim temp As

5、 String: Static i As Integer i=i+1 temp=Mid(s1, i, 1) Iftemp=10 Then t=x+1 Else t=x+2 End If f=t End Function 运行程序,则窗体上显示的是 ( A) 38 ( B) 49 ( C) 61 ( D) 70 13 假定有以下通用过程: Function Fun(n As Integer)As Integer x=n*n: Fun=x-11 End Function 在窗体上画一个命令按钮,其名称为 Commandl,然后编写如下事件过程: Private Sub Command l Clic

6、k() Dim iAs Integer 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 14 求 1 1+2 1+10 1 的程序如下: Private Function s(x As Integer) f=1 For i=1 To x f=f*i Next S=f End Function Private Sub Command 1 Click() Dim i As Integer,y As Long For i=1 To

7、10 () Next Print y End Sub 为实现功能要求,程序的括号中应该填入的内容是 ( A) Call s(i) ( B) Call s ( C) y=y+s(i) ( D) y=y+s 15 在窗体上画一个名称为 Commandl的命令按钮,并编写如下程序: Function Fun(x) y=0 If 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 1 2 ( C) 9-5 3-5 7-2-4 7-2 ( D) 9 3 3 5 7 3 5 7 2

8、17 设有如下函数: 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) If c0 Then P=True Else P=False End If End Function 关于上述程序,以下叙述中正确 ( A)程序功能是统计 1-500范围内能被 7整除的整数个数 ( B) Commandl Click事件过程中 If语句的条件表达式不完整 ( C) Function过程定义有误,函数过程 P的名称与该过程中的变量名 P相同 ( D)函数

9、过程 P的返回值为 Boolean类型 19 设有下面程序代码: Private Sub Command 1 Click() Dim strAs String, chAs 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 ( A) Visual Ba

10、sic Programming ( ) ( B) VisuAl BAsic ProgrAmming 3 ( C) Visul Bsic Progrmming 3 ( D) VisualBasicProgramming 2 20 以下叙述中 错误的是 ( A)在通用过程中,多个形式参数之间可以用逗号作为分隔符 ( B)在 Print方法中,多个输出项之间可以用逗号作为分隔符 ( C)在 Dim语句中,所定义的多个变量可以用逗号作为分隔符 ( D)当一行中有多个语句时,可以用逗号作为分隔符 21 以下关于过程及过程参数的描述中,错误的是 ( A)调用过程时可以用控件名称作为实际参数 ( B)用数组

11、作为过程的参数时,使用的是 “传地址 ”方式 ( C)只有函数过程能够将过程中处理的信息传回到调用的程序中 ( D)窗体 (Form)可以作为过程的参数 22 下面是求最大公约数的函数的首部 Function gcd(ByVal xAs 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)

12、( D) Print gcd(8, gcd(12, 16) 23 为了通过传值方式来传送过程参数 ,在函数声明部分应使用的关键字为 ( A) Value ( B) ByVal ( C) ByRef ( D) Reference 24 以下过程定义中正确的过程首行是 ( 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(ByV

13、al a()As Integer) 25 某人编写了下面的程序 Private Sub CommandlClick() Dim a As Integer,b As Integer a=InputBox(“请输入整数 ”): b=InputBox(“请输入整数 ”) pro a: pro b Call pro(a+b) End Sub Private Sub pro(nAs Integer) While(n0) Print n Mod 10; n=n 10 Wend Print End Sub 此程序功能是:输入 2个正整数,反序输出这 2个数的每一位数字,再 ( A)把过程 pro的形式参数

14、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 26 有下面程序代码: Private Sub CommandlClick() Dim x As Integer,s As Integer x=1 For k=1 To 3 x=x+1: proe x: s=s+x Next k Print s End Sub Private Sub proc(ByVal a As Int

15、eger) Static x As Integer x=x+1: a=a+x End Sub 程序运行后,单击命令按钮 Command1,输出结果是 ( A) 6 ( B) 9 ( C) 15 ( D) 19 27 编写如下程序: Private Sub Command1Click()DimXAs Integerx=10 Print funl(x, 12)+x End Sub Private Function fiml(mAs Integer,nAs Integer)As Integer Ifn10 Then m=n funl=m+n End Function 程序运行后,单击命令按钮 Com

16、mandl,输出结果为 ( A) 30 ( B) 32 ( C) 34 ( D) 36 28 在窗体上画一个名称为 Commandl的命令按钮,再画两个名称分别为 Labe11、Labe12的标签,然后编写如下程序代码: Private X As Integer Private Sub Command 1Click() X=5: Y=3 Call proc(X, Y) Labell 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

17、程序运行后,单 ( A) 25和 3 ( B) 5和 3 ( C) 25和 6 ( D) 5和 6 29 设有如下通用过程: Public Function f(x As Integer) Dim YAs Integer x=20: y=2: f=x*y End Function 在窗体上画一个命令按钮,其名称为 Command1,然后编写如下事件过程: Private Sub Command 1Click() Static x As Integer x=10: y=5: y=f(x)Print x; y End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是 ( A) 10 5

18、 ( B) 20 40 ( C) 20 5 ( D) 10 40 30 命任何一个滚动条滚动框件过程如下: Private Sub Command1_Click()Private Function f(y As Integer) X=10 Print f(x)f=y*y End SubEnd Function 运行上述程序,如下叙述中正确的是: ( A)程序运行出错, x变量的类型与函数参数的类型不符 ( B)在窗体上显示 100 ( C)函数定义错,函数名 f不能又作为变量名 ( D)在窗体上显示 10 国家二级 VB机试(选择题)模拟试卷 143答案与解析 一、选择题 1 【正确答案】 D

19、 【试题解析】 本题考查的考点是有关标准模块的。 Visual。 Basic中的标准 模块也称全局模块或总模块,由全局变量声明、模块层声明及通用过程等儿部分组成,其扩展名为 bas,里面只有代码而没有任何控件。其中全局声明放在标准模块的首部,可以在整个工程中使用。 【知识模块】 过程 2 【正确答案】 D 【试题解析】 MsgBox( )函数用于显示提示信息,并可返回一个代表用户单击了哪个按钮的 Integer类型值,当其作为函数使用时必须将参数放在括号内部,而返回值可以赋值给一个变量,也可以单独使用此函数而不将其返回值赋值给变量; MsgBox过程也用于显示提示信息, 作为过程可以独立使用,

20、也可以使用 Call关键字来进行调用,但此时参数需要加括号。 【知识模块】 过程 3 【正确答案】 C 【试题解析】 Sub过程分为事件过程和通用过程,过程不允许嵌套定义,即在Sub过程中再定义 Sub过程;函数过程必须有个返回值,当过程的声明语句中使用了可选参数的时候,允许实参个数与形参不同。 【知识模块】 过程 4 【正确答案】 D 【试题解析】 子过程可以独立使用,也可以使用 Call关键字来进行调用,但此时参数需要加括号。本题中子程序的名字是 S,故此 B、 C选项可以排除, A选项中缺少参数的括号。 【知识模块】 过程 5 【正确答案】 D 【试题解析】 本题考查的考点是有关过程调用

21、的。窗体加载时首先执行了 Load事件里面的代码,设置 Labell的标题为 “ABCDE”, Label2的标题为 “10”:当单击命令按钮时,调用了 func过程,在这个过程中把传入的 Label1的标题设置为“1234”, Label2的标题没有发生变化。 【知识模块】 过程 6 【正确答案】 A 【试题解析】 本题中的 fun过程是一个递归调用,如果参数 x为 偶数则进入递归;本题中的实参 6传入 fun过程之后,因其是偶数,所以执行 fun(6 2),也就是先输出 3,然后返回到 fun中输出 6。 【知识模块】 过程 7 【正确答案】 C 【试题解析】 本题中的子过程 subf会进

22、行递归调用,只要在参数 s1中取出的字符不是空字符串就进行递归,直到 i的值超过 s1的长度才停止,然后进行回归操作,相当于每一次向 s2中连接的字符都是最后取出的 s1中的字符,最终实现字符串的逆序操作。 【知识模块】 过程 8 【正确答案】 A 【试题解析】 本题考查的考 点是有关函数过程的。函数过程可以返回一个函数值,但这个函数值的类型和参数类型没有任何关系:如果不指明参数的类型,则默认参数为变体型;数组作为函数参数时只能通过传地址的方式来调用。 【知识模块】 过程 9 【正确答案】 D 【试题解析】 函数过程和 Sub子过程一样,也可以有参数也可以没有参数:参数传递也可以使用地址传递也

23、可以使用值传递:都是在代码中进行调用,只是函数过程必须有一个返回值,子过程没有。 【知识模块】 过程 10 【正确答案】 B 【试题解析】 本题考查的考点是有关 过程调用的。对于这种复杂的函数调用,一定要搞清楚调用的顺序以及参数传递的是值还是地址。根据过程调用的原则,首先调用最内层的 Funl(x, x-1),其结果为 12, x的值不变仍为 10;然后调用Fun(x, 12),其结果为 6, x的值也不变为 1:最后调用 Funl(6, x-1),其结果为0, x的值也不变为 10。本题中的传址调用是没有作用的,因为表达式是不能传地址的。 【知识模块】 过程 11 【正确答案】 C 【试题解

24、析】 本题中 search函数的参数是两个字符串,在函数内进行循环,依次取出第一个参数 的第 k位和第二个参数进行比较,如果相等则返回 k的值,实际上就是查找第二个参数在第一个参数中出现的位置。 【知识模块】 过程 12 【正确答案】 B 【试题解析】 本题考查的考点是有关函数调用和 If语句的。要注意在前 4次循环中每次调用 f函数时传递的参数分别为 6、 7、 8、 9,都是小于 10的,最后一次循环传递参数 10,所以最终结果应该为 8+9+10+11+11=49。 【知识模块】 过程 13 【正确答案】 C 【试题解析】 本题共调用 Fun函数 2次,每次的函数值都是参数的平方减去 1

25、1的值,故此输出 -10, -7。 【知识模块】 过程 14 【正确答案】 C 【试题解析】 函数过程有一个返回值,一般出现在表达式中组成表达式的一部分。本题的题目要求累加各个数的阶乘,而函数 s的作用是求参数的阶乘,因此应该在每次循环中累加 f函数的值,参数为循环变量 i。 【知识模块】 过程 15 【正确答案】 A 【试题解析】 本题是一个简单的函数调用,在函数中会判断参数 x的值,根据 x的值不同执行 If语句的不同分支。由于实际参数为 100不满足 x10,会将形参 m的值也改变为 12,因返回的函数值为 24:由于函数 ftnl的各个参数为地址传递,因此对于形参 m的值会影响实参 x

26、的值,即 x的值也变为 12。 【知识模块】 过程 28 【正确答案】 A 【试题解析】 本题考查的考点是有关参数传递的。在 VB的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal声明,说明此参数为传值调用;若用。 ayRef声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递。即形参的结果会传递给实参。由 于本题中的实参 Y采用传值传递,实参 X采用传址传递,而且 X是全局变量,所以在被调过程中改变了 x的值而没有改变 Y的值。 【知识模块】 过程 29 【正确答案】 B 【试题解析】 本题中函数 f中的形参 x和按钮的单击事件中的静态变量 x是不同的变量,相互之间互不影响。函数 f的参数 x使用的是地址传递的形式,即形参的变化会影响到实参;在命令按钮的单击事件中调用函数 f,会使得参数 x的值变成20,函数返回值为 40。 【知识模块】 过程 30 【正确答案】 A 【试题解析】 在调用子过程或者函数 过程时,要求实参与形参必须是匹配的,即个数相同、类型相同、顺序一致。本题中命令按钮的 Click事件中隐式声明了变量x,所以 x是变体型;在调用函数 f的时候将变体型的 x作为实参传送,但函数 f中的形参 y是整型的,故此产生类型不匹配的情况。 【知识模块】 过程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1