2011年3月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)(1)下列关于栈叙述正确的是()A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是()A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)()A)3B)4C)6D)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)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()A)-369B)369C)0.369D)整数集合{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单价=50WHERE供货商=ABCB)UPDATE产品SET单价=单价-50WHERE供货商=ABCC)UPDATEFROM产品SET单价=50WHERE供货商=ABCD)UPDATEFROM产品SET单价=单价-50WHERE供货商=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)RunAppB)RunCodeC)RunMacroD)RunCommand(23)下列表达式中,能正确表示条件“x和y都是奇数”的是()A)xMod2=0AndyMod2=0B)xMod2=0OryMod2=0C)xMod2=1AndyMod2=1D)xMod2=1OryMod2=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)SumB)Integer_2C)RemD)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语句“DimNewArray(10)asInteger”的含义是()A)定义10个整型数构成的数组NewArrayB)定义11个整型数构成的数组NewArrayC)定义1个值为整型数的变量NewArray(10)D)定义1个值为10的变量NewArray(31)运行下列程序段,结果是()Form=10to1step0k=k+3NextmA)形成死循环B)循环体不执行即结束循环C)出现语法错误D)循环体执行一次后结束循环(32)运行下列程序,结果是()PrivateSubCommand32_Click()f0=1:f1=1:k=1DoWhilek=5f=f0+f1f0=f1f1=fk=k+1LoopMsgBoxf=&fEndSubA)f=5B)f=7C)f=8D)f=13(33)有如下事件程序,运行该程序后输出结果是()PrivateSubCommand33_Click()DimxAsInteger,yAsIntegerx=1:y=0DoUntily=25y=y+x*xx=x+1LoopMsgBoxx=&x&,y=&yEndSubA)x=1,y=0B)x=4,y=25C)x=5,y=30D)输出其他结果(34)下列程序的功能是计算sum=1+(1+3)+(1+3+5)+……+(1+3+5+……+39)PrivateSubCommand34_Click()t=0m=1sum=0Dot=t+msum=sum+tm=______LoopWhilem=39MsgBoxSum=&sumEndSub为保证程序正确完成上述功能,空白处应填入的语句是()A)m+1B)m+2C)t+1D)t+2(35)下列程序的功能是返回当前窗体的记录集()SubGetRecNum()DimrsAsObjectSetrs=______MsgBoxrs.RecordCountEndSub为保证程序输出记录集(窗体记录源)的记录数,空白处应填入的语句是A)RecordsetB)Me.RecordsetC)RecordSourceD)Me.RecordSource二、填空题(每空2分,共30分)(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,Iamhere.弹出的窗体中的显示结果是【10】。PrivateSubCommand11_Click()DimabcAsString,sumAsstringsum=Doabc=InputBox(输入abc)IfRight(abc,1)=.ThenExitDosum=sum+abcLoopMsgBoxsumEndSub(11)运行下列程序,窗体中的显示结果是:x=【11】。OptionCompareDatabaseDimxAsIntegerPrivateSubForm_Load()x=3EndSubPrivateSubCommand11_Click()StaticaAsIntegerDimbAsIntegerb=x^2fun1x,bfun1x,bMsgBoxx=&xEndSubSubfun1(ByRefyAsInteger,ByValzAsInteger)y=y+zz=y-zEndSub(12)“秒表”窗体中有两个按钮(“开始/停止”按钮bOK,“暂停/继续”按钮bPus);一个显示计时的标签1Num;窗体的“计时器间隔”设为100计时精度为0.1秒。要求:打开窗体如图1所示;第一次单击“开始婷止”按钮,从0开始滚动显示计时(见图2);10秒时单击“暂停/继续”按钮,显示暂停(见图3),但计时还在继续;若20秒后再次单击“暂停/继续”按钮,计时会从30秒开始继续滚动显示;第二次单击“开始/停止”按钮,计时停止,显示最终时间(见图4)。若再次单击“开始/停止”按钮可重新从0开始计时。相关的事件程序如下。请在空白处填入适当的语句,使程序可以完成指定的功能。OptionCompareDatabaseDimflag,pauseAsBooleanPrivateSubbOKClick()flag=【12】Me!bOK.Enabled=TrueMe!bPus.Enabled=flagEndSubPrivateSubbPus_Click()pause=NotpauseMe!bOK.Enabled=NotMe!bOK.EnabledEndSubPrivateSubFormOpen(CancelAsInteger)flag=Falsepause=FalseMe!bOK.Enabled=TrueMe!bPus.Enabled=FalseEndSubPrivateSubFormTimer()StaticcountAsSingleIfflag=TrueThenIfpause=FalseThenMe!1Num.Caption=Round(count,1)EndIfcount=【13】Elsecount=0EndIfEndSub(13)数据库中有“学生成绩表”,包括“姓名”、“平时成绩”、“考试成绩”和“期末总评”等字段。现要根据“平时成绩”和“考试成绩”对学生进行“