1、国家二级 ACCESS机试选择题(模块)-试卷 2及答案解析(总分:58.00,做题时间:90 分钟)一、选择题(总题数:29,分数:58.00)1.执行下列程序段后,变量 a和 b的值分别是 a100:b50 If ab Then aab Else bba End If(分数:2.00)A.50和 50B.100和 50C.100和 150D.150和 1002.执行下列程序段后,变量 s的值是 s0 For x99 to 1 Step2 ssx Next x(分数:2.00)A.100B.500C.2500D.50003.程序执行时,单击窗体后输出结果是 Private sub form_
2、click() Dim n as Integer n8 While n5 nn1 DebugPrint n; Wend End Sub(分数:2.00)A.8 7 6B.7 6 5C.7 6 5 4D.8 7 6 54.下列程序的功能是计算 1到 1000之间所有偶数之和,程序空白处应填写的语句是 Private Sub Command_Click() Dim x As Double For i1 To 1000 If_Then xxi End If Next i DebugPrint x End Sub(分数:2.00)A.i Mod 20B.x Mod 20C.i Mod 20D.x Mo
3、d 205.下列程序段运行后,变量 b的值是 b1 Do Until b7 bb*(b1) Loop(分数:2.00)A.7B.39C.42D.16.下列循环语句中,循环体执行的次数是 a100 Do aa1 Loop Until a0 Then DebugPrint x End If xx1 Loop End Sub(分数:2.00)A.200B.100C.100D.20017.执行下列程序段后,变量 intsum的值是 Dim intsum As Integer Dim I As Integer intsum0 For I202 To 5 Step47 intsumintsumI Next
4、 I(分数:2.00)A.150B.200C.50D.018.执行下列程序段后,变量 s的值是 Dim s As long,x As Integer B0:x1 Do While(x10) ssx xx2 Loop(分数:2.00)A.10B.25C.50D.10019.如果要求下列程序段中的循环执行 3次,则程序中括号里的条件应是 x1 Do xx3 Loop Until(_)(分数:2.00)A.x8B.x8C.x7D.x720.执行下列程序段后,变量 intsum的值是 Dim intsum As Integer Dim I As Integer intsum0 For I0 T0 50
5、 Step 10 intsumintsumI Next I(分数:2.00)A.150B.200C.50D.021.执行下列程序段,变量 x的值是 x2 :y5 Do Until y5 xx*y yy1 Loop(分数:2.00)A.2B.5C.10D.2022.下列程序的功能是计算 10的阶乘,程序空白处应该填写的语句是 Dim t as single Dim k as Integer k0:t1 While_ kk1 tt*k Wend(分数:2.00)A.k10B.k10C.k10D.k1023.VBA中将 lnputBox的返回值转换为数值应该使用的函数是(分数:2.00)A.LoSB
6、.StrC.LenD.Val24.若有语句:str1inlmtbox(“输入“,“,“练习“);从键盘上输入字符串“示例”后,str1 的值是(分数:2.00)A.输入B.练习C.示例25.函数 MsgBox返回值的类型是(分数:2.00)A.数值B.字符串C.变体D.是否26.下列选项中,错误的 VBA数据验证函数是(分数:2.00)A.IsTextB.IsDateC.IsNumericD.IsNull27.假设数据库中有学生信息表 stud(sno,sname,ssex)。其中,性别 ssex字段已建索引,要在调试窗口中显示第一个男同学的信息,程序空白处应填写的语句是 Private Su
7、b Form_Load() Dim is As ADODBRecordset Set rsNew ADODBRecordset rsActiveConnection“ProviderMicrosoftJetOLEDB40;“Data Sourcee:考试中心教程教学管理mdb;” rsCursorTypeadOpenKeyset rsLockTypeadLockOptimistic rsIndex“ssex“ rsOpen“stud“,adCmdTableDirect DebugPrint rs(“sno“),rs(“sname“),r8(“ssex“) rsClose Set rsNothi
8、ng End Sub(分数:2.00)A.rsFind“男“,adSeekFirstEQB.rsSeek“男“,adSeekFirstEQC.rsFind“男“,adSeekLastEQD.rsSeek“男“,adSeekLastEQ28.假设数据库中有学生信息表 stud(sno,sname,ssex),其中 ssex字段已建索引,要输出最后一名男同学的信息,程序空白处应填写的语句是 Private SUb Form_Load() Dim r8 As ADODBRecordset Set rsNew ADODBRecordset rsActiveConnection“ProviderMicr
9、osoftJetOLEDB40:“Data Sourcee:考试中心教程教学管理mdb;” rsCursorTypeadOpenKeyset rsLockTypeadLockOptimistic rsIndex“8sex“ rsOpen“stud“,adCmdTablleDirect DebugPrint rs(“sno“),rs(“sname“),rs(“ssex“) rsClose Set rsNothing End Sub(分数:2.00)A.rsFind“男“,adSeekFimtEQB.rsSeek“男“,adSeekFimtEQC.rsFind“男“,adsoekLastEQD.r
10、sSeek“男“,adSeekLastEQ29.ADO对象模型中有 5个主要对象,它们是 Command、RecordSet、Field、Error 和(分数:2.00)A.DatabaseB.WorkspaceC.ConnectionD.DBEngine国家二级 ACCESS机试选择题(模块)-试卷 2答案解析(总分:58.00,做题时间:90 分钟)一、选择题(总题数:29,分数:58.00)1.执行下列程序段后,变量 a和 b的值分别是 a100:b50 If ab Then aab Else bba End If(分数:2.00)A.50和 50 B.100和 50C.100和 150
11、D.150和 100解析:解析:本题考查 If Else条件语句,若 ab 则执行 aab。否则执行 bba。本题 a初始值为100,b 初始值为 50。满足 ab 的条件,执行 aab,即 a1005050,b 的值不变,因此 8值为50,b 值为 50。2.执行下列程序段后,变量 s的值是 s0 For x99 to 1 Step2 ssx Next x(分数:2.00)A.100B.500C.2500 D.5000解析:解析:本题实际上是给出了一个计算 1至 99之间奇数之和的程序,x 初始为 99,每循环一次递减2。第一次循环结果:x99,s09999;第二次循环结果:x97,s999
12、7;以此类推,直至x1,s99979512500。3.程序执行时,单击窗体后输出结果是 Private sub form_click() Dim n as Integer n8 While n5 nn1 DebugPrint n; Wend End Sub(分数:2.00)A.8 7 6B.7 6 5 C.7 6 5 4D.8 7 6 5解析:解析:本题考查 WhileWend循环语句。若 n大于 5,反复执行 nn1 的操作,之后打印输出。本题中 n初始值为 8,满足 n大于 5的条件,进入第一次循环,执行 n817,打印输出 7;n 为 7,满足循环条件,进入第二次循环,执行 n716,打
13、印输出 6;n 为 6,满足循环条件,进入第三次循环,执行 n615,打印输出 5;n 为 5不再满足循环条件,跳出循环。因此输出结果为 7 6 5。4.下列程序的功能是计算 1到 1000之间所有偶数之和,程序空白处应填写的语句是 Private Sub Command_Click() Dim x As Double For i1 To 1000 If_Then xxi End If Next i DebugPrint x End Sub(分数:2.00)A.i Mod 20 B.x Mod 20C.i Mod 20D.x Mod 20解析:解析:本题中利用 For循环语句与 If条件判断语
14、句完成计算 1到 1000之间所有偶数之和。首先利用 For循环使 i从 1至 1000逐个变换,若 i为偶数,则执行相加操作,因此应在 If语句空白处填写 i Mod 20。5.下列程序段运行后,变量 b的值是 b1 Do Until b7 bb*(b1) Loop(分数:2.00)A.7B.39C.42 D.1解析:解析:Do UntilLoop 循环采用的是先判断条件后执行循环体的做法,如果条件为 True,则循环体一次都不执行,否则进入循环体执行。本题中,若不满足 b7 的条件,则执行 bb*(b1)。b 初始值为 1,进入第一次循环,b1*(11)2;满足循环条件,进入第二次循环,b
15、2*(21)6;满足循环条件,进入第三次循环,b6*(61)42,不再满足循环条件,跳出循环,b 的值最终为 42。6.下列循环语句中,循环体执行的次数是 a100 Do aa1 Loop Until a0 Then DebugPrint x End If xx1 Loop End Sub(分数:2.00)A.200 B.100C.100D.200解析:解析:Do UntilLoop 循环采用的是先判断条件后执行循环体的做法,如果条件表达式成立,不执行循环体,否则进入循环体。本题中,要输出 100到 200间不能被 3整除的数,x 初始值为 1011,之后执行 Do UntilLoop循环,若
16、 x超出 200则不执行循环,否则利用 If条件语句进行判断,若能被 3整除则输出,之后 x值加 1进行下一次循环判断。因此 Do Until语句空白处应填写200。17.执行下列程序段后,变量 intsum的值是 Dim intsum As Integer Dim I As Integer intsum0 For I202 To 5 Step47 intsumintsumI Next I(分数:2.00)A.150B.200C.50 D.0解析:解析:本题考查 For循环。初始将 intsm和 I都定义为整型。因此循环初始 I值取整为 20,进入第一次循环,执行 intsum020;进入下一
17、循环前 Step47 对 I值减 47,取整为 15,之后执行第二次循环,intsum2015;进入下一循环前 I值变为 1547103,取整为 10,执行第三次循环,intsum201510;进入下循辅 I值变为 104753,取整为 5,执行第四次循环,intsum2D1510550;进入下循环前 I值变为 54703,取整为 0,不再满足循环条件,因此 intsum值为 50。18.执行下列程序段后,变量 s的值是 Dim s As long,x As Integer B0:x1 Do While(x10) ssx xx2 Loop(分数:2.00)A.10B.25 C.50D.100解
18、析:解析:Do WhileLoop 语句是在条件表达式结果成立时,执行循环体,并持续到条件表达式结果不成立或执行到选择性 Exit Do语句而退出循环。在程序中,s 初始值为 0,x 初始值为 1,若满足 x10循环条件则执行 ssx,xx2 操作,实际上是求 110 以内奇数之和。因此 1357925。19.如果要求下列程序段中的循环执行 3次,则程序中括号里的条件应是 x1 Do xx3 Loop Until(_)(分数:2.00)A.x8 B.x8C.x7D.x7解析:解析:DoLoop Until 采用的是先执行循环体后判断条件的做法,首先执行循环,之后进行条件判断,结构是条件表达式不
19、成立时,重复执行循环,直到条件表达式成立,结束循环。本题中,x 初始值为 1,之后进入第一次循环,执行 x134;进入第二次循环,执行 x437;进入第三次循环,执行 x7310,之后跳出循环,因此,Until 的条件应是 x8。20.执行下列程序段后,变量 intsum的值是 Dim intsum As Integer Dim I As Integer intsum0 For I0 T0 50 Step 10 intsumintsumI Next I(分数:2.00)A.150 B.200C.50D.0解析:解析:本题考查 For循环。初始将 intsum和 I都定义为整型。因此循环初始 I
20、值为 0,进入第一次循环,执行 intsum00;进入下一循环前执行 Step 10,I 值变为 10,进入第二次循环,intsum010;以此类推直至 I值变为 50,intsum01020304050150,之后 I值变为 60不再符合循环条件,跳出循环。因此 intsum值为 150。21.执行下列程序段,变量 x的值是 x2 :y5 Do Until y5 xx*y yy1 Loop(分数:2.00)A.2B.5C.10 D.20解析:解析:Do UntilLoop 循环采用的是先判断条件后执行循环体的做法,如果条件为 True,则循环体一次都不执行,否则进入循环体执行。本题中,若不满
21、足 y5 的条件,则执行 xx*y,yy1 操作。x初始值为 2,y 值初始值为 5,满足循环条件,进入第一次循环,x2*510,y516,不再满足循环条件,跳出循环,x 的值最终为 10。22.下列程序的功能是计算 10的阶乘,程序空白处应该填写的语句是 Dim t as single Dim k as Integer k0:t1 While_ kk1 tt*k Wend(分数:2.00)A.k10 B.k10C.k10D.k10解析:解析:本程序作用是计算 10的阶乘,While 空白处是用来进行条件限制,满足循环条件则执行kk1,tt*k 操作,实现 k值加 1和阶乘的计算。因此当循环至
22、 k值为 9时,执行循环体kk19110,t1*2*3*4*5*6*7*8*9*10 完成 10的阶乘的计算,循环到此结束,因此循环的条件应为 k10 或 k9。23.VBA中将 lnputBox的返回值转换为数值应该使用的函数是(分数:2.00)A.LoSB.StrC.LenD.Val 解析:解析:InputBox 的返回值为字符型,Val 函数的功能是将文本数据转换为数值型数据。24.若有语句:str1inlmtbox(“输入“,“,“练习“);从键盘上输入字符串“示例”后,str1 的值是(分数:2.00)A.输入B.练习C.示例解析:解析:InputBox 函数表示在对话框来中显示提示
23、,等待用户输入正文或按下按钮,并返回包含文本框内容的字符串,其函数格式为 InputBox(prompt,title,default,xpos,ypos,helpfile,context)。Prompt 必需的,作为对话框消息出现的字符串表达式;Title 可选的,显示对话框标题栏中的字符串表达式;Default 可选的,显示文本框中的字符串表达式。因此本题中的消息框标题初始显示“输入”,文本框初始显示“练习”,从键盘上输入字符串“示例”后,传给 str1,其值为“示例”。25.函数 MsgBox返回值的类型是(分数:2.00)A.数值 B.字符串C.变体D.是否解析:解析:函数 MsgBox
24、返回值的类型是数值。26.下列选项中,错误的 VBA数据验证函数是(分数:2.00)A.IsText B.IsDateC.IsNumericD.IsNull解析:解析:VBA 常用的验证函数包括IsNumeric、IsDate、IsNull、IsEmpty、IsArray、IsError、IsObject。27.假设数据库中有学生信息表 stud(sno,sname,ssex)。其中,性别 ssex字段已建索引,要在调试窗口中显示第一个男同学的信息,程序空白处应填写的语句是 Private Sub Form_Load() Dim is As ADODBRecordset Set rsNew A
25、DODBRecordset rsActiveConnection“ProviderMicrosoftJetOLEDB40;“Data Sourcee:考试中心教程教学管理mdb;” rsCursorTypeadOpenKeyset rsLockTypeadLockOptimistic rsIndex“ssex“ rsOpen“stud“,adCmdTableDirect DebugPrint rs(“sno“),rs(“sname“),r8(“ssex“) rsClose Set rsNothing End Sub(分数:2.00)A.rsFind“男“,adSeekFirstEQB.rsSe
26、ek“男“,adSeekFirstEQ C.rsFind“男“,adSeekLastEQD.rsSeek“男“,adSeekLastEQ解析:解析:DAO 的 Seek成员函数是在表类型记录集合中基于表索引进行记录搜索,Find 成员函数是在动态集类型或快照类型记录集中进行记录搜索。由于本题中性别 ssex字段已建索引,因此采用 Seek成员函数。AdSeekFiirstEQ 查找等于关键值的第一个关键字,AdsoekLastEQ 查找等于关键值的最后一个关键字。本题中要显示第一个男同学的信息,使用 AdSeekFimtEQ。28.假设数据库中有学生信息表 stud(sno,sname,sse
27、x),其中 ssex字段已建索引,要输出最后一名男同学的信息,程序空白处应填写的语句是 Private SUb Form_Load() Dim r8 As ADODBRecordset Set rsNew ADODBRecordset rsActiveConnection“ProviderMicrosoftJetOLEDB40:“Data Sourcee:考试中心教程教学管理mdb;” rsCursorTypeadOpenKeyset rsLockTypeadLockOptimistic rsIndex“8sex“ rsOpen“stud“,adCmdTablleDirect DebugPri
28、nt rs(“sno“),rs(“sname“),rs(“ssex“) rsClose Set rsNothing End Sub(分数:2.00)A.rsFind“男“,adSeekFimtEQB.rsSeek“男“,adSeekFimtEQC.rsFind“男“,adsoekLastEQD.rsSeek“男“,adSeekLastEQ 解析:解析:DAO 的 Seek成员函数是在表类型记录集合中基于表索引进行记录查找,Find 成员函数是在动态集类型或快照类型记录集中进行记录查找。由于本题中性别 ssex字段已建索引,因此采用 Seek成员函数。AdSeekFirstEQ 查找等于关键值的
29、第一个关键字,AdSeekLastEQ 查找等于关键值的最后一个关键字。本题中要输出最后一名男同学的信息,因此使用 AdSeekLastEQ。29.ADO对象模型中有 5个主要对象,它们是 Command、RecordSet、Field、Error 和(分数:2.00)A.DatabaseB.WorkspaceC.Connection D.DBEngine解析:解析:在 VBA中提拱了 Active数据对象(ADO)作为数据库的访问接口,ADO 对象模型中包括 5个主要对象,即 Connection连接,代表到数据库的连接;Recordset 记录集,代表数据库记录的一个集合;Command命令,代表一个 SQL命令;Error 错误,代表数据库访问中产生的意外;Field 字段,代表记录集中的字段数据信息。