1、模块设计及答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B(总题数:37,分数:74.00)1.以下能用宏而不需要 VBA 就能完成的操作是_。(分数:2.00)A.事务性或重复性的操作B.数据库的复杂操作和维护C.自定义过程的创建和使用D.些错误过程2.在窗体上添加一个命令按钮(名为 Commandl)和一个文本框(名为 Textl),并在命令按钮中编写如下事件代码: Private Sub Commandl Click() m=2.17 n=Len(Str$(m)+Sp2ace(5) Me!Text1=n EndSub 打开窗体运行后,单击命令按钮,在文本框中显示_。(分
2、数:2.00)A.5B.8C.9D.103.进入标准模块的方法有_。 A一种 B;两种 C三种 D四种(分数:2.00)A.B.C.D.4.在窗体中添加一个名称为 Commandl 的命令按钮,然后编写如下事件代码: PrivateSubCommandl_Click() Dima(10,10) Form=2 To 4 Forn2 To 5 a(m,n)=m*n Nextn Nextm MsgBox a(2,5)+a(3,4)+(4,5) EndSub 窗体打开运行后,单击命令按钮,则消息框的输出结果是_。(分数:2.00)A.22B.32C.42D.525.以下内容中不属于 VBA 提供的数据
3、验证函数是_。(分数:2.00)A.IisTextB.IsDateC.qsNumerieD.ISlNll6.VBA“定时“操作中,需要创建窗体的“计时器间隔(Tiemrlmterval)”属性值其计量单位是_。(分数:2.00)A.微秒B.毫秒C.秒D.分钟7.以下可以得到“2*5=10“结果的 VBA 表达式为_。(分数:2.00)A.“2.5“&“=&2*5B.2*5“+“=“+2*5C.2*5&“=“2*5D.2*5+“=“+2*58.在窗体中添加了一个文本框和一个命令按钮(名称分别为 tText 和 bCommand),并编写了相应的事件过程。运行此窗体后,在文本框中输入一个字符,则命
4、令按钮上的标题变为“计算机等级考试”。以下能实现上述操作的事件过程是_。(分数:2.00)A.PrivateSubbCommand_Click() Caption=“计算机等级考试“ EndSubB.PrivateSubtText_Click() bCommanCaption=“计算机等级考试“ EndSubC.PrivateSubbCommanCOmge() Caption=“计算机等级考试“ EndSubD.PrivateSubtText_Change9 bCommanCaption=“计算机等级考试“ EndSub9.以下返回值是 False 的语句是_。(分数:2.00)A.Value
5、=(104)B.Value=(“ab“aaa“)C.Value=(“周“刘)D.Value=(#2004/9/13#=#2004/10/10#)10.要在 VBA 中运行宏组:FormSwitchboardButtons 中的宏 Categories,运行代码为: _。(分数:2.00)A.RunMacro“FonnsSwitchboardButtonCategories“B.DoCmRunMacro“FormsSwitchboardButtonCategories“C.DoCmRunMacro FormsSwitchboardButtonCategoriesD.RunMacroFormsSw
6、itchboardBattonCategories11.传递查询直接将命令发送到_数据。(分数:2.00)A.DBB.DBSC.ODBCD.IMS12.已定义好有参函数 q(m),其中形参 m 是整型变量。下面调用该函数,传递实参为 5,将返回的函数值赋值给变量 t。以下正确的是_。(分数:2.00)A.t=f(B.t=Call f(C.t=f(5)D.t=Call f(5)13.DAO 模型层次中处在最项层的对象是_。(分数:2.00)A.DBEngineB.WorkspaceC.DatabaseD.ReeordSet14.已知数组 A 的定义语句为 DimA(2To 5,5,5)AsInt
7、eger,则该数组的元素个数为: _。(分数:2.00)A.144B.180C.216D.不确定15.在窗体中添加一个名称为 Commandl 的命令按钮,然后编写如下程序; Public x As integer PrivateSubCommand1_C1ick() x=10 Call sl Call s2 Msg BoXX End Sub Private Sub s1() x=x+20 End Sub Private Subs 2() Dimx As integer x=x+20 End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果为_。(分数:2.00)A.10B.30C.4
8、0D.5016.在窗体中添加一个命令按钮(名称为 Conunandl),然后编写如下代码: PrivateSubCommand1-Click() a=0:b=0:c=6 MsgBoxa=b+c End Sub 窗体打开运行后,如果单击命令按钮,则消息框的输出结果为_。(分数:2.00)A.11B.a=11C.0D.False17.在窗体中添加一个名称为 Command1 的命令按钮,然后编写如下事件代码; PrivateSubCommand1_Click() s=“ABBACDDCAB“ Fori=6 To 2 Step-2 x=Mid(s,i,i) y=LeR(s,i) z=Right(s,
9、i) z=x&y&z Nexti MsgBoxz EndSub 窗体打开运行后,单击命令按钮,则消息框的输出结果是_。(分数:2.00)A.AABAABB.ABBABAC.BABBAD.BBABBA18.模块窗口由_个部分组成。(分数:2.00)A.2B.3C.4D.519.已知程序段: s=0 Fori=1 To 10Step2 s=s+1 i=i*2 Nexti 当循环结束后,变量 i 的值为_,变量 s 的值为_。(分数:2.00)A.104B.11 3C.223D.16420.VBA 的逻辑值进行算数运算时,True 值被当作_。(分数:2.00)A.0B.-1C.ID.任意值21.以
10、下关于类模块的说法不正确的是_。(分数:2.00)A.窗体模块和报表模块都属于类模块,它们从属于各自的窗体或报表B.窗口模块和报表模块具有局部特性,其作用范围局限在所属窗体或报表内部C.窗体模块和报表模块中的过程可以调用标准模块中已经定义好的过程D.窗口模块和报表模块生命周期是伴随着应用程序的打开而开始、关闭和结束22.定义了二维数组 A(2to 5,5),则该数组的元素个数为_。(分数:2.00)A.25B.36C.20D.2423.Sub 过程与 Function 过程最根本的区别是_。(分数:2.00)A.Sub 过程的过程名不能返回值,而 Function 过程能通过过程名返回值B.S
11、ub 过程可以使用 Call 语句或直接使用过程名调用,而 Function 过程不可以C.两种过程参数的传递方式不同D.Function 过程可以有参数,Sub 过程不可以24.VBA 中定义符号常量可以用关键字_。(分数:2.00)A.ConstB.DimC.PublicD.Static。25.表达式 4+56*7/8Mod9 的值是_。(分数:2.00)A.4B.5C.6D.726.VBA 中不能进行错误处理的语句结构是_。(分数:2.00)A.OnError,Then 标号B.OnErroGoto 标号C.OnErrorResumeNextD.OnErrorGoto O27.VBA 中
12、去除前后空格的函数是_。(分数:2.00)A.LtrimB.RtrimC.TrimD.Ucase28.以下关于运算优先级比较,叙述正确的是_。(分数:2.00)A.算术运算符逻辑运算符关系运算符B.逻辑运算符关系运算符算术运算符C.算术运算符关系运算符逻辑运算符D.以上均不正确29.在 VBA 中,如果没有显式声明或用符号来定义变量的数据类型,变量的默认数据类型为_。(分数:2.00)A.BooleanB.tntC.StringD.Variant;30.已知字符串 Str$()的定义语句为 DimStr$(1te30),下列循环语句能实现将 A 到 Z 的大写字母赋予字符数组 Str$()的是
13、_。(分数:2.00)A.Fori=l To 26 Sir$(=Chr$(i+65) NeV iB.Fori=1 T025 Str$(=Chr$(i+64) NextiC.Fori=0 To 25 Str$(=Chr$(i+64) NextiD.Fori=O To 25 Str$(=Chr$(i+65) Nexti31.设 a=6,则执行 x=IF(a5,-1,0) 后,x 的值为(分数:2.00)A.6B.5C.0D.132.在 VBA 代码调试过程中,能够显示出所有在当前过程中变量声明及变量信息的是 _。(分数:2.00)A.快速监视窗口B.监视窗口C.立即窗口D.本地窗口33.一个模块不
14、包含_。(分数:2.00)A.一个声明区域B.一个或多个子过程C.一个或多个函数过程D.子窗体34.在 VBA 中,下列变量名中不合法的是_。(分数:2.00)A.你好B.nihaoC.nihaoD.nihao35.在有参函数设计时,要想实现某个参数的“双向”传递,就应当说明该形参为“传值”调用形式,其设置选项是_。(分数:2.00)A.ByValB.ByRefC.OptionalD.ParamArray36.已知程序段: s=0 For I=1 to 10 step2 S=s+1 I=I*2 Next I 当循环结束后,变量 I 的值为_。(分数:2.00)A.10B.11C.22D.163
15、7.VBA 中定义静态变量可以用关键字_。(分数:2.00)A.ConstB.DimC.PublicD.Static二、B填空题/B(总题数:12,分数:24.00)38.VBA 的全称是 1。(分数:2.00)填空项 1:_39.模块包含了一个声明区域和一个或多个子过程或函数过程(以 1 开头)。(分数:2.00)填空项 1:_40.窗体模块和报表模块都属于 1。(分数:2.00)填空项 1:_41.说明变量最常用的方法是使用 1 结构。(分数:2.00)填空项 1:_42.VBA 中变量作用域分为 3 个层次,这 3 个层次是局部变量、模块变量和 1。(分数:2.00)填空项 1:_43.
16、在 Access 中模块分为 1 和 2 两种类型。(分数:2.00)填空项 1:_填空项 1:_44.执行下面的程序段后,b 的值为_。 a=5 b=7 a=a+b b=a-b a=a-b(分数:2.00)填空项 1:_45.执行下面的程序,消息框的输出结果是_。 option Base 1 PrivateSubCommandl_Click() Dima(10),P(3)As Integer K=5 Fori=1 To 10 a(i)=i Nexti Fori=1 To 3 p(i)=a(i*i) NextI Fori=1 To 3 k=k+p(i)*2 Ncxti MsgBoxk End
17、sub(分数:2.00)填空项 1:_46.以下是一个竞赛评分程序。8 位评委,去掉一个最高分和一个最低分,计算平均分(设满分为 10 分)。请填空补充完整。 PrivateSubForm_Click() Dim Max as Integer,Min as Integer Dim i as Integer,x as Integer,s as Integer Dimp p as Single Max=0 Min=10 Fori=1 To 8 x=Vid(1nputBox(“请输入分数:“) If_Ihen Max=x If_ThhcnMin=x s=s+x Nexti S=_ p=s/6 Msg
18、Box“最后得分:“&p EndSub(分数:2.00)填空项 1:_47.在窗体上添加一个命令按钮(名为 Command1),然后编写如下程序, Function m(x as Integer,y as Integer)as Integer m=If(xy,x,y) End Function Private Sub Cununandl_Click() Dim a as Integer,b as Integer a=1 b=2 MsgBoxm(a,b) End Sub 打开窗体运行后,单击命令按钮,消息框的输出结果为_。(分数:2.00)填空项 1:_48.某个窗体已编写如下事件过程。打开窗体
19、运行后,单击窗体,消息框的输出结果为 _。 Private Sub Form_Click() Dim K as Integer,n as Integer,m as Integer n=10:m=1:k=1 DoWhileK=n m=m*2 k=k+1 Loop MsgBox m End Sub(分数:2.00)填空项 1:_49.在窗体中添加一个名称为 Commandl 的命令按钮,然后编写如下程序: Private Subo(By Vid p As lnteger) p=p*2 End Sub Private Sub Commandl_C1kk() Dim i As Intcger Cail
20、 s(1) Ifi4 Thcni=i2 MsgBoxi End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果为_。(分数:2.00)填空项 1:_模块设计答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B(总题数:37,分数:74.00)1.以下能用宏而不需要 VBA 就能完成的操作是_。(分数:2.00)A.事务性或重复性的操作 B.数据库的复杂操作和维护C.自定义过程的创建和使用D.些错误过程解析:2.在窗体上添加一个命令按钮(名为 Commandl)和一个文本框(名为 Textl),并在命令按钮中编写如下事件代码: Private Sub Commandl C
21、lick() m=2.17 n=Len(Str$(m)+Sp2ace(5) Me!Text1=n EndSub 打开窗体运行后,单击命令按钮,在文本框中显示_。(分数:2.00)A.5B.8C.9D.10 解析:3.进入标准模块的方法有_。 A一种 B;两种 C三种 D四种(分数:2.00)A.B.C. D.解析:4.在窗体中添加一个名称为 Commandl 的命令按钮,然后编写如下事件代码: PrivateSubCommandl_Click() Dima(10,10) Form=2 To 4 Forn2 To 5 a(m,n)=m*n Nextn Nextm MsgBox a(2,5)+a(
22、3,4)+(4,5) EndSub 窗体打开运行后,单击命令按钮,则消息框的输出结果是_。(分数:2.00)A.22B.32 C.42D.52解析:5.以下内容中不属于 VBA 提供的数据验证函数是_。(分数:2.00)A.IisText B.IsDateC.qsNumerieD.ISlNll解析:6.VBA“定时“操作中,需要创建窗体的“计时器间隔(Tiemrlmterval)”属性值其计量单位是_。(分数:2.00)A.微秒B.毫秒 C.秒D.分钟解析:7.以下可以得到“2*5=10“结果的 VBA 表达式为_。(分数:2.00)A.“2.5“&“=&2*5 B.2*5“+“=“+2*5C
23、.2*5&“=“2*5D.2*5+“=“+2*5解析:8.在窗体中添加了一个文本框和一个命令按钮(名称分别为 tText 和 bCommand),并编写了相应的事件过程。运行此窗体后,在文本框中输入一个字符,则命令按钮上的标题变为“计算机等级考试”。以下能实现上述操作的事件过程是_。(分数:2.00)A.PrivateSubbCommand_Click() Caption=“计算机等级考试“ EndSubB.PrivateSubtText_Click() bCommanCaption=“计算机等级考试“ EndSub C.PrivateSubbCommanCOmge() Caption=“计算
24、机等级考试“ EndSubD.PrivateSubtText_Change9 bCommanCaption=“计算机等级考试“ EndSub解析:9.以下返回值是 False 的语句是_。(分数:2.00)A.Value=(104)B.Value=(“ab“aaa“)C.Value=(“周“刘) D.Value=(#2004/9/13#=#2004/10/10#)解析:10.要在 VBA 中运行宏组:FormSwitchboardButtons 中的宏 Categories,运行代码为: _。(分数:2.00)A.RunMacro“FonnsSwitchboardButtonCategorie
25、s“B.DoCmRunMacro“FormsSwitchboardButtonCategories“ C.DoCmRunMacro FormsSwitchboardButtonCategoriesD.RunMacroFormsSwitchboardBattonCategories解析:11.传递查询直接将命令发送到_数据。(分数:2.00)A.DBB.DBSC.ODBC D.IMS解析:12.已定义好有参函数 q(m),其中形参 m 是整型变量。下面调用该函数,传递实参为 5,将返回的函数值赋值给变量 t。以下正确的是_。(分数:2.00)A.t=f(B.t=Call f(C.t=f(5) D
26、.t=Call f(5)解析:13.DAO 模型层次中处在最项层的对象是_。(分数:2.00)A.DBEngine B.WorkspaceC.DatabaseD.ReeordSet解析:14.已知数组 A 的定义语句为 DimA(2To 5,5,5)AsInteger,则该数组的元素个数为: _。(分数:2.00)A.144 B.180C.216D.不确定解析:15.在窗体中添加一个名称为 Commandl 的命令按钮,然后编写如下程序; Public x As integer PrivateSubCommand1_C1ick() x=10 Call sl Call s2 Msg BoXX E
27、nd Sub Private Sub s1() x=x+20 End Sub Private Subs 2() Dimx As integer x=x+20 End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果为_。(分数:2.00)A.10B.30C.40D.50 解析:16.在窗体中添加一个命令按钮(名称为 Conunandl),然后编写如下代码: PrivateSubCommand1-Click() a=0:b=0:c=6 MsgBoxa=b+c End Sub 窗体打开运行后,如果单击命令按钮,则消息框的输出结果为_。(分数:2.00)A.11B.a=11C.0D.Fals
28、e 解析:17.在窗体中添加一个名称为 Command1 的命令按钮,然后编写如下事件代码; PrivateSubCommand1_Click() s=“ABBACDDCAB“ Fori=6 To 2 Step-2 x=Mid(s,i,i) y=LeR(s,i) z=Right(s,i) z=x&y&z Nexti MsgBoxz EndSub 窗体打开运行后,单击命令按钮,则消息框的输出结果是_。(分数:2.00)A.AABAABB.ABBABAC.BABBAD.BBABBA 解析:18.模块窗口由_个部分组成。(分数:2.00)A.2B.3 C.4D.5解析:19.已知程序段: s=0 F
29、ori=1 To 10Step2 s=s+1 i=i*2 Nexti 当循环结束后,变量 i 的值为_,变量 s 的值为_。(分数:2.00)A.104B.11 3C.223 D.164解析:20.VBA 的逻辑值进行算数运算时,True 值被当作_。(分数:2.00)A.0B.-1 C.ID.任意值解析:21.以下关于类模块的说法不正确的是_。(分数:2.00)A.窗体模块和报表模块都属于类模块,它们从属于各自的窗体或报表B.窗口模块和报表模块具有局部特性,其作用范围局限在所属窗体或报表内部C.窗体模块和报表模块中的过程可以调用标准模块中已经定义好的过程D.窗口模块和报表模块生命周期是伴随着
30、应用程序的打开而开始、关闭和结束 解析:22.定义了二维数组 A(2to 5,5),则该数组的元素个数为_。(分数:2.00)A.25B.36C.20D.24 解析:23.Sub 过程与 Function 过程最根本的区别是_。(分数:2.00)A.Sub 过程的过程名不能返回值,而 Function 过程能通过过程名返回值B.Sub 过程可以使用 Call 语句或直接使用过程名调用,而 Function 过程不可以 C.两种过程参数的传递方式不同D.Function 过程可以有参数,Sub 过程不可以解析:24.VBA 中定义符号常量可以用关键字_。(分数:2.00)A.Const B.Di
31、mC.PublicD.Static。解析:25.表达式 4+56*7/8Mod9 的值是_。(分数:2.00)A.4B.5 C.6D.7解析:26.VBA 中不能进行错误处理的语句结构是_。(分数:2.00)A.OnError,Then 标号 B.OnErroGoto 标号C.OnErrorResumeNextD.OnErrorGoto O解析:27.VBA 中去除前后空格的函数是_。(分数:2.00)A.LtrimB.RtrimC.Trim D.Ucase解析:28.以下关于运算优先级比较,叙述正确的是_。(分数:2.00)A.算术运算符逻辑运算符关系运算符B.逻辑运算符关系运算符算术运算符
32、C.算术运算符关系运算符逻辑运算符 D.以上均不正确解析:29.在 VBA 中,如果没有显式声明或用符号来定义变量的数据类型,变量的默认数据类型为_。(分数:2.00)A.BooleanB.tntC.StringD.Variant; 解析:30.已知字符串 Str$()的定义语句为 DimStr$(1te30),下列循环语句能实现将 A 到 Z 的大写字母赋予字符数组 Str$()的是_。(分数:2.00)A.Fori=l To 26 Sir$(=Chr$(i+65) NeV iB.Fori=1 T025 Str$(=Chr$(i+64) Nexti C.Fori=0 To 25 Str$(=
33、Chr$(i+64) NextiD.Fori=O To 25 Str$(=Chr$(i+65) Nexti解析:31.设 a=6,则执行 x=IF(a5,-1,0) 后,x 的值为(分数:2.00)A.6B.5C.0D.1 解析:32.在 VBA 代码调试过程中,能够显示出所有在当前过程中变量声明及变量信息的是 _。(分数:2.00)A.快速监视窗口B.监视窗口C.立即窗口 D.本地窗口解析:33.一个模块不包含_。(分数:2.00)A.一个声明区域B.一个或多个子过程C.一个或多个函数过程D.子窗体 解析:34.在 VBA 中,下列变量名中不合法的是_。(分数:2.00)A.你好B.niha
34、o C.nihaoD.nihao解析:35.在有参函数设计时,要想实现某个参数的“双向”传递,就应当说明该形参为“传值”调用形式,其设置选项是_。(分数:2.00)A.ByValB.ByRef C.OptionalD.ParamArray解析:36.已知程序段: s=0 For I=1 to 10 step2 S=s+1 I=I*2 Next I 当循环结束后,变量 I 的值为_。(分数:2.00)A.10B.11C.22 D.16解析:37.VBA 中定义静态变量可以用关键字_。(分数:2.00)A.ConstB.DimC.PublicD.Static 解析:二、B填空题/B(总题数:12,
35、分数:24.00)38.VBA 的全称是 1。(分数:2.00)填空项 1:_ (正确答案:Visual Basic for Application)解析:39.模块包含了一个声明区域和一个或多个子过程或函数过程(以 1 开头)。(分数:2.00)填空项 1:_ (正确答案:Function)解析:40.窗体模块和报表模块都属于 1。(分数:2.00)填空项 1:_ (正确答案:类模块)解析:41.说明变量最常用的方法是使用 1 结构。(分数:2.00)填空项 1:_ (正确答案:Dim.As.)解析:42.VBA 中变量作用域分为 3 个层次,这 3 个层次是局部变量、模块变量和 1。(分数
36、:2.00)填空项 1:_ (正确答案:全局变量)解析:43.在 Access 中模块分为 1 和 2 两种类型。(分数:2.00)填空项 1:_ (正确答案:类模块)填空项 1:_ (正确答案:标准模块(次序无先后)解析:44.执行下面的程序段后,b 的值为_。 a=5 b=7 a=a+b b=a-b a=a-b(分数:2.00)填空项 1:_ (正确答案:5)解析:45.执行下面的程序,消息框的输出结果是_。 option Base 1 PrivateSubCommandl_Click() Dima(10),P(3)As Integer K=5 Fori=1 To 10 a(i)=i Ne
37、xti Fori=1 To 3 p(i)=a(i*i) NextI Fori=1 To 3 k=k+p(i)*2 Ncxti MsgBoxk End sub(分数:2.00)填空项 1:_ (正确答案:33)解析:46.以下是一个竞赛评分程序。8 位评委,去掉一个最高分和一个最低分,计算平均分(设满分为 10 分)。请填空补充完整。 PrivateSubForm_Click() Dim Max as Integer,Min as Integer Dim i as Integer,x as Integer,s as Integer Dimp p as Single Max=0 Min=10 Fo
38、ri=1 To 8 x=Vid(1nputBox(“请输入分数:“) If_Ihen Max=x If_ThhcnMin=x s=s+x Nexti S=_ p=s/6 MsgBox“最后得分:“&p EndSub(分数:2.00)填空项 1:_ (正确答案:X9naK、xmin、s-min-max)解析:47.在窗体上添加一个命令按钮(名为 Command1),然后编写如下程序, Function m(x as Integer,y as Integer)as Integer m=If(xy,x,y) End Function Private Sub Cununandl_Click() Dim
39、 a as Integer,b as Integer a=1 b=2 MsgBoxm(a,b) End Sub 打开窗体运行后,单击命令按钮,消息框的输出结果为_。(分数:2.00)填空项 1:_ (正确答案:2)解析:48.某个窗体已编写如下事件过程。打开窗体运行后,单击窗体,消息框的输出结果为 _。 Private Sub Form_Click() Dim K as Integer,n as Integer,m as Integer n=10:m=1:k=1 DoWhileK=n m=m*2 k=k+1 Loop MsgBox m End Sub(分数:2.00)填空项 1:_ (正确答案:1024)解析:49.在窗体中添加一个名称为 Commandl 的命令按钮,然后编写如下程序: Private Subo(By Vid p As lnteger) p=p*2 End Sub Private Sub Commandl_C1kk() Dim i As Intcger Cail s(1) Ifi4 Thcni=i2 MsgBoxi End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果为_。(分数:2.00)填空项 1:_ (正确答案:36)解析: