2009年3月全国计算机等级考试二级笔试试卷Access数据库程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)(1)下面叙述中正确的是()。A)栈是“先进先出”的线性表B)队列是“先进后出”的线性表C)循环队列是非线性结构D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是()。A)栈B)树C)队列D)二叉树(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()。A)10B)8C)6D)4(4)下列排序方法中,最坏情况下比较次数最少的是()。A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。A)编译程序员B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是()。A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试C)程序调试通常被称为DebugD)软件测试就严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是模块独立性试题的两个标准,下列叙述正确的是()。A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块独立性C)耦合性是一个模块内部元素间彼此结合的紧密程序D)内聚性是指模块可互相连接的紧密程序(8)数据库应用系统中的核心问题是()。A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R,S如下:由关系R通过运算得到关系S,则所使用的运算为()。A)选择B)投影C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为()。A)属性B)键C)关系D)域(11)按数据的组织形式,数据库的数据模型可分为三种模型,它们是()。A)小开、中开和大型B)网状、环状和链状C)层次、网状和关系D)独享、共享和实时(12)数据库中有A、B两表,均有相同字段C,在两表中C字段都设为主键,当通过C字段建立两表关系时,则该关系为()。A)一对一B)一对多C)多对多D)不能建立关系(13)如果在创建表中建立字段“性别”,关要用汉字表示,其数据类型应当是()。A)是/否B)数字C)文本D)备注(14)在Access数据库对象中,体现数据库设计目的的对象是()。A)报表B)模块C)查询D)表(15)下列关于空值的叙述中,正确的是()。A)空值是双引号中间没有空格的值B)空值是等于数值C)空值是使用NULL或空白来表示字段的值D)空值是用空格表示的值(16)在定义表中字段属性时,对要求输入相对固定格式的数据,例如电话号码01065971234,应该定义该字段的()。A)格式B)默认值C)输入掩码D)有效性规则(17)在书写查询准则时,日期型数据应该使用适当的分隔符括起来,正确的分隔符是()。A)*B)%C)&D)#(18)下列关于报表的叙述中,正确的是()。A)报表只能输入数据B)报表只能输出数据C)报表可以输入和输出数据D)报表不能输入和输出数据(19)要实现报表按某字段分组统计输出,需要设置的是()。A)报表页脚B)该字段的组页脚C)主体D)页面页脚(20)下列关于SQL语句的说法中,错误的是()。A)INSERT语句可以向数据表中追加新的数据记录B)UPDATE语句可以用来删除数据表中已经存在的数据记录C)DELETE语句用来删除数据表中的记录D)CREATE语句用来建立表结构并追加新的记录(21)在数据访问工具箱中,加了插入一段滚动的文字应该选择的图标是()。A)B)C)D)(22)在运行宏的过程中,宏不能修改的是()。A)窗体B)宏本身C)表D)数据库(23)在设计条件宏时,对于连续重复条件,要代替重复条件表达式可是使用符号()。A)…B):C):D)=(24)在宏的参数中,要引用窗体F1上的Text1文本框的值,应该使用的表达式是()。A)[Forms]![F1]![Text1]B)Text1C)[F1].[Text1]D)[Forms]_[F1]_[Text1](25)宏操作Quit的功能是()。A)关闭表B)退出宏C)退出查询D)退出Access(26)发生在控件接收焦点之前的事件是()。A)EnterB)ExitC)GotFocusD)LostFocus(27)要想在过程Proc调用后返回形参x和y的变化结果,下列定义语句正确的是()。A)SubProc(xasInteger,yasInteger)B)SubProc(ByValxasInteger,yasInteger)C)SubProc(xasInteger,ByValyasInteger)D)SubProc(ByValxasInteger,ByValyasInteger)(28)要从数据库中删除一个表,应使用的SQL语句是()。A)ALTERTABLEB)KILLTABLEC)DELETETABLED)DROPTABLE(29)在VBA中要打开名为“学生信息录入”的窗体,应使用的语句是()。A)DoCmd.OpenForm“学生信息录入”B)OpenForm“学生信息录入”C)DoCmd.OpenWindows“学生信息录入”D)OpenWindows“学生信息录入”(30)要显示当前过程中的所有变量及对象的取值,可以利用的调试窗口是()。A)监视窗口B)调用堆栈C)立即窗口D)本地窗口(31)在VBA中,下列关于过程的描述中正确的是()。A)过程的定义可以嵌套,但过程的调用不能嵌套B)过程的定义不可以嵌套,但过程的调用可以嵌套C)过程的定义和过程的调用均可以嵌套D)过程的定义和过程的调用均不能嵌套(32)能哆实现从指定记录集里检索特定字段的函数是()。A)DcountB)DLookupC)DMaxD)DSum(33)下列四个选项中,不是VBA的条件函数的是()。A)ChooseB)IfC)IIfD)Switch(34)设有如下过程:x=1Dox=x+2LoopUntil_____运行程序,要求循环执行3次后结束循环,空白处应填入的语句是()。A)x=7B)x7C)x=7D)x7(35)在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码:PrivateSubCommand1_Click()MsgBoxf(24,18)EndSubPublicFunctionf(mAsInteger,nAsInteger)AsIntegerDoWhilemnDoWhilemnm=m-nLoopDoWhilemnn=n-mLoopLoopf=mEndFunction窗体打开运行后,单击命令按钮,则消息框的输出结果是()。A)2B)4C)6D)8二、填空题(每空2分,共30分)(1)假如用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【1】个元素。(2)软件测试可分为白盒测试和黑盒测试。基本路径测试属于【2】测试。(3)符合结构化原则的三种基本结构是:选择结构、循环结构和【3】。(4)数据库系统的核心是【4】。(5)在E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是【5】框。(6)在关系数据库中,从关系中找出满足给定条件的元组,该操作可称为【6】。(7)函数Mid(学生信息管理系统,3,2)的结果是【7】。(8)用SQL语句实现查询表名为“图书表”中的所有记录,应该使用的SELECT语句是:Select【8】。(9)Access的窗体或报表事件可以有两种方法来响应:宏对象和【9】。(10)子过程Test显示一个如下所示4×4的乘法表。1*1=11*2=21*3=31*4=42*2=42*3=62*4=83*3=93*4=124*4=16请在空白处填入适当的语句使子过程完成指定的功能。SubText()Dimi,jAsIntegerFori=1To4Forj=1To4If【10】ThenDebug.Printi&*&j&=&i*j&Space(2),EndIfNextjDebug.PrintNextiEndSub(11)有“数字时钟”窗体如下:在窗口中有按钮“[开/关]时钟”,单击按钮可以显示或隐藏时钟。其中按键的名称为“开关”,显示时间的文本框名称为“时钟”,计时器间隔已设置为500。请在空白处填入适当的语句,使程序可以完成指定功能。DimflagAsIntegerPrivateSubForm_Load()Flag=1EndSubPrivateSubForm_Timer()'“计时器触发”事件时钟=Time'在“时钟”文本框中显示当前时间EndSubPrivateSub开关_Click()'“开关”按钮的单击事件过程If【11】Then时钟.Visible=Falseflga=0Else时钟.Visible=Trueflag=1EndIfEndSub(12)窗体中有两个命令按钮:“显示”(控件名为cmdDisplay)和“测试”(控件名为cmdTest)。当单击“测试”按钮时,执行的事件功能是:首先弹出消息框,若单击其中的“确定”按钮,则隐藏窗体上的“显示”按钮;否则直接返回到窗体中。请在空白处填入适当的语句,使程序可以完成指定的功能。PrivateSubcmdTest_Click()Answer=【12】(隐藏按钮?,vbOKCancel+vbQuestion,Msg)IfAnswer=vbOKThenMe!cmdDisplay.Visible=【13】EndIfEndSub(13)对窗体test上文本框控件txtAge中输入的学生年龄数据进行验证。要求:该文本框中只接受大于等于15小于等于30的数值数据,若输入超出范围则给出提示信息。该文本控件的BeforeUpdate事件过程代码如下,请在空白处填入适当语句,使程序可以完成指定的功能。PrivateSubtxtAge_BeforeUpdate(CancelAsInteger)IfMe!txtAge=Or【14】(Me!txtAge)Then'数据为空时的验证MsgBox年龄不能为空!,vbCritical,警告Cancel=True'取消BeforeUpdate事件ElseIfIsNumeric(Me!txtAge)=FalseThen'非数值数据输入的验证MsgBox年龄必须输入数值数据!,vbCritical,警告Cancel=True'取消BeforeUpdate事件ElseIfMe!txtAge15OrMe!txtAge【15】Then'非法范围数据输入的验证MsgBox年龄为15-30范围数据!,vbCritical,警告Cancel=True'取消BeforeUpdate事件Else'数据验证通过MsgBox数据验证OK!,vbInformation,通告EndIfEndSub2009年3月参考答案:一、选择题:1-5:DACAC6-10:ABABB11-15:CACDC16-20:CDBBD21-25:BBAAD26-30:AADAD31-35:BBBCC二、填空题:1、202、白盒3、顺序结构4、DBMS(或数据库管理系统)5、菱形6、选择7、信息8、*from图书表9、事件过程10、i=j11、flag=112、MsgBox13、false14、ISNULL15、30