2008年9月全国计算机等级考试笔试试卷二级公共基础知识和Access数据库程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)(1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。A)12345ABCDEB)EDCBA54321C)ABCDE12345D)54321EDCBA(2)下列叙述中正确的是()。A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队的中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队的中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是(A)O(n)B)O(n2)C)O(log2n)D)O(nlog2n)(4)下列叙述中正确的是()。)。A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是(A)控制流C)模块调用)。B)事件驱动D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是()。A)N-S图C)PAD图B)DFD图D)程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是()。A)一致性C)多态性B)分类性D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。A)一对一C)多对一B)一对多D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是()。A)人工管理阶段C)数据库系统阶段(10)有三个关系R、S和T如下:B)文件系统阶段D)三个阶段相同RSTABBCABCm1n21335m13由关系R和S通过运算得到关系T,则所使用的运算为()。A)笛卡尔积C)并(11)Access数据库中,表的组成是(A)字段和记录C)记录和窗体)。B)交D)自然连接B)查询和字段D)报表和字段(12)若设置字段的输入掩码为“####-######”,该字段正确的输入数据是()。A)0755-123456B)0755-abcdefC)abcd-123456D)####-######(13)对数据表进行筛选操作,结果是()。A)只显示满足条件的记录,将不满足条件的记录从表中删除B)显示满足条件的记录,并将这些记录保存在一个新表中C)只显示满足条件的记录,不满足条件的记录被隐藏D)将满足条件的记录和不满足条件的记录分为两个表进行显示(14)在显示查询结果时,如果要将数据表中的“籍贯”字段名,显示为“出生地”,可在查询设计视图中改动()。A)排序C)条件B)字段D)显示(15)在Access的数据表中删除一条记录,被删除的记录()。A)可以恢复到原来设置C)被恢复为第一条记录B)被恢复为最后一条记录D)不能恢复(16)在Access中,参照完整性规则不包括()。A)更新规则C)删除规则(17)在数据库中,建立索引的主要作用是(A)节省存储空间C)便于管理B)查询规则D)插入规则)。B)提高查询速度D)防止数据丢失(18)假设有一组数据:工资为800元,职称为“讲师”,性别为“男”,在下列逻辑表达式中结果为“假”的是()。A)工资800AND职称=助教OR职称=讲师B)性别=女ORNOT职称=助教C)工资=800AND(职称=讲师OR性别=女)D)工资800AND(职称=讲师OR性别=男)(19)在建立查询时,若要筛选出图书编号是“T01”或“T02”的记录,可以在查询设计视图准则行中输入()。A)T01orT02C)in(T01andT02)B)T01andT02D)notin(T01andT02)(20)在Access数据库中使用向导创建查询,其数据可以来自()。A)多个表C)一个表的一部分B)一个表D)表或查询(21)创建参数查询时,在查询设计视图准则行中应将参数提示文本放置在()。A){}中C)[]中(22)在下列查询语句中,与B)()中D)中SELECTTABL*FROMTAB1WHEREInStr([简历],篮球)0功能相同的语句是()。A)SELECTTAB1.*FROMTAB1WHERETAB1.简历Like篮球B)SELECTTAB1.*FROMTAB1WHERETAB1.简历Like*篮球C)SELECTTAB1.*FROMTAB1WHERETAB1.简历Like*篮球*D)SELECTTAB1.*FROMTAB1WHERETAB1.简历Like篮球*(23)在Access数据库中创建一个新表,应该使用的SQL语句是(A)CreateTableB)CreateIndexC)AlterTableD)CreateDatabase(24)在窗体设计工具箱中,代表组合框的图标是()。A)B)C)D)(25)要改变窗体上文本框控件的输出内容,应设置的属性是()。A)标题B)查询条件C)控件来源D)记录源)。(26)在下图所示的窗体上,有一个标有“显示”字样的命令按钮(名称为Command1)和一个文本框(名称为text1)。当单击命令按钮时,将变量sum的值显示在文本框内,正确的代码是()。A)Me!Text1.Caption=sumB)Me!Text1.Valuc=sumC)Me!Text1.Text=sumD)Me!Text1.Visiblc=sum(27)Access报表对象的数据源可以是()。A)表、查询和窗体C)表、查询和SQL命令B)表和查询D)表、查询和报表(28)要限制宏命令的操作范围,可以在创建宏时定义()。A)宏操作对象C)窗体或报表控件属性(29)在VBA中,实现窗体打开操作的命令是A)DoCmd.OpenFormB)宏条件表达式D)宏操作目标()。B)OpenFormC)Do.OpenFormD)DoOpcn.Form(30)在Access中,如果变量定义在模块的过程内部,当过程代码执行时才可见,则这种变量的作用域为()。A)程序范围C)模块范围B)全局范围D)局部范围(31)表达式Fix(-3.25)和Fix(3.75)的结果分别是()。A)-3,3C)-3,4(32)在VBA中,错误的循环结构是(A)DoWhile条件式循环体LoopC)DoUntil循环体Loop条件式(33)在过程定义中有语句:)。B)-4,3D)-4,4B)DoUntil条件式循环体LoopD)Do循环体LoopWhile条件式PrivateSubGetData(ByValdataAsInteger)其中“ByVal”的含义是()。A)传值调用C)形式参数B)传址调用D)实际参数(34)在窗体中有一个命令按钮(名称为run34),对应的事件代码如下:PrivateSubrun34_Click()sum=0Fori=10To1Step-2sum=sum+iNextiMsgBoxsumEndSub运行以上事件,程序的输出结果是()。A)10B)30C)55D)其他结果(35)在窗体中有一个名称为run35的命令按钮,单击该按钮从键盘接收学生成绩,如果输入的成绩不在0到100分之间,则要求重新输入;如果输入的成绩正确,则进入后续程序处理。run35命令按钮的Click的事件代码如下:PrivateSubrun35_Click()DimflagAsBoolcanresult=0flag=TrueDoWhileflagresult=Val(InputBox(请输入学生成绩:,输入))Ifresult=0Andresult=100Then___________ElseMsgBox成绩输入错误,请重新输入EndIfLoopRem成绩输入正确后的程序代码略EndSub程序中有一空白处,需要填入一条语句使程序完成其功能。下列选项中错误的语句是()。A)flag=FalseB)flag=NotflagC)flag=True二、填空题(每空2分,共30分)D)ExitDo(1)对下列二叉树进行中序遍历的结果___________。ABCDXEYFZ(2)按照软件测试的一般步骤,集成测试应在___________测试之后进行。(3)软件工程三要素包括方法、工具和过程,其中,___________支持软件开发的各个环节的控制和管理。(4)数据库设计包括概念设计、___________和物理设计。(5)在二维表中,元组的___________不能再分成更小的数据项。(6)在关系数据库中,基本的关系运算有三种,它们是选择、投影和___________。(7)数据访问页有两种视图,它们是页视图和___________视图。(8)下图所示的流程控制结构称为___________。YA条件?NB(9)Access中用于执行指定的SQL语言的宏操作名是___________。(10)直接在属性窗口设置对象的属性,属于“静态”设置方法,在代码窗口中由VBA代码设置对象的属性叫做“___________”设置方法。(11)在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码:PrivateSubCommand1_Click()DimxAsInteger,yAsIntegerx=12:y=32Callp(x,y)MsgBoxx*yEndSubPublicSubp(nAsInteger,ByValmAsInteger)n=nMod10m=mMod10EndSub窗体打开运行后,单击命令按钮,则消息框的输出结果为___________。(12)已知数列的递推公式如下:f(n)=1当n=0,1时f(n)=f(n-1)+f(n-2)当n1时则按照递推公式可以得到数列:1,1,2,3,5,8,13,21,34,55,……。现要求从键盘输入n值,输出对应项的值。例如当输入n为8时,应该输出34。程序如下,请补充完整。PrivateSubrunl1_Click()f0=1f1=1num=Val(InputBox(请输入一个大于2的整数:))Forn=2To___________f2=___________f0=f1f1=f2NextnMsgBoxf2EndSub(13)现有用户登录界面如下:窗体中名为username的文本框用于输入用户名,名为pass的文本框用于输入用户的密码。用户输入用户名和密码后,单击“登录”名为login的按钮,系统查找名为“密码表”的数据表,如果密码表中有指定的用户名且密码正确,则系统根据用户的“权限”分别进入“管理员窗体”和“用户窗体”:如果用户名或密码输入错误,则给出相应的提示信息。密码表中的字段均为文本类型,数据如下图。密码表用户名密码权限Chcn1234ZhangWang56781234管理员单击“登录”按钮后相关的事件代码如下,请补充完整。PrivateSublogin_Click()DimstrAsStringDimrsAsNewADODB.RecordsetDimfdAsADODB.FieldSetcn=CurrentProject.Connectionlogname=Trim(Me!uscrname)pass=Trim(Mc!pass)IfLen(Nz(logname))=0ThenMsgBox请输入用户名ElseIfLen(Nz(pass))=0ThenMsgBox请输入密码Elsestr=select*from密码表where用户名='&logname&'and密码='&pass&'rs.Openstr,cn,adOpenDynamic,adLockOptimistic,adCmdTextIf___________ThenMsgBox没有这个用户名或密码输入错误,请重新输入Me.username=Mc.pass=ElseSet___________=rs.Fields(权限