[计算机类试卷]国家二级ACCESS机试(模块与VBA编程基础)模拟试卷3及答案与解析.doc

上传人:tireattitude366 文档编号:496952 上传时间:2018-11-30 格式:DOC 页数:24 大小:60KB
下载 相关 举报
[计算机类试卷]国家二级ACCESS机试(模块与VBA编程基础)模拟试卷3及答案与解析.doc_第1页
第1页 / 共24页
[计算机类试卷]国家二级ACCESS机试(模块与VBA编程基础)模拟试卷3及答案与解析.doc_第2页
第2页 / 共24页
[计算机类试卷]国家二级ACCESS机试(模块与VBA编程基础)模拟试卷3及答案与解析.doc_第3页
第3页 / 共24页
[计算机类试卷]国家二级ACCESS机试(模块与VBA编程基础)模拟试卷3及答案与解析.doc_第4页
第4页 / 共24页
[计算机类试卷]国家二级ACCESS机试(模块与VBA编程基础)模拟试卷3及答案与解析.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、国家二级 ACCESS机试(模块与 VBA编程基础)模拟试卷 3及答案与解析 一、选择题 1 InputBox函数的返回值类型是 ( A)数值 ( B)字符串 ( C)变体 ( D)视输入的数据而定 2 下列能够交换变量 X和 Y值的程序段是 ( A) Y=X: X=Y ( B) Z=X: Y=Z: X=Y ( C) Z=X: X=Y: Y=Z ( D) Z=X: W=Y: Y=Z: X=Y 3 窗体中有命令按钮 commanddl和文本框 Textl,事件过程如下: Function result(ByVal X As Integer)As Boolean IfX Mod 2=0 Then

