1、国家二级 ACCESS 机试选择题(模块与 VBA 编程基础)模拟试卷 14及答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.在窗体上有一个命令按钮 Command1,编写事件代码如下: Private Sub CommandI_Click() Dim d1 As Date,d2 As Date d1=#12252009# d2=#152010# MsgBox DateDiff(“ww”,d1,d2) End Sub 打开窗体运行后,单击命令按钮,立即窗口上输出的结果是(分数:2.00)A.1B.2C.10D.112.要将一个数字字符串转换成对
2、应的数值,应使用的函数是(分数:2.00)A.ValB.SingleC.AscD.Space3.下列变量名中,合法的是(分数:2.00)A.4AB.A1C.ABC_1D.private4.下列表达式中,能正确表示条件“X 和 Y 都是奇数”的是(分数:2.00)A.x Mod 2=0 And y Mod 2=0B.X Mod 2=0 Or y Mod 2=0C.x Mod 2=1 And y Mod 2=1D.x Mod 2=1 Or y Mod 2=15.下列给出的选项中,非法的变量名是(分数:2.00)A.SumB.Integer 2C.RemD.Forml6.表达式“B=INT(A+0,
3、5)”的功能是(分数:2.00)A.将变量 A 保留小数点后 1 位B.将变量 A 四舍五入取整C.将变量 A 保留小数点后 5 位D.舍去变量 A 的小数部分7.VBA 语句“Dim NewArray(10)as Integer”的含义是(分数:2.00)A.定义 10 个整型数构成的数组 NewArrayB.定义 11 个整型数构成的数组 NewArrayC.定义 1 个值为整型数的变量 NewArray(10)D.定义 1 个值为 10 的变量 NewArray8.将一个数转换成相应字符串的函数是(分数:2.00)A.StrB.StringC.AscD.Chr9.VBA 中定义符号常量使
4、用的关键字是(分数:2.00)A.ConstB.DimC.PublicD.Static10.可以用 InputBox 函数产生“输入对话框”。执行语句:st=InputBox(“请输入字符串”,“字符串对话框”,“aaaa”)当用户输入字符串“bbbb”,按 OK 按钮后,变量 st 的内容是(分数:2.00)A.aaaaB.请输入字符串C.字符串对话框D.bbbb11.下列不属于 VBA 函数的是(分数:2.00)A.ChooseB.IfC.IIfD.Switch12.下列关于 VBA 事件的叙述中,正确的是(分数:2.00)A.触发相同的事件可以执行不同的事件过程B.每个对象的事件都是不相
5、同的C.事件都是由用户操作触发的D.事件可以由程序定义13.用来测试当前读写位置是否达到文件末尾的函数是(分数:2.00)A.EOFB.FileLenC.LenD.LOF14.下列表达式中,能够保留变量 X 整数部分并进行四舍五入的是(分数:2.00)A.Fix(x)B.Rnd(x)C.Round(x)D.Int(X)15.VBA 程序中,可以实现代码注释功能的是(分数:2.00)A.方括号()B.冒号(:)C.双引号(”)D.单引号()16.在窗口中有一个标签 Label0 和一个命令按钮 Commandl,Commandl 的事件代码如下: Private Sub Command lCli
6、ck() Label0Left=Label0Left+100 End Sub 打开窗口,单击命令按钮,结果是(分数:2.00)A.标签向左加宽B.标签向右加宽C.标签向左移动D.标签向右移动17.假定有以下循环结构 Do Until 条件 循环体 Loop 则正确的叙述是(分数:2.00)A.如果“条件”值为 0,则一次循环体也不执行B.如果“条件”值为 0,则至少执行一次循环体C.如果“条件”值不为 0,则至少执行一次循环体D.不论“条件”是否为“真”,至少要执行一次循环体18.假定有以下程序段 n=0 for i=1 to 3 for i=-4 to-1 n=n+1 nextj next
7、i 运行完毕后,n 的值是(分数:2.00)A.0B.3C.4D.1219.以下程序段运行结束后,变量 X 的值为 X=2 : Y=4 Do X=x*y:y=y+1 Loop While y60 Then I=1 IfA70 Then I=2 IfA80 111en I=3 IfA90 Then I=4 MsgBox 1 End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果是(分数:2.00)A.1B.2C.3D.423.在窗体中添加一个名称为 Commandl 的命令按钮,然后编写如下事件代码: Private Sub Commandl Click() s=“ABBACDDCBA
8、” For 1=6 To 2Step-2 x=Mid(s,1,1): y=Left(s,1) z=Right(s,1) z=x&Y&z Next 1 MsgBox z End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果是(分数:2.00)A.AABAABB.ABBABAC.BABBAD.BBABBA24.在窗体中添加一个名称为 Commandl 的命令按钮,然后编写如下事件代码: Private Sub Command1 Click() a=75 If a60 Then k=1 Elself a70 Then k=2 Elself a80 Then k=3 Elself a90
9、Then k=4 Endlf MsgBoxk End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果是(分数:2.00)A.1B.2C.3D.425.设有如下窗体单击事件过程: Private Sub Form_Click() a=1 For i=1 To 3 Select Case i Case 1-3 a=a+1 Case 2,4 a=a+2 End Select Next i MsgBox a End Sub 打开窗体运行后,单击窗体,则消息框的输出的结果是(分数:2.00)A.3B.4C.5D.626.设有如下程序: Private Sub Command lClick()
10、Dim sum As Double x As Double Sum=0 n=0 For i=1 To 5 x=ni n=n+l sum=sum+X Next 1 EndSub 该程序通过 For 循环来计算一个表达式的值,这个表达式是(分数:2.00)A.1+12+23+34+45B.1+12+13+14+15C.l12+23+34+45D.12+13+14+1527.下列 Case 语句中错误的是(分数:2.00)A.Case 0 To 10B.Case Is10C.Case Is10 And Is1028.下列不是分支结构的语句是(分数:2.00)A.IfThenEndlFB.WhileW
11、endC.IfThenElseEndlfD.SelectCaseEnd Select29.在窗体中使用一个文本框(名为 n)接受输入的值,有一个命令按钮 run,事件代码如下: Private Sub run Click() result=“” For i=l To Me!n For j=1 To Me!n result=result+“*” Nextj result=result+Chr(13)+Chr(10) Next i MesgBox result End Sub 打开窗体后,如果通过文本框输入的的值为 4,单击命令按钮后输出的图型是(分数:2.00)A.* * * * * * * *
12、 * * * * * * * *B.* * * * * * * * * * * * * * * *C.* * * * * * * * * * * * * * * * * * * * * * * * * * * *D.* * * * * * * * * * * * * * * *30.VBA 程序流程控制的方式是(分数:2.00)A.顺序控制和分支控制B.顺序控制和循环控制C.循环控制和分支控制D.顺序、分支和循环控制国家二级 ACCESS 机试选择题(模块与 VBA 编程基础)模拟试卷 14答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.在窗体
13、上有一个命令按钮 Command1,编写事件代码如下: Private Sub CommandI_Click() Dim d1 As Date,d2 As Date d1=#12252009# d2=#152010# MsgBox DateDiff(“ww”,d1,d2) End Sub 打开窗体运行后,单击命令按钮,立即窗口上输出的结果是(分数:2.00)A.1B.2 C.10D.11解析:解析:DateDiff 函数返回变量型(长型),指定两个指定的日期之间的时间间隔数。 语法:DateDiffinterval,datel,date2,firstdayofweek,firstweekofy
14、ear)2.要将一个数字字符串转换成对应的数值,应使用的函数是(分数:2.00)A.Val B.SingleC.AscD.Space解析:解析:Val 函数:返回包含于字符串内的数字,将其作为适当类型的数字值: Asc 函数:返回与字符串的第一个字母对应的 ANSI 字符代码; Space 函数:返回指定空格的字符串; Single 为数据类型,不是函数。3.下列变量名中,合法的是(分数:2.00)A.4AB.A1C.ABC_1 D.private解析:解析:变量名必须以字母开头,大小写等价,不能包括空格或除下划线“一”之外的其他字符,不能使用 VBA 的关键字,变量名长度小于 255 个字符
15、。4.下列表达式中,能正确表示条件“X 和 Y 都是奇数”的是(分数:2.00)A.x Mod 2=0 And y Mod 2=0B.X Mod 2=0 Or y Mod 2=0C.x Mod 2=1 And y Mod 2=1 D.x Mod 2=1 Or y Mod 2=1解析:解析:Mod 取余函数,奇数 mod2=l 偶数 mod2=0 证明 x、y 都是奇数,即用 AND(与)操作符。5.下列给出的选项中,非法的变量名是(分数:2.00)A.SumB.Integer 2C.Rem D.Forml解析:解析:变量名必须以字母开头,大小写等价,不能包括空格或除下划线“一”之外的其他字符,
16、不能使用 VBA 的关键字,变量名长度小于 255 个字符,本题中选项 C 为关键字,不能作为变量名使用。6.表达式“B=INT(A+0,5)”的功能是(分数:2.00)A.将变量 A 保留小数点后 1 位B.将变量 A 四舍五入取整 C.将变量 A 保留小数点后 5 位D.舍去变量 A 的小数部分解析:解析:Int(数值表达式)函数为取整函数,返回数值表达式的整数部分。参数为负值时,返回小于等于参数值的第一个负数。7.VBA 语句“Dim NewArray(10)as Integer”的含义是(分数:2.00)A.定义 10 个整型数构成的数组 NewArrayB.定义 11 个整型数构成的
17、数组 NewArray C.定义 1 个值为整型数的变量 NewArray(10)D.定义 1 个值为 10 的变量 NewArray解析:解析:dim newarray(10)as integer 表示定义了 11 个整型数构成的数组,数组元素为 newarray(0)至newarray(10)。8.将一个数转换成相应字符串的函数是(分数:2.00)A.Str B.StringC.AscD.Chr解析:解析:各函数的功能如下表所示:9.VBA 中定义符号常量使用的关键字是(分数:2.00)A.Const B.DimC.PublicD.Static解析:解析:在 VBA 编程过程中,如果在代码
18、中要反复使用相同的值,或者代表一些具有特定意义的数字或字符串,可以用符号常量形式来表示,符号常量使用关键字 Const 来定义,格式:Const 符号常量名称常量值10.可以用 InputBox 函数产生“输入对话框”。执行语句:st=InputBox(“请输入字符串”,“字符串对话框”,“aaaa”)当用户输入字符串“bbbb”,按 OK 按钮后,变量 st 的内容是(分数:2.00)A.aaaaB.请输入字符串C.字符串对话框D.bbbb 解析:解析:输入框用于在一个对话框中显示提示,等待用户输入正文并按下按钮、返回包含文本框内容的字符串数据信息。它的功能在 VBA 中是以函数的形式调用,
19、其使用格式如下: Input Box (prompt,title,default,xpos,helofile,conrext) InputBox 有关参数说明如下表所示。11.下列不属于 VBA 函数的是(分数:2.00)A.ChooseB.If C.IIfD.Switch解析:解析:IIf()函数,该函数可用于选择操作。调用格式为:nf(条件表达式,表达式 1:表达式 2) 功能:函数根据“条件表达式”的值来决定返回值。如果“条件表达式”的值为“真”(True),函数返回“表达式 l”的值;“条件表达式”的值为“假”(Flase),函数返回“表达式 2”的值。Switch(1 函数,该函数可
20、用于多条件选择操作。调用格式为:SWitch(条件式 l,表达式 l条件式 2,一达式 2.,条件式 n,表达式 n) 功能:函数分别根据“条件式 1”、“条件式 2”“条件式 n”的值来决定返回值。条件式是由左至右进行计算判断的,函数将返回第一个条件式为 True 的对应“表达式”的值。 Choose()函数,调用格式为:Choose(数值表达式,表达式 1,表达式 2f,表达式 n) 功能:函数根据“数值表达式”的值决定返同值。若不考虑变量的小数的定义位数,当“数值表达式”值大于 1、小于 2 时,函数将返同“表达式 1”的值;值大于 2、小于 3,返回“表达式 2”的值,依此类推。以上
21、3 种函数均为VBA 的函数。12.下列关于 VBA 事件的叙述中,正确的是(分数:2.00)A.触发相同的事件可以执行不同的事件过程 B.每个对象的事件都是不相同的C.事件都是由用户操作触发的D.事件可以由程序定义解析:解析:事件是由系统定义的,事件的过程是由程序员定义的,因此触发相同的事件可以执行不同的事件过程;不同的对象可能有相同的实现,如很多控件都具有“获取焦点”事件。有些事件并不是用户触发的,如 Resize 事件。事件是由系统定义供程序员使用的,并不能由程序员定义。13.用来测试当前读写位置是否达到文件末尾的函数是(分数:2.00)A.EOF B.FileLenC.LenD.LOF
22、解析:解析:在到达文件末尾之前,EOF 函数一直返回 False,到达文件末尾时,EOF 返回True:FileL,en 函数返回一个文件的长度,单位为字节;Len 返回文本串的字符数;LOF 函数返回某文件的字节数。14.下列表达式中,能够保留变量 X 整数部分并进行四舍五入的是(分数:2.00)A.Fix(x)B.Rnd(x)C.Round(x) D.Int(X)解析:解析:Fix(x)和 Int(x)返回 x 的整数部分,对于小数部分完全舍弃。Rnd(x)返回一个随机数,Round(X)保留 x 的整数部分并进行四舍五入。15.VBA 程序中,可以实现代码注释功能的是(分数:2.00)A
23、.方括号()B.冒号(:)C.双引号(”)D.单引号() 解析:解析:一个好的程序一般都有注释语句。这对程序的维护有很大的好处。在 VBA 程序中,注释可以通过以下两种方式实现: 使用 Rem 语句,格式为: Rem 注释语句 用单引号“*”,格式为: 注释语句16.在窗口中有一个标签 Label0 和一个命令按钮 Commandl,Commandl 的事件代码如下: Private Sub Command lClick() Label0Left=Label0Left+100 End Sub 打开窗口,单击命令按钮,结果是(分数:2.00)A.标签向左加宽B.标签向右加宽C.标签向左移动D.标
24、签向右移动 解析:解析:Left 表示的是控件的左边距,所以 left+100 表示控件向右移动。17.假定有以下循环结构 Do Until 条件 循环体 Loop 则正确的叙述是(分数:2.00)A.如果“条件”值为 0,则一次循环体也不执行B.如果“条件”值为 0,则至少执行一次循环体 C.如果“条件”值不为 0,则至少执行一次循环体D.不论“条件”是否为“真”,至少要执行一次循环体解析:解析:本题考查 VBA 中:Do untilLoop 循环的知识。对于这种循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体;如果是后判断条件,则无论条件如何至少
25、执行一次循环体。在 Unti1 循环中条件为 False 时执行循环体,条件为 True 时退出循环;在While 循环中条件为 True 时执行循环体,条件为 False 时退出循环,这一点要注意区分清楚。本题中是先判断条件,条件值为 0 表示条件是 False,则至少执行一次循环体。18.假定有以下程序段 n=0 for i=1 to 3 for i=-4 to-1 n=n+1 nextj next i 运行完毕后,n 的值是(分数:2.00)A.0B.3C.4D.12 解析:解析:本题考查 vBA 中嵌套 For 循环的知识。这种问题要注意分析清楚每次循环的变化以及循环的次数。在这个循环
26、中,内循环执行 4 次,外循环执行 3 次,所以里面的循环体语句 n=n+1 共执行 12 次,所以最终 n 的值为 12。19.以下程序段运行结束后,变量 X 的值为 X=2 : Y=4 Do X=x*y:y=y+1 Loop While y60 Then I=1 IfA70 Then I=2 IfA80 111en I=3 IfA90 Then I=4 MsgBox 1 End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果是(分数:2.00)A.1B.2 C.3D.4解析:解析:本题考查 vBA 中选择结构的知识。在本题中用了多个 If 分支结构,这些结构是顺序的而不是嵌套的,
27、所以会顺序执行判断是否满足条件。首先 75 大于 60。所以 i=1,然后再判断 75 大于 70。所以 i=2,再接着判断 75 既不大于 80 也不大于 90,所以最后消息框里输出的 i 值为 2。23.在窗体中添加一个名称为 Commandl 的命令按钮,然后编写如下事件代码: Private Sub Commandl Click() s=“ABBACDDCBA” For 1=6 To 2Step-2 x=Mid(s,1,1): y=Left(s,1) z=Right(s,1) z=x&Y&z Next 1 MsgBox z End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结
28、果是(分数:2.00)A.AABAABB.ABBABAC.BABBAD.BBABBA 解析:解析:本题考查 VBA 中循环和取子串函数的知识。在 VBA 中有三种取子串函数:Left 函数用于在字符串左端开始取 n 个字符;Right 函数用于在字符串右端开始取 n 个字符(注意子串中字符的顺序与母串中相同);Mid 函数可以实现在任何位置取任何长度的子串。在本题中由于循环每次都会为 z 赋一个新的值 Right(s,i),所以只有最后一次循环中的 z 值才有意义。最后一次循环时 i=2,所以 D 选项正确。24.在窗体中添加一个名称为 Commandl 的命令按钮,然后编写如下事件代码: P
29、rivate Sub Command1 Click() a=75 If a60 Then k=1 Elself a70 Then k=2 Elself a80 Then k=3 Elself a90 Then k=4 Endlf MsgBoxk End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果是(分数:2.00)A.1 B.2C.3D.4解析:解析:本题考查多分支选择的知识。这个问题比较简单,只要知道这是一个多分支选择结构,当执行某分支后就会退出分支执行分支下面的语句就可以做对。本题中第一个分支条件就得到满足,所以执行k=1 后退出分支结构,最终结果 k=1。25.设有如下窗体
30、单击事件过程: Private Sub Form_Click() a=1 For i=1 To 3 Select Case i Case 1-3 a=a+1 Case 2,4 a=a+2 End Select Next i MsgBox a End Sub 打开窗体运行后,单击窗体,则消息框的输出的结果是(分数:2.00)A.3B.4C.5 D.6解析:解析:本题考查 VBA 程序设计中的多分支选择和循环的知识。在本题的程序中,共循环三次,第一次 i 的值为 1,故此执行 Case 语句中的 a=a+1;第二次 i 的值为 2,故此执行 Case 语句中的 a=a+2;第一次 i 的值为 3,
31、故此执行 Case 语句中的 a=a+1。所以最后 a 的值为 l+1+2+1=5。26.设有如下程序: Private Sub Command lClick() Dim sum As Double x As Double Sum=0 n=0 For i=1 To 5 x=ni n=n+l sum=sum+X Next 1 EndSub 该程序通过 For 循环来计算一个表达式的值,这个表达式是(分数:2.00)A.1+12+23+34+45B.1+12+13+14+15C.l12+23+34+45 D.12+13+14+15解析:解析:本题考查 VBA 中循环结构的知识。这类问题需要分析出每
32、一次循环所做的操作。第一次循环时,i=1,n=0,x=01,所以累加上去的是 01;第二次循环时,i:2,n=1,x=12,所以累加上去的是 12;第三次循环时,i=3,n=2,x=23,所以累加上去的是 23;循环 5 次后累加的应该是01+12+23+34+45。27.下列 Case 语句中错误的是(分数:2.00)A.Case 0 To 10B.Case Is10C.Case Is10 And Is10解析:解析:本题考查 Select Case 语句的知识。Case 语句的后面可以包含一个值、一组枚举值、一个值的范围以及比较运算符。但是当 Case 语句使用 Is 关键字的时候就不能再
33、加入逻辑运算符如 And 等。28.下列不是分支结构的语句是(分数:2.00)A.IfThenEndlFB.WhileWend C.IfThenElseEndlfD.SelectCaseEnd Select解析:解析:本题考查控制结构的知识。选项 A 是一个单分支选择结构;选项 C 是一个双分支选择结构;选项 D 是一个多分支选择结构;选项 B 是一个循环结构。29.在窗体中使用一个文本框(名为 n)接受输入的值,有一个命令按钮 run,事件代码如下: Private Sub run Click() result=“” For i=l To Me!n For j=1 To Me!n resul
34、t=result+“*” Nextj result=result+Chr(13)+Chr(10) Next i MesgBox result End Sub 打开窗体后,如果通过文本框输入的的值为 4,单击命令按钮后输出的图型是(分数:2.00)A.* * * * * * * * * * * * * * * * B.* * * * * * * * * * * * * * * *C.* * * * * * * * * * * * * * * * * * * * * * * * * * * *D.* * * * * * * * * * * * * * * *解析:解析:本题考查二重循环的知识。在这个二重循环中,外循环的执行次数为 4,内循环的执行次数也为 4,并且每次内循环退出后都要换行,所以最后结果为一个 4*4 的矩阵,矩阵的每个元素都为“*”。30.VBA 程序流程控制的方式是(分数:2.00)A.顺序控制和分支控制B.顺序控制和循环控制C.循环控制和分支控制D.顺序、分支和循环控制 解析:解析:本题考查结构化程序设计的知识。VBA 是一种结构化的程序设计方式,结构化的程序设计方式要求程序只能由顺序、分支和循环三种基本控制结构组成。