ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:58.50KB ,
资源ID:500167      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-500167.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级VB机试(选择题)模拟试卷143及答案与解析.doc)为本站会员(amazingpat195)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

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

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