1、国家二级 ACCESS机试选择题(模块)模拟试卷 7及答案与解析 一、选择题 1 执行下列程序段后,变量 a和 b的值分别是 a 100: b 50 If ab Then a a b Else b b a End If ( A) 50和 50 ( B) 100和 50 ( C) 100和 150 ( D) 150和 100 2 执行下列程序段后,变量 s的值是 s 0 For x 99 to 1 Step 2 s s x Next x ( A) 100 ( B) 500 ( C) 2500 ( D) 5000 3 程序执行时,单击窗体后输出结果是 Private sub form_click(
2、) Dim n as Integer n 8 While n 5 n n 1 Debug Print n; Wend End Sub ( A) 8 7 6 ( B) 7 6 5 ( C) 7 6 5 4 ( D) 8 7 6 5 4 下列程序的功能是计算 1到 1000之间所有偶数之和, 程序空白处应填写的语句是 Private Sub Command_Click() Dim x As Double For i 1 To 1000 If_Then x x i End If Next i Debug Print x End Sub ( A) i Mod 2 0 ( B) x Mod 2 0 (
3、C) i Mod 2 0 ( D) x Mod 2 0 5 下列程序段运行后,变量 b的值是 b 1 Do Until b 7 b b*(b 1) Loop ( A) 7 ( B) 39 ( C) 42 ( D) 1 6 下列循环语句中,循环体执行的次数是 a 100 Do a a 1 Loop Until a0 Then Debug Print x End If x x 1 Loop End Sub ( A) 200 ( B) 100 ( C) 100 ( D) 200 17 执行下列程序段后,变量 intsum的值是 Dim intsum As Integer Dim I As Integ
4、er intsum 0 For I 20 2 To 5 Step 4 7 intsum intsum I Next I ( A) 150 ( B) 200 ( C) 50 ( D) 0 18 执行下列程序段后,变量 s的值是 Dim s As long, x As Integer B 0: x 1 Do While(x 10) s s x x x 2 Loop ( A) 10 ( B) 25 ( C) 50 ( D) 100 19 如果要求下列程序段中的循环执行 3次,则程序中括 号里的条件应是 x 1 Do x x 3 Loop Until(_) ( A) x 8 ( B) x 8 ( C)
5、 x 7 ( D) x 7 20 执行下列程序段后,变量 intsum的值是 Dim intsum As Integer Dim I As Integer intsum 0 For I 0 T0 50 Step 10 intsum intsum I Next I ( A) 150 ( B) 200 ( C) 50 ( D) 0 21 执行下列程序段,变量 x的值是 x 2 : y 5 Do Until y 5 x x*y y y 1 Loop ( A) 2 ( B) 5 ( C) 10 ( D) 20 22 下列程序的功能是计算 10的阶乘,程序空白处应该填写的语句是 Dim t as sin
6、gle Dim k as Integer k 0: t 1 While_ k k 1 t t*k Wend ( A) k 10 ( B) k 10 ( C) k 10 ( D) k 10 23 VBA中将 lnputBox的返回值转换为数值应该使用的函数是 ( A) LoS ( B) Str ( C) Len ( D) Val 24 若有语句: str1 inlmtbox(“输入 “, “, “练习 “);从键盘上输入字符串 “示例 ”后, str1的值是 ( A)输入 ( C)练习 ( D)示例 25 函数 MsgBox返回值的类型是 ( A)数值 ( B)字符串 ( C)变体 ( D)是否
7、 26 下列选项中,错误的 VBA数据验证函数是 ( A) IsText ( B) IsDate ( C) IsNumeric ( D) IsNull 27 假设数据库中有学生信息表 stud(sno, sname, ssex)。其中,性别 ssex字段已建索引,要在调试窗口中显示第一个男同学的信息,程序空白处应填写的语句是 Private Sub Form_Load() Dim is As ADODB Recordset Set rs New ADODB Recordset rs ActiveConnection “Provider Microsoft Jet OLEDB 4 0; “ “D
8、ata Source e:考试中心教程教学管理 mdb; ” rs CursorType adOpenKeyset rs LockType adLockOptimistic rs Index “ssex“ rs Open“stud“, adCmdTableDirect Debug Print rs(“sno“), rs(“sname“), r8(“ssex“) rs Close Set rs Nothing End Sub ( A) rs Find“男 “, adSeekFirstEQ ( B) rs Seek“男 “, adSeekFirstEQ ( C) rs Find“男 “, adSe
9、ekLastEQ ( D) rs Seek“男 “, adSeekLastEQ 28 假设数据库中有学生信息表 stud(sno, sname, ssex),其中 ssex字段已建索引,要输出最后一名男同学的信息,程序空白处应填写的语句是 Private SUb Form_Load() Dim r8 As ADODB Recordset Set rs New ADODB Recordset rs ActiveConnection “Provider Microsoft Jet OLEDB 4 0: “ “Data Source e:考试中心教程教学管理 mdb; ” rs CursorType
10、 adOpenKeyset rs LockType adLockOptimistic rs Index “8sex“ rs Open“stud“, adCmdTablleDirect Debug Print rs(“sno“), rs(“sname“), rs(“ssex“) rs Close Set rs Nothing End Sub ( A) rs Find“男 “, adSeekFimtEQ ( B) rs Seek“男 “, adSeekFimtEQ ( C) rs Find“男 “, adsoekLastEQ ( D) rs Seek“男 “, adSeekLastEQ 29 AD
11、O对象模型中有 5个主要对象,它们是 Command、 RecordSet、 Field、 Error和 ( A) Database ( B) Workspace ( C) Connection ( D) DBEngine 国家二级 ACCESS机试选择题(模块)模拟试卷 7答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 本题考查 If Else条件语句,若 a b则执行 a a b。否则执行 b b a。本题 a初始值为 100, b初始值为 50。满足 a b的条件,执行 a ab,即 a 100 50 50, b的值不变,因此 8值为 50, b值为 50。 【知识模块】 模
12、块 2 【正确答 案】 C 【试题解析】 本题实际上是给出了一个计算 1至 99之间奇数之和的程序, x初始为 99,每循环一次递减 2。第一次循环结果: x 99, s 0 99 99;第二次循环结果: x 97, s 99 97;以此类推,直至 x 1, s 99 97 95 12500。 【知识模块】 模块 3 【正确答案】 B 【试题解析】 本题考查 WhileWend 循环语句。若 n大于 5,反复执行 n n1的操作,之后打印输出。本题中 n初始值为 8,满足 n大于 5的条件,进入第一次循环,执行 n 8 1 7,打印输 出 7; n为 7,满足循环条件,进入第二次循环,执行 n
13、 7 1 6,打印输出 6; n为 6,满足循环条件,进入第三次循环,执行 n 6 1 5,打印输出 5; n为 5不再满足循环条件,跳出循环。因此输出结果为 7 6 5。 【知识模块】 模块 4 【正确答案】 A 【试题解析】 本题中利用 For循环语句与 If条件判断语句完成计算 1到 1000之间所有偶数之和。首先利用 For循环使 i从 1至 1000逐个变换,若 i为偶数,则执行相加操作,因此应在 If语句空白处填写 i Mod 2 0。 【知识模块】 模块 5 【正确答案】 C 【试题解析】 Do UntilLoop 循环采用的是先判断条件后执行循环体的做法,如果条件为 True,
14、则循环体一次都不执行,否则进入循环体执行。本题中,若不满足 b 7的条件,则执行 b b*(b 1)。 b初始值为 1,进入第一次循环, b 1*(1 1) 2;满足循环条件,进入第二次循环, b 2*(2 1) 6;满足循环条件,进入第三次循环, b 6*(6 1) 42,不再满足循环条件,跳出循环, b的值最终为42。 【知识模块】 模块 6 【正确答案】 D 【试题解析】 DoLoop Until 采用的是先执行循环体后判断条件的做法,首先执行循环,之后进行条件判断,结构是条件式不成立时,重复执行循环,直到条件式成立,结束循环。本题中 a初始值为 100,进入循环执行 a a 1的操作,
15、之后进行 a 10的条件判断,条件永远不成立,因此本循环是死循环。 【知识模块】 模块 7 【正确答案】 B 【试题解析】 本题考察 For循环语句的嵌套。首先执行外层第一次循环, i 1,内层执行 5次循环, n每次加 1变为 5;执行外层第二次循环, i 2,同样内层执行 5次循环, n每次加 1由 5变为 10;执行外层第三次循环, i 3,同样内层执行5次循环, n每次加 1由 10变为 15,此时 j 1,执行 Next j, j操作, j变为 0, i变为 4。因此最终 n为 15, j为 0, n为 4。 【知识模块】 模块 8 【正确答案】 C 【试题解析】 DoLoop wh
16、ile until采用的是先执行循环体后判断条件的做法,首先执行循环,之后进行条件判断,无论条件是否成立,循环体都会至少执行一次。因此选项 C正确,而其他三个循环语句都会首先进行条件判断,若条件不成立,则不进入循环体。 【知识模块】 模块 9 【正确答案】 A 【试题解析】 本题考察 For循环结构。首先看程序中的 Function P函数,在该函数中,首先定义了静态变量 sum,默认初始值为 0,然后设置了一个 For循环,将函数参数作为 For循环的控制条件,通过语句 “surn sum i”,将循环次数累计相加。在单击按钮事件 “Commandl_Click()”通过语句 “s p(1)
17、 p(2) p(3)p(4)”调用函数并将函数结果用于计算,下面就来分析一下程序运行过程: P(1),带入函数 P的参数 N 1, For循环运行 1次: i 1: sum 0 1 1,所以 P(1)1; P(2),带入函数 P的参数 N 2, For循环运行 2次: i 1: sum 0 1 1, i2: sum 1 2 3,所以 P(2) 3; P(3),带入函数 P的参数 N 3, For循环运行3次: i 1: sum 0 1 1, i 2: sum 1 2 3, i 3: sum 3 3 6,所以P(3) 6; P(4)带入函数 P的参数 N 3, For循环运行 4次: i 1:
18、sum 0 11, i 2: sum 1 2 3, i 3: sum 3 3 6, i 4: sum 6 4 10,所以 P(4) 10;那 么, s P(1) P(2) P(3) P(4) 1 3 6 10 20,所以输出结果为20。 【知识模块】 模块 10 【正确答案】 A 【试题解析】 本题考察 For循环结构。首先定义了一个数组 a(5),之后进行 For循环判断,若 1满足在 0至 5范围内,则进入循环体,执行 a(I) I 1,之后打印输出 a(I)。当 I为 0时,进入第一次循环, a(0) 0 1 1,输出 1,之后 I变为1;进入第二次循环, a(1) 1 1 2,输出 2
19、,之后 I变为 2;进入第三次循环,a(2) 2 1 3,输出 3,之后 I变 为 3;进入第四次循环, a(3) 3 1 4,输出4,之后 I变为 4;进入第五次循环, a(4) 4 1 5,输出 5,之后 I变为 5;进入第六次循环, a(5) 5 1 6,输出 6,之后 I变为 6,不再满足循环条件。因此程序执行结果为 123456。 【知识模块】 模块 11 【正确答案】 D 【试题解析】 根据题目描述,若产品编码只在 “新品表 ”中出现,需要追加至 “产品表 ”;若产品编码在 “产品表 ”和 “新品表 ”中同时出现,需要修改 “产品表 ”中相应产品的单价。为了同时满足上述功能要求,应
20、编写 VBA程序进行判断 后执行相应操作。因此选项 D正确。 【知识模块】 模块 12 【正确答案】 A 【试题解析】 本题利用 Do WhileLoop 循环语句实现了计算 1 2 3 10的值的功能。利用循环条件 k 10进行控制。若满足条件则执行 k值加 1的操作,使 k值从 1至 10逐个变换,之后利用 t存储相加结果,利用 t t k语句实现计算 1 2 3 10的值的功能。 【知识模块】 模块 13 【正确答案】 C 【试题解析】 本题考查 Do UntilLoop 循环结构。当不满足条件 k 33进入循环循 环体,反复执行 x x 2, k k 1操作,直至条件满足。本题中 k、
21、 x初始值为 0,进入第一次循环, x 0 2 2, k 0 1 1; k不满足循环结束条件,进入第二次循环, x 2 2 4, k 1 1 2; k不满足循环结束条件,进入第三次循环, x 4 2 6, k 2 1 3,满足循环结束条件, x的值最终为 6。 【知识模块】 模块 14 【正确答案】 D 【试题解析】 根据题意,代码中用 Sub定义了一个过程,过程中定义了 3个变量: x, y, m。其中 x 100, y 200。然后是 if条件语句,条件是 (x Y),根据前面的赋值可知,不满足此条件,故执行 Else中的代码, m y,因此显示的 m的值为 200。因此选择 D选项。 【
22、知识模块】 模块 15 【正确答案】 A 【试题解析】 本题考察 For循环语句,计算数组 b(K)的值。在程序中,首先定义了两个数组 a(4)、 b(4),之后执行 For循环。当 K 0时,进入第一次循环,将输入的 1赋值给 a(1),即 a(1) 1, b(3) a(1) 1;之后 K 1,进入第二次循环,将输入的 3赋值给 a(2),即 a(2) 3, b(2) a(2) 3;之后 K 2,进入第三 次循环,将输入的 5赋值给 a(3),即 a(3) 5, b(1) a(3) 5,之后 K 3,不满足循环条件,结束循环。输出 b(3),值为 1。 【知识模块】 模块 16 【正确答案】
23、 A 【试题解析】 Do UntilLoop 循环采用的是先判断条件后执行循环体的做法,如果条件表达式成立,不执行循环体,否则进入循环体。本题中,要输出 100到 200间不能被 3整除的数, x初始值为 1011,之后执行 Do UntilLoop 循环,若 x超出 200则不执行循环,否则利用 If条件语句进行判断,若能被 3整除则输出 ,之后 x值加 1进行下一次循环判断。因此 Do Until语句空白处应填写 200。 【知识模块】 模块 17 【正确答案】 C 【试题解析】 本题考查 For循环。初始将 intsm和 I都定义为整型。因此循环初始 I值取整为 20,进入第一次循环,执
24、行 intsum 0 20;进入下一循环前 Step 4 7对 I值减 4 7,取整为 15,之后执行第二次循环, intsum 20 15;进入下一循环前 I值变为 15 4 7 10 3,取整为 10,执行第三次循环, intsum 20 15 10;进入下 循辅 I值变为 10 4 7 5 3,取整为 5,执行第四次循环,intsum 2D 15 10 5 50;进入下 循环前 I值变为 5 4 7 0 3,取整为0,不再满足循环条件,因此 intsum值为 50。 【知识模块】 模块 18 【正确答案】 B 【试题解析】 Do WhileLoop 语句是在条件表达式结果成立时,执行循环
25、体,并持续到条件表达式结果不成立或执行到选择性 Exit Do语句而退出循环。在程序中, s初始值为 0, x初始值为 1,若满足 x 10循环条件则执行 s s x, x x 2操作,实际上是求 1 10以内奇数之和。因此 1 3 5 7 9 25。 【知识模块】 模块 19 【正确答案】 A 【试题解析】 DoLoop Until 采用的是先执行循环体后判断条件的做法,首先执行循环,之后进行条件判断,结构是条件表达式不成立时,重复执行循环,直到条件表达式成立,结束循环。本题中, x初始值为 1,之后进入第一次循环,执行x 1 3 4;进入第二次循环,执行 x 4 3 7;进入第三次循环,执
26、行 x 73 10,之后跳出循环,因此, Until的条件应是 x 8。 【知识模块】 模块 20 【正确答案】 A 【试题解析】 本题考查 For循环。初始将 intsum和 I都定义为整型。因此循环初始 I值为 0,进入第一次循环,执行 intsum 0 0;进入下一循环前执行 Step 10, I值变为 10,进入第二次循环, intsum 0 10;以此类推直至 I值变为 50,intsum 0 10 20 30 40 50 150,之后 I值变为 60不再符合循环条件,跳出循环。因此 intsum值为 150。 【知识模块】 模块 21 【正确答案】 C 【试题解析】 Do Unti
27、lLoop 循环采用的 是先判断条件后执行循环体的做法,如果条件为 True,则循环体一次都不执行,否则进入循环体执行。本题中,若不满足 y 5的条件,则执行 x x*y, y y 1操作。 x初始值为 2, y值初始值为 5,满足循环条件,进入第一次循环, x 2*5 10, y 5 1 6,不再满足循环条件,跳出循环, x的值最终为 10。 【知识模块】 模块 22 【正确答案】 A 【试题解析】 本程序作用是计算 10的阶乘, While空白处是用来进行条件限制,满足循环条件则执行 k k 1, t t*k操作,实现 k值加 1和阶乘的计算。因此当循环至 k值为 9时,执行循环体 k k
28、 1 9 1 10, t1*2*3*4*5*6*7*8*9*10完成 10的阶乘的计算,循环到此结束,因此循环的条件应为 k 10或 k 9。 【知识模块】 模块 23 【正确答案】 D 【试题解析】 InputBox的返回值为字符型, Val函数的功能是将文本数据转换为数值型数据。 【知识模块】 模块 24 【正确答案】 D 【试题解析】 InputBox函数表示在对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的字符串, 其函数格式为 InputBox(prompt,title, default, xpos, ypos, helpfile, context)。 Prom
29、pt必需的,作为对话框消息出现的字符串表达式; Title可选的,显示对话框标题栏中的字符串表达式; Default可选的,显示文本框中的字符串表达式。因此本题中的消息框标题初始显示 “输入 ”,文本框初始显示 “练习 ”,从键盘上输入字符串 “示例 ”后,传给str1,其值为 “示例 ”。 【知识模块】 模块 25 【正确答案】 A 【试题解析】 函数 MsgBox返回值的类型是数值。 【知识模块】 模块 26 【正确答案】 A 【试题解析】 VBA常用的验证函数包括 IsNumeric、 IsDate、 IsNull、 IsEmpty、IsArray、 IsError、 IsObject。
30、 【知识模块】 模块 27 【正确答案】 B 【试题解析】 DAO的 Seek成员函数是在表类型记录集合中基于表索引进行记录搜索, Find成员函数是在动态集类型或快照类型记录集中进行记录搜索。由于本题中性别 ssex字段已建索引,因此采用 Seek成员函数。 AdSeekFiirstEQ查找等于关键值的第一个关键字, AdsoekLastEQ查找等于关键值的最后一个关键字。本题中要显示第一个男同学的信息,使用 AdSeekFimtEQ。 【知识模块】 模块 28 【正确答案】 D 【试题解析】 DAO的 Seek成员函数是在表类型记录集合中基于表索引进行记录查找, Find成员函数是在动态集
31、类型或快照类型记录集中进行记录查找。由于本题中性别 ssex字段已建索引,因此采用 Seek成员函数。 AdSeekFirstEQ查找等于关键值的第一个关键字, AdSeekLastEQ查找等于关键值的最后一个关键字。本题中要输出最后一名男同学的信息,因此使用 AdSeekLastEQ。 【知识模块】 模块 29 【正确答案】 C 【试题解析】 在 VBA中提拱了 Active数据对象 (ADO)作为数据库的访问接口,ADO对象模型中包括 5个主要对象,即 Connection连接,代表到数据库的连接;Recordset记录集,代表数据库记录的一个集合; Command命令,代表一个 SQL命令; Error错误,代表数据库访问中产生的意外; Field字段,代表记录集中的字段数据信 息。 【知识模块】 模块