2、result=True Else result=False End If End Function Private Sub Commandl_Click() x=Val(InputBox(“请输入一个整数 ”) If_Then Textl=str(x)&”是偶数 ” Else Textl=str(x)&”是奇数 ” End If End Sub 运行程序,单击命令按钮,输入 19,在 Textl中会显示 “19是奇数 ”。那么在程序的空白处应填写 ( A) result(x)=“偶数 ” ( B) result(x) ( C) result(x)=“奇数 ” ( D) NOT result(x

3、) 4 窗体有命令按钮 Commandl和文本框 Textl,对应的事件代码如下: Private Sub Commandl_Click() For i=l To 4 x=3 For j=1 To 3 For k=1 To 2 x=x+3 Next k Nextj Next i Textl Value=Str(x) End Sub 运行以上事件过程,文本框中的输出是 ( A) 6 ( B) 12 ( C) 18 ( D) 21 5 窗体中有命令按钮 run34,对应的事件代码如下: Private Sub run34_Enter() Dim hum As Integer, a As Integ

4、er, b As Integer, i As Integer For i=1 T0 10 num=InputBox(“请输入数据: ”, “输入 ”) If Int(num 2)=num 2 Then a=a+l Else b=b+l End If Next i MsgBox(“运行结果: a=”&Str(a)&“, b=”&Str(b) End Sub 运行以上事件过程,所完成的功能是 ( A)对输入的 10个数据求累加和 ( B)对输入的 10个数据求各自的余数,然后再进行累 加 ( C)对输入的 10个数据分别统计奇数和偶数的个数 ( D)对输入的 10个数据分别统计整数和非整数的个数

5、6 运行下列程序,输入数据 8、 9、 3、 0后,窗体中显示结果是 Private Sub Form_click() Dim sum As Integer, m As Integer sum=0 Do m=InputBox(“输入 m”) sum=sum+m Loop Until m=0 MsgBox sum End Sub ( A) 0 ( B) 17 ( C) 20 ( D) 21 7 运行下列程序段,结果是 For m=10 to 1 step 0 k=k+3 Next m ( A)形成死循环 ( B)循环体不执行即结束循环 ( C)出现语法错误 ( D)循环体执行一次后结束循环 8

6、运行下列程序,结果是 Private Sub Command32_Click() f0=1: fl=1: k=1 Do While k =5 f=f0+f1 f0=f1 f1=f k=k+l Loop MsgBox“f=”&f End Sub ( A) f=5 ( B) f=7 ( C) f=8 ( D) f=13 9 有如下事件程序,运行该程序后输出结果是 Private Sub Command33_Click() Dim x As Integer, Y As Integer X=1: y=0 Do Until Y =25 y=y+x*x x=x+1 Loop MsgBox“x=”&x&“,

7、 y=”&y End Sub ( A) x=l, y=0 ( B) x=4, y=25 ( C) x=5, y=30 ( D)输出其他结果 10 下列程序的功能是计算 s啪 =1+(1+3)+(1+3+5)+(1+3+5+39) Private Sub Command34_Click() t=O m=l sum=0 Do T=t+m Sum=Sum+t m=_ Loop While m =39 MsgBox“Sum=”&sun End Sub 为保证程序正确完成上述功能,空白处应填入的语句是 ( A) m+l ( B) m+2 ( C) t+l ( D) t+2 11 由 “For i=1 T

8、o 16 Step 3”决定的循环结构被执行 ( A) 4次 ( B) 5次 ( C) 6次 ( D) 7次 12 若有以下窗体单击事件过程: Private Sub Form_Click() result=1 For i=l To 6 step 3 result=result木 i Next i MsgBox result End Sub 打开窗体运行后,单击窗体,则消息框的输出内容是 ( A) 1 ( B) 4 ( C) 15 ( D) 120 13 窗体中有命令按钮 Command32,其 Click事件代码如下。该事件的完整功能是:接收从键盘输入的 10个大于 0的整数,找出其中的最大

9、值和对应的输入位置。 Private Sub Command32_Click() max=0 max n=0 For i=l T0 10 num=Val(InputBox(“请输入第 ” i “个大于 O的整数: ”) If_Then maX=num max_n=i End If Next i MsgBox(“最大值为第 ”&max_n&“个输入的 ”&max) End Sub 程序空白处应该填入的表达式是 ( A) num i ( B) i max ( C) num max ( D) num max 14 若有如下 sub过程: Sub sfun(x As Single, Y As Sing

10、le) t=X x=t y y=t Mod Y End Sub 在窗体中添加一个命令按钮 command33,对应的事件过程如下: Private Sub Command33_Click() Dim aAs Single Dim b As Single a=5: b=4 sfun(a, b) MsgBox a&chr(10)+chr(13) b End Sub 打开窗体运行后,单击命令按钮,消息框中有两行输出,内 容分别为 ( A) 1和 1 ( B) 1 25和 l ( C) 1 25和 4 ( D) 5和 4 15 运行下列程序,显示的结果是 Private Sub Command34_C

11、lick() i=0 DO i=i+1 Loop While i 10 MsgBox i End Sub ( A) 0 ( B) 1 ( C) 10 ( D) ll 16 运行下列程序,在立即窗口显示的结果是 Private Sub Commando_Click() Dim I As Integer,J As Integer For I=2 TO 10 For J=2 To 1 2 IfI mod J=0 Then Exit For Next J If J sqr(I)Then Debug Print I; Next I End Sub ( A) 1 5 7 9 ( B) 4 6 8 ( C)

12、 3 5 7 9 ( D) 2 3 5 7 17 运行下列过程,当输入一组数据: lO, 20, 50, 80, 40, 30, 90, 100, 60,70,输出的结果应该是 Sub pl() Dim i,j, arr(11)As Integer k=1 While k =10 arr(k)=Val(InputBox(“请输入第 ”&k&“个数: ”, “输入窗口 ”) k=k+l Wend For i=l TO 9 j=i+l If arr(i) arr(j)Then temp=arr(i) arr(i)=arr(j) arr(j)=temp End If Debug Print arr(

13、i) Next i End Sub ( A)无序数列 ( B)升序数列 ( C)降序数列 ( D)原输入数列 18 下列程序的功能是计算 N=2+(2+4)+(2+4+6)+(2+4+6+40) 的值。 Pfivte Sub Command34_Click() t=0 m=0 sum=0 DO t=t+m sum=sum+t m=_ Loop While m 41 MsgBox“sum=”&sum End Sub 空白处应该填写的语句是 ( A) t+2 ( B) t+1 ( C) m+2 ( D) m+l 19 在窗体中有一个名为 Commandl的命令按钮,事件代码如下: Privte S

14、ub Commandl_Click() Dim in(10) For k=l To 10 m(k)=1-k Next k x=6 MsgBox m(2+m(x) End Sub 打开窗体,单击命令按钮,消息框的输出结果是 ( A) 2 ( B) 3 ( C) 4 ( D) 5 20 在窗体中有一个名为 run34的命令按钮,事件代码如下: Private Sub run34_Click() f1=l f2=1 For n=3 To 7 f=f1+f2 fl=f2 f2=f Next n MsgBox f End Sub 打开窗体,单击命令按钮,消息框的输出结果是 ( A) 8 ( B) 13

15、( C) 21 ( D)其他结果 21 假定有如下的 Sub过程: Sub sfun(x As Single, Y As Single) t=X X=t y Y=t Mod Y End Sub 在窗体上添加一个命令按钮 (名为 Commandl),然后编写如下事件过程: Private Sub Commandl_Click() Dim a as single Dim b as single a=5 b=4 sfun a,b MsgBox a&chr(10)+chr(13)&b End Sub 打开窗体运行后,单击命令按钮,消息框的两行输出内容分别为 ( A) 1和 l ( B) 1 25和 1

16、 ( C) 1 25和 4 ( D) 5和 4 22 Sub过程与 Function过程最根本的区别是 ( A) Sub过程的过程名不能返回值,而 Function过程能通过过程名返回值 ( B) Sub过程可以使用 Call语句或直接使用过程名调用,而 Function过程不可以 ( C)两种过程参数的传递方式不同 ( D) Function过程可以有参数, Sub过程不可以 23 在窗体中添加一个名称为 Commandl的命令按钮,然后编写如下程序: Public X As Integer Private Sub Command 1 Click() X=10 Call Sl CaU s2

17、MsgBox X End Sub Private Sub sl() X=X+20 End Sub Private Sub s2() Dim xAs Integer x=x+20 End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果为 ( A) 10 ( B) 30 ( C) 40 ( D) 50 24 在过程定义中有语句: Private Sub GetData(ByRef f As Integer) 其中 “ByRef”的含义是 ( A)传值调用 ( B)传址调用 ( C)形式参数 ( D)实际参数 25 若要在子过程 Procl调用后返回两个变量的结果,下列过程定义语句中有效的

18、是 ( A) Sub Proc l(n, m) ( B) Sub Procl(ByVal n, m) ( C) Sub Procl(n, BYVal m) ( D) Sub Procl(ByVal n, ByVal m) 26 在过程定义中有语句: Private Sub GetData(ByVal data As Integer) 其中 “ByVal”的含义是 ( A)传值调用 ( B)传址调用 ( C)形式参数 ( D)实际参数 27 要想在过程 Proc调用后返回形参 x和 Y的变化结果,下列定义语句中正确的是 ( A) Sub Proc(x as Integer, Y as Integ

19、er) ( B) Sub Proc(ByVal X as Integer, Y as Integer) ( C) Sub Proc(x as Integer, ByVal Y as Integer) ( D) Sub Proc(ByVal x as Integer, ByVal Y as Integer) 28 在 VBA中,下列关于过程的描述中正确的是 ( A)过程的定义可以嵌套,但过程的调用不能嵌套 ( B)过程的定义不可以嵌套,但过程的调用可 以嵌套 ( C)过程的定义和过程的调用均可以嵌套 ( D)过程的定义和过程的调用均不能嵌套 29 在窗体上有一个命令按钮 Commandl,编写事

20、件代码如下: Private Sub Commandl_Click() Dim x As Integer,Y As Integer x=12: y=32 Call Proc(x, Y) End Sub Public Sub Proch As Integer, ByVal m As Integer) n=n Mod lO m=m Mod 10 End Sub 打开窗体运行后,单击命令按钮,立即窗口上输出的结果是 ( A) 2 32 ( B) 12 3 ( C) 2 2 ( D) 12 32 30 窗体中有命令按钮 Commandl,事件过程如下: Public Function f(x As I

21、nteger)As Integer Dim Y As Integer x=20 Y=2 f=x*Y End Function Private Sub Commandl_Click() Dim Y As Integer Static X As Integer x=10 y=5 y=f(x) Debug Print x; Y End Sub 运行程序,单击命令按钮,则立即窗口中显示的内容是 ( A) 10 5 ( B) 10 40 ( C) 20 5 ( D) 20 40 31 如果在被调用的过程中改变了形参变量的值,但又不影响实参变量本身,这种参数传递方式称为 ( A)按值传递 ( B)按地址传

22、递 ( C) ByRef传递 ( D)按形参传递 32 在代码中定义了一个子过程: Sub P(a, b) End Sub 下列调用该过程的形式中,正确的是 ( A) P(10, 20) ( B) Call P ( C) Call P 10, 20 ( D) Call p(10, 20) 33 不属于 VBA提供的程序运行错误处理的语句结构是 ( A) On Error Then标号 ( B) On Error Goto标号 ( C) On Error Resume Next ( D) On Error Goto 0 34 在调试 VBA程序时,能自动被查出来的错误是 ( A)语法错误 ( B

23、)逻辑错误 ( C)运行错误 ( D)语法错误和逻辑错误 35 下列属于通知或警告用户的命令是 ( A) PrintOut ( B) OutputTo ( C) MsgBox ( D) Set Warnings 36 在 VBA中,能自动检查出来的错误是 ( A)语法错误 ( B)逻辑错误 ( C)运行错误 ( D)注释错误 37 要显示当前过程中的所有变量及对象的取值,可以利用的调试窗口是 ( A) 监视窗口 ( B)调用堆栈 ( C)立即窗口 ( D)本地窗口 38 在代码调试时,使用 Debug Print语句显示指定变量结果的窗口是 ( A)立即窗口 ( B)监视窗口 ( C)本地窗口

24、 ( D)属性窗口 国家二级 ACCESS机试(模块与 VBA编程基础)模拟试卷 3答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 lnputBox输入框:在对话框中显示提示,等待使用者输入文字或按一下按钮,再返回包含文本框内容的字符串类型值。 2 【正确答案】 C 【试题解析】 想要 交换 X与 Y的值,需要另一个变量作为中间变量 z,先把 x值赋给 z,再把 Y值赋给 x,最后把 z的值赋给 Y,交换完毕。 3 【正确答案】 B 【试题解析】 result函数返回的是布尔值: True或 False, x Mod 2=0表示如果一个数除以 2为 0代表是偶数,那么返回 Tme值

25、,所以条件判断时只要调用result(x)即可。 4 【正确答案】 D 【试题解析】 此处嵌套三层循环,最外层循环总是把 x值初始化为 3,所以只看内两层循环的次数及累加,内两层一共循环 3+2=6次,每次 x的值累加 3,即共累加 6*3=1 8,再加上初始值 x=3+1 8=21。 5 【正确答案】 C 【试题解析】 因 Num变量为整型,所以每次输入的数据是整数, int函数是取整函数,如果 num为整数,则 int(: num 2)与 num 2相等,否则不等,所以此事件代码完成的功能是统计输入奇数与偶数的个数。 6 【正确答案】 C 【试题解析】 DoUntil Loop 循环结构是

26、当条件为假时,重复执行循环体,直至条件表达式为真,结束循环。当输入 8、 9、 3三个数字条件 (m=0)不成立,所以累加,直到输入 0后结束,即 8+9+3=20。 7 【正确答案】 B 【试题解析】 。 FOR是循环语句,当 step=0时, t0前数字要小于后面数字,否则将不执行。本题中 to前数字是 10大于后面数字 1则不执行此循环体,直接跳过。 8 【正确答案】 D 9 【正确答案】 A 【试题解析】 Do LJntilI oop循环结构是当条件为假时,重复执行循环体,直至条件表达式为真,结束循环。本题中循环条件是 y=0max时,才能实现将最大值查找出来,并记录其位置。 14 【

27、正确答案】 B 【试题解析】 南题意可知 sfun函数实现求除数和求余数的功能,所以最终结果是 1 25和 1。 15 【正确答案】 C 【试题解析】 依据题意可知,当执行完第 10次循环体后,此时 i的值为 10,w11jle的条件为假,所以跳出循环,所以最终的结果为 10。 16 【正确答案】 D 17 【正确答案】 A 【试题解析】 本段代码段是一个单重循环,对于 数组中的每一个元素,依次与后面的元素进行比较,较大的数放在前面。运行这个过程,返回序列为: 10、 20、50、 40、 30、 80、 90、 60、 70、 100,表明是一个无序序列。 18 【正确答案】 C 【试题解析

28、】 m每次递增加 2,得到的数值为 2、 4、 6等,在每次循环的开始,则 t的值为 2、 (2+4)、 (2+4+6)等, sum的值为 2, 2十 (2+4), 2+(2+4)+(2+4+6)等符合要求。 19 【正确答案】 C 【试题解析】 由题意可知, m(6)的值为 5, m(7): 4,所以 m(2+m(6)=m(7)=4。 20 【正确答案】 B 21 【正确答案】 B 【试题解析】 本题考查 VBA中参数传递的知识。在 VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时没有说明传递类型,则默认为传址传递,即形参的结果会传递给实参。本例就是传址传递,所以

29、过程调用时 x=a,也就是 5; y=b,也就是 4。在过程内 x的值变为 5 4也就是1 25, y的值变为 5Mod4也就是 l。过程调用结束时 x和 y的值分别回送给 a和b,所以选项 B正确。 22 【正确答案】 A 【试题 解析】 本题考查函数过程和了过程的知识。函数过程和子过程都是过程,都可以使用 call语句进行调用,都可以指定参数,并且都可以指定用传址还是传值的方式进行参数传递。它们除了定义的关键字不同外的根本区别是:函数过程最终会通过过程名返回一个函数值,而子过程不会。 23 【正确答案】 B 【试题解析】 本题考查变量作用域的知识。在整个程序中定义了一个全局变量x,在命令按

30、钮的单击事件中对这个 x赋值为 10,然后依次调用 s1和 s2;在 s1中对 x自加了 20;在 s2中用 Dim定义了一个局部变量 x,按照局部覆盖全局的 原则,在 s2中的操作都是基于局部变量 x而不是全局变量 x。故此最终的输出结果为 30。 24 【正确答案】 B 【试题解析】 本题考查 VBA中参数传递的知识。在 VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal声明,说明此参数为传值调用;若用 ByRef声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递。即形参的结果会传递给实参。 25 【正确答案】 A 【试题解析】 本题

31、考查 VBA中参数传递的知识。在 VBA的过程调用时,参数有两种传递方式 :传址传递和传值传递。如果在过程声明时形参用 ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用 ByRef声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。 26 【正确答案】 A 【试题解析】 参数有两种传递方式:传址传递和传值传递。如果存过程声明时形参用 ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用 ByRef声明,说明此参数为传址调用,此时形参的变化将会返同到实参;没有说明传递类型,则默认为传址传递。 27 【正确答案】

32、 A 【试题解析】 本题考查 VBA中参数传递的知识。在 vBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal声明,说明此参数为传值调用;若用 ByRef。声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递。即形参的结果会传递给实参。 28 【正确答案】 B 【试题解析】 本题考查过程的知识。过程可以嵌套调用,但是不得嵌套定义。 29 【正确答案】 A 【试题解析】 在 VBA的过程调用时,参数有两种传递方式:传址传递 和传值传递。如果在过程声明时形参用 ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用 ByRef声

33、明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。因此调用函数实参 x是传址方式传递,实参 y为传值方式传递,调用函数后 x值在函数中随形参改变,即 x=11mod 10=12mod10=2,而 y不随之改变。 30 【正确答案】 B 【试题解析】 static为静态变量,要在过程的实例问保留局部变量的值,用此变量,它的持续时间是整个模块执行的时间, 但它的有效作用范罔是由其定义位置决定的。 31 【正确答案】 A 【试题解析】 在 VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal声明,说明此参数为传值调用

34、,此时形参的变化不会返回到实参;若用 ByRef。声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。 32 【正确答案】 D 33 【正确答案】 A 34 【正确答案】 A 【试题解析】 在调试 VBA程序时,通过语法分析能自动检查语法 是否错误,而不能检查逻辑错误。 35 【正确答案】 C 【试题解析】 PrintOut:打印打开的数据库中的活动对象,也可以打印数据表、窗体、报表、数据访问页和模块。 OutputTo:可将 Access数据库对象中的数据输出到 Excel、 MS DOS文本文件或多信息文件格式及其他格式的文件中。 MsgBox:显

35、示包含警告信息或其他信息的消息框。 36 【正确答案】 A 【试题解析】 在 VBA中,能自动检查出来的错误是语法错误,如有语法错误则程序不会继续运行,逻辑错误、注 释错误是不能自动检查出来的,逻辑错误需要调试,对结果进行分析,需要人为检查,注释错误不影响程序执行。 37 【正确答案】 D 【试题解析】 本题考查程序调试的知识。程序调试的时候可以利用几种辅助窗口来辅助调试,它们分别是: “本地 ”窗口一一显示当前过程中变量的值: “立即 ”窗口 当应用程序处于中断模式时,允许运行代码或查询变量值; “监视 ”窗口 显示选定表达式的值;快速监视 当应用程序处于中断模式时,列出表达式的当前值;调用堆栈在 中断模式中,显示一个对话框,其中列出所有被调用且未完成运行的过程 。 38 【正确答案】 A 【试题解析】 立即窗口是用来进行快速的表达式计算、简单方法的操作及进行程序测试的工作窗 F1。在代码窗口编写代码时,要在立即窗口打印变量或表达式的值,可使用 Debug Print语句。

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

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

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