2011年3月全国计算机等级考试二级笔试试卷
Access程序设计
(考试时间90分钟,满分100分)
一、选择题(每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列关于栈叙述正确的是 A)栈顶元素最先能被删除 B)栈顶元素最后才能被删除 C)栈底元素永远不能被删除 D)以上三种说法都不对
(2)下列叙述中正确的是 A)有一个以上根结点的数据结构不一定是非线性结构 B)只有一个根结点的数据结构不一定是线性结构 C)循环链表是非线性结构 D)双向链表是非线性结构
(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层) A)3 B)4 C)6 D)7
(4)在软件开发中,需求分析阶段产生的主要文档是 A)软件集成测试计划 B)软件详细设计说明书 C) 用户手册 D)软件需求规格说明书
(5)结构化程序所要求的基本结构不包括 A)顺序结构 B)GOTO跳转 C)选择(分支)结构 D)重复(循环)结构
(6)下面描述中错误的是 A)系统总体结构图支持软件系统的详细设计 B)软件设计是将软件需求转换为软件表示的过程 C)数据结构与数据库设计是软件设计的任务之一 D)PAD图是软件详细设计的表示工具
(7)负责数据库中查询操作的数据库语言是 A)数据定义语言 B)数据管理语言 C)数据操纵语言 D)数据控制语言
(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是 A)1:1联系 B)1:m联系 C) m:1联系 D) m:n联系
(9)有三个关系R、S和T如下:
R |
|
|
|
S |
|
|
T |
A |
B |
C |
|
A |
B |
|
C |
a |
1 |
2 |
|
c |
3 |
|
1 |
b |
2 |
1 |
|
|
|
|
|
c |
3 |
1 |
|
|
|
|
|
则由关系R和S得到关系T的操作是 A)自然连接 B)交 C)除 D)并
(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是 A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}
(11)在学生表中要查找所有年龄大于30岁姓王的男同学,应该采用的关系运算是 A)选择 B)投影 C)联接 D)自然联接
(12)下列可以建立索引的数据类型是 A)文本 B)超级链接 C)备注 D)OLE对象
(13)下列关于字段属性的叙述中,正确的是 A)可对任意类型的字段设置“默认值”属性 B)定义字段默认值的含义是该字段值不允许为空 C)只有“文本”型数据能够使用“输入掩码向导”D)“有效性规则”属性只允许定义一个条件表达式
(14)查询“书名”字段中包含“等级考试”字样的记录,应该使用的条件是 A)Like "等级考试" B)Like "*等级考试。 C)Like "等级考试*" D)Like "*等级考试*"
(15)在Access中对表进行“筛选”操作的结果是 A)从数据中挑选出满足条件的记录 B)从数据中挑选出满足条件的记录并生成一个新表 C)从数据中挑选出满足条件的记录并输出到一个报表中 D)从数据中挑选出满足条件的记录并显示在一个窗体中
(16)在学生表中使用“照片”字段存放相片,当使用向导为该表创建窗体时,照片字段使用的默认控件是 A)图形 B)图像 C)绑定对象框 D)未绑定对象框
(17)下列表达式计算结果为日期类型的是 A)#2012-1-23#-#2011-2-3# B)year(#2011-2-3#) C)DateValue("2011-2-3") D)Len("2011-2-3")
(18)若要将“产品”表中所有供货商是“ABC”的产品单价下调50,则正确的SQL语句是 A)UPDATE 产品 SET 单价=50 WHERE 供货商="ABC" B)UPDATE 产品 SET 单价=单价-50 WHERE 供货商="ABC" C)UPDATE FROM 产品 SET单价=50 WHERE 供货商="ABC" D)UPDATE FROM 产品 SET单价=单价-50 WHERE 供货商="ABC"
(19)若查询的设计如下,则查询的功能是
A)设计尚未完成,无法进行统计 B)统计班级信息仅含Null(空)值的记录个数 C)统计班级信息不包括Null(空)值的记录个数 D)统计班级信息包括Null(空)值全部记录个数
(20)在教师信息输入窗体中,为职称字段提供“教授”、“副教授”、“讲师”等选项供用户直接选择,应使用的控件是 A)标签 B)复选框 C)文本框 D)组合框
(21)在报表中要显示格式为“共N页,第N页”的页码,正确的页码格式设置是 A)="共"+Pages+"页,第"+Page+"页" B)="共"+[Pages]+"页,第"++"页"
C)="共"&Pages&"页,第"&Page&"页" D)="共"&[Pages]&"页,第"&&"页"
(22)某窗体上有一个命令按钮,要求单击该按钮后调用宏打开应用程序Word,则设计该宏时应选择的宏命令是 A)RunApp B)RunCode C)RunMacro D)RunCommand
(23)下列表达式中,能正确表示条件“x和y都是奇数”的是 A)x Mod 2=0 And y Mod 2=0 B)x Mod 2=0 Or y Mod 2=0 C)x Mod 2=1 And y Mod 2=1 D)x Mod 2=1 Or y Mod 2=1
(24)若在窗体设计过程中,命令按钮Command0的事件属性设置如下图所示,则含义是
A)只能为"进入"事件和"单击"事件编写事件过程 B)不能为"进入"事件和"单击"事件编写事件过程 C)“进入”事件和“单击”事件执行的是同一事件过程 D)已经为“进入”事件和“单击”事件编写了事件过程
(25)若窗体Frm1中有一个命令按钮Cmd1,则窗体和命令按钮的Click事件过程名分别为 A)Form_Click() Command1_Click() B)Frm1_Click() Command1_Click() C)Form_Click() Cmd1_Click() D) Frm1_Click() Cmd1_Click()
(26)在VBA中,能自动检查出来的错误是 A)语法错误 B)逻辑错误 C)运行错误 D)注释错误
(27)下列给出的选项中,非法的变量名是 A)Sum B)Integer_2 C)Rem D)Form1
(28)如果在被调用的过程中改变了形参变量的值;但又不影响实参变量本身,这种参数传递方式称为 A)按值传递 B)按地址传递 C)ByRef传递 D)按形参传递
(29)表达式“B=INT(A+0.5)”的功能是 A)将变量A保留小数点后1位 B)将变量A四舍五入取整 C)将变量A保留小数点后5位 D)舍去变量A的小数部分
(30)VBA语句“Dim NewArray(10) as Integer”的含义是 A)定义10个整型数构成的数组NewArray B)定义11个整型数构成的数组NewArray C)定义1个值为整型数的变量NewArray(10) D)定义1个值为10的变量NewArray
(31)运行下列程序段,结果是 For m=10 to 1 step 0 k=k+3 Next m A)形成死循环 B)循环体不执行即结束循环C)出现语法错误 D)循环体执行一次后结束循环
(32)运行下列程序,结果是 Private Sub Command32_Click() f0=1:f1=1:k=1 Do While k<=5 f=f0+f1 f0=f1 f1=f k=k+1 Loop MsgBox "f="&f End Sub A)f=5 B)f=7 C)f=8 D)f=13
(33)有如下事件程序,运行该程序后输出结果是 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&",y="&y End Sub A)x=1,y=0 B) x=4,y=25 C)x=5,y=30 D)输出其他结果
(34)下列程序的功能是计算sum=1+(1+3)+(1+3+5)+……+(1+3+5+……+39) Private Sub Command34_Click() t=0 m=1 sum=0 Do t=t+m sum=sum+t m=______ Loop While m<=39 MsgBox "Sum="&sum End Sub 为保证程序正确完成上述功能,空白处应填入的语句是 A)m+1 B)m+2 C)t+1 D)t+2
(35)下列程序的功能是返回当前窗体的记录集 Sub GetRecNum() Dim rs As Object Set rs=______ MsgBox rs.RecordCount End Sub 为保证程序输出记录集(窗体记录源)的记录数,空白处应填入的语句是 A)Recordset B)Me.Recordset C)RecordSource D)Me.RecordSource
二、填空题(每空2分,共30分)
请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
(1)有序线性表能进行二分查找的前提是该线性表必须是 【1】 存储的。 (2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF则后序遍历结果为 【2】 。 (3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为 【3】 测试。 (4)实体完整性约束要求关系数据库中元组的 【4】 属性值不能为空。 (5)在关系A(S,SN,D)和关系B(D,CN, NM)中,A的主关键字是S,B的主关键字是D,则称 【5】 是关系A的外码。
(6)在Access查询的条件表达式中要表示任意单个字符,应使用通配符 【6】 。
(7)在SELECT语句中,HAVING子句必须与 【7】 子句一起使用。
(8)若要在宏中打开某个数据表,应使用的宏命令是 【8】 。
(9)在VBA中要将数值表达式的值转换为字符串,应使用函数 【9】 。
(10)运行下列程序,输入如下两行: Hi, I am here. 弹出的窗体中的显示结果是 【10】 。 Private Sub Command11_Click() Dim abc As String, sum As string sum="" Do abc=InputBox("输入abc") If Right(abc,1)="." Then Exit Do sum=sum+abc Loop MsgBox sum End Sub
(11)运行下列程序,窗体中的显示结果是:x= 【11】 。 Option Compare Database Dim x As Integer
Private Sub Form_Load() x=3 End Sub
Private Sub Command11_Click() Static a As Integer Dim b As Integer b=x^2 fun1 x,b fun1 x,b MsgBox "x="&x End Sub
Sub fun1(ByRef y As Integer,ByVal z As Integer) y=y+z z=y-z End Sub
(12)“秒表”窗体中有两个按钮(“开始/停止”按钮bOK,“暂停/继续”按钮bPus);一个显示计时的标签1Num;窗体的“计时器间隔”设为100计时精度为0.1秒。 要求:打开窗体如图1所示;第一次单击“开始婷止”按钮,从0开始滚动显示计时(见图2);10秒时单击“暂停/继续”按钮,显示暂停(见图3),但计时还在继续;若20秒后再次单击“暂停/继续”按钮,计时会从30秒开始继续滚动显示;第二次单击“开始/停止”按钮,计时停止,显示最终时间(见图4)。若再次单击“开始/停止”按钮可重新从0开始计时。
相关的事件程序如下。请在空白处填入适当的语句,使程序可以完成指定的功能。 Option Compare Database Dim flag,pause As Boolean
Private Sub bOK Click() flag= 【12】 Me!bOK.Enabled=True Me!bPus.Enabled=flag End Sub
Private Sub bPus_Click() pause=Not pause Me!bOK.Enabled=Not Me!bOK.Enabled End Sub
Private Sub Form Open(Cancel As Integer) flag=False pause=False Me!bOK.Enabled=True Me!bPus.Enabled=False End Sub
Private Sub Form Timer() Static count As Single If flag=True Then If pause=False Then Me!1Num.Caption=Round(count,1) End If count= 【13】 Else count=0 End If End Sub
(13)数据库中有“学生成绩表”,包括“姓名”、“平时成绩”、“考试成绩”和“期末总评”等字段。现要根据“平时成绩”和“考试成绩”对学生进行“期末总评”。规定: “平时成绩”加“考试成绩”大于等于85分,则期末总评为“优”,“平时成绩”加“考试成绩”小于60分,则期末总评为“不及格”,其他情况期末总评为“合格”。 下面的程序按照上述要求计算每名学生的期末总评。请在空白处填入适当的语句,使程序可以完成指定的功能。 Private Sub Command0_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim pscj,kscj,qmzp As DAO.Field
Dim count As Integer
Set db=CurrentDb() Set rs=db.OpenRecordset("学生成绩表") Set pscj=rs.Fields("平时成绩") Set kscj=rs.Fields("考试成绩") Set qmzp=rs.Fields("期末总评")
count=0 Do While Not rs.EOF 【14】 If pscj+kscj>=85 Then qmzp="优" ElseIf pscj+kscj<60 Then qmzp="不及格" Else qmzp="合格" End If rs.Update count=count+1 【15】 Loop rs.Close db.Close Set rs=Nothing Set db=Nothing MsgBox "学生人数:"&count End Sub
|