1、全国计算机等级考试二级VFP笔试试题及答案2005年9月全国计算机等级考试二级VFP笔试试题及答案一、选择题(每小题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是A程序设计就是编制程序B程序的测试必须由程序员自己去完成C程序经调试改错后还应进行再测试D程序经调试改错后不必进行再测试(2)下列数据结构中,能用二分法进行查找的是A顺序存储的有序线性表B线性链表C二叉链表D有序线性链表(3)下列关于栈的描述正确的是A在栈中只能插入元素而不能删除元素B在栈中只能删除元素而不能插入元素C栈
2、是特殊的线性表,只能在一端插入或删除元素D栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(4)下列叙述中正确的是A一个逻辑数据结构只能有一种存储结构B数据的逻辑结构属于线性结构,存储结构属于非线性结构C一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(5)下列描述中正确的是A软件工程只是解决软件项目的管理问题B软件工程主要解决软件产品的生产率问题C软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D软件工程只是解决软件开发中的技术问题(6)在软件设计中,不属于过程设计工具的是APDL(
3、过程设计语言)BPAD图CN-S图DDFD图(7)下列叙述中正确的是A软件交付使用后还需要进行维护B软件一旦交付使用就不需要再进行维护C软件交付使用后其生命周期就结束D软件维护是指修复程序中被破坏的指令(8)数据库设计的根本目标是要解决A数据共享问题B数据安全问题C大量数据存储问题D简化数据维护(9)设有如下关系表:?RST?ABCABCABC?112313112?223223?313?则下列操作中正确的是ATRSBTRSCTRSDTR/S(10)数据库系统的核心是A数据模型B数据库管理系统C数据库D数据库管理员(11)VisualFoxPro是一种关系型数据库管理系统,这里关系通常是指A数据
4、库文件(dbc文件)B一个数据库中两个表之间有一定的关系C表文件(dbf文件)D一个表文件中两条记录之间有一定的关系(12)扩展名为mnx的文件是A备注文件B项目文件C表单文件D菜单文件(13)报表的数据源可以是A表或视图B表或查询C表、查询或视图D表或其他报表(14)如果添加到项目中的文件标识为“排除”,表示A此类文件不是应用程序的一部分B生成应用程序时不包括此类文件C生成应用程序时包括此类文件,用户可以修改D生成应用程序时包括此类文件,用户不能修改(15)“项目管理器”的“运行”按钮用于执行选定的文件,这些文件可以是A查询、视图或表单B表单、报表和标签C查询、表单或程序D以上文件都可以(1
5、6)允许出现重复字段值的索引是A侯选索引和主索引B普通索引和惟一索引C侯选索引和惟一索引D普通索引和侯选索引(17)以纯文本形式保存设计结果的设计器是A查询设计器B表单设计器C菜单设计器D以上三种都不是(18)以下关于视图的描述正确的是A视图保存在项目文件中B视图保存在数据库文件中C视图保存在表文件中D视图保存在视图文件中(19)下面有关表间永久联系和关联的描述中,正确的是A永久联系中的父表一定有索引,关联中的父表不需要有索引B无论是永久联系还是关联,子表一定有索引C永久联系中子表的记录指针会随父表的记录指针的移动而移动D关联中父表的记录指针会随子表的记录指针的移动而移动(20)下面关于类、对
6、象、属性和方法的叙述中,错误的是A类是对一类相似对象的描述,这些对象具有相同种类的属性和方法B属性用于描述对象的状态,方法用于表示对象的行为C基于同一个类产生的两个对象可以分别设置自己的属性值D通过执行不同对象的同名方法,其结果必然是相同的(21)在下面的VisualFoxPro表达式中,运算结果为逻辑真的是AEMPTY(.NULL.)BLIKE(xy?,xyz)CAT(xy,abcxyz)DISNULL(SPACE(0)(22)依次执行以下命令后的输出结果是?SETDATETOYMD?SETCENTURYON?SETCENTURYTO19ROLLOVER10?SETMARKTO.?CTOD(
7、49-05-01)A49.05.01B1949.05.01C2049.05.01D出错(23)假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“张三”(字符型,宽度为6)。在命令窗口输入并执行如下命令:?姓名=姓名-您好?姓名?那么主窗口中将显示A张三B张三您好C张三您好D出错(24)有一学生表文件,且通过表设计器已经为该表建立了若干普通索引。其中一个索引的索引表达式为姓名字段,索引名为XM。现假设学生表已经打开,且处于当前工作区中,那么可以将上述索引设置为当前索引的命令是ASETINDEXTO姓名BSETINDEXTOXMCSETORDERTO姓名DSETORDERTOXM(25)
8、当前打开的图书表中有字符型字段“图书号”,要求将图书号以字母A开头的图书记录全部打上删除标记,通常可以使用命令ADELETEFOR图书号=ABDELETEWHILE图书号=ACDELETEFOR图书号=A*DDELETEFOR图书号LIKEA%(26)在VisualFoxPro中,要运行查询文件query1.qpr,可以使用命令ADOquery1BDOquery1.qprCDOQUERYquery1DRUNquery1(27)下列程序段的输出结果是?ACCEPTTOA?IFA=123456?S=0?ENDIF?S=1?S?RETURNA0B1C由A的值决定D程序出错? (28)如果在命令窗口输
9、入并执行命令:“LIST名称”后在主窗口中显示:?记录号名称?1电视机?2计算机?3电话线?4电冰箱?5电线?假定名称字段为字符型、宽度为6,那么下面程序段的输出结果是?GO2?SCANNEXT4FORLEFT(名称,2)=电?IFRIGHT(名称,2)=线?LOOP?ENDIF?名称?ENDSCANA电话线B电冰箱C电冰箱电线D电视机电冰箱?第(29)(35)题使用如下三个表:职员.DBF:职员号C(3),姓名C(6),性别C(2),组号N(1),职务C(10)客户.DBF:客户号C(4),客户名C(36),地址C(36),所在城市C(36)订单.DBF:订单号C(4),客户号C(4),职员
10、号C(3),签订日期D,金额N(6.2)(29)查询金额最大的那10%订单的信息。正确的SQL语句是ASELECT*TOP10PERCENTFROM订单BSELECTTOP10%*FROM订单ORDERBY金额CSELECT*TOP10PERCENTFROM订单ORDERBY金额DSELECTTOP10PERCENT*FROM订单ORDERBY金额DESC(30)查询订单数在3个以上、订单的平均金额在200元以上的职员号。正确的SQL语句是ASELECT职员号FROM订单GROUPBY职员号HAVINGCOUNT(*)3ANDAVG_金额200BSELECT职员号FROM订单GROUPBY职员
11、号HAVINGCOUNT(*)3ANDAVG(金额)200CSELECT职员号FROM订单GROUPBY职员号HAVINGCOUNT(*)3WHEREAVG(金额)200DSELECT职员号FROM订单GROUPBY职员号WHERECOUNT(*)3ANDAVG_金额200(31)显示2005年1月1日后签订的订单,显示订单的订单号、客户名以及签订日期。正确的SQL语句是ASELECT订单号,客户名,签订日期FROM订单JOIN客户?ON订单.客户号=客户.客户号WHERE签订日期2005-1-1BSELECT订单号,客户名,签订日期FROM订单JOIN客户?WHERE订单.客户号=客户.客户
12、号AND签订日期2005-1-1CSELECT订单号,客户名,签订日期FROM订单,客户?WHERE订单.客户号=客户.客户号AND签订日期2005-1-1DSELECT订单号,客户名,签订日期FROM订单,客户?ON订单.客户号=客户.客户号AND签订日期2005-1-1(32)显示没有签订任何订单的职员信息(职员号和姓名),正确的SQL语句是ASELECT职员.职员号,姓名FROM职员JOIN订单?ON订单.职员号=职员.职员号GROUPBY职员.职员号HAVINGCOUNT(*)=0BSELECT职员.职员号,姓名FROM职员LEFTJOIN订单?ON订单.职员号=职员.职员号GROUP
13、BY职员.职员号HAVINGCOUNT(*)=0CSELECT职员号,姓名FROM职员?WHERE职员号NOTIN(SELECT职员号FROM订单)DSELECT职员.职员号,姓名FROM职员?WHERE职员.职员号(SELECT订单.职员号FROM订单)(33)有以下SQL语句:?SELECT订单号,签订日期,金额FROM订单,职员?WHERE订单.职员号=职员.职员号AND姓名=李二?与如上语句功能相同的SQL语句是ASELECT订单号,签订日期,金额FROM订单?WHEREEXISTS(SELECT*FROM职员WHERE姓名=李二)BSELECT订单号,签订日期,金额FROM订单WHE
14、RE?EXISTS(SELECT*FROM职员WHERE职员号=订单.职员号AND姓名=李二)CSELECT订单号,签订日期,金额FROM订单?WHEREIN(SELECT职员号FROM职员WHERE姓名=李二)DSELECT订单号,签订日期,金额FROM订单WHERE?IN(SELECT职员号FROM职员WHERE职员号=订单.职员号AND姓名=李二)(34)从订单表中删除客户号为“1001”的订单记录,正确的SQL语句是ADROPFROM订单WHERE客户号=1001BDROPFROM订单FOR客户号=1001CDELETEFROM订单WHERE客户号=1001DDELETEFROM订单F
15、OR客户号=1001(35)将订单号为“0060”的订单金额改为169元,正确的SQL语句是AUPDATE订单SET金额=169WHERE订单号=0060BUPDATE订单SET金额WITH169WHERE订单号=0060CUPDATEFROM订单SET金额=169WHERE订单号=0060DUPDATEFROM订单SET金额WITH169WHERE订单号=0060二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡()(15)序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。(1)数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最
16、高的阶段是()。(2)算法复杂度主要包括时间复杂度和()复杂度。(3)在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中()的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(4)一棵二叉树第六层(根结点为第一层)的结点数最多为()个。(5)数据结构分为逻辑结构和存储结构,循环队列属于()结构。(6)在VisualFoxPro中,数据库表中不允许有重复记录是通过指定()来实现的。(7)在VisualFoxPro中,数据库表S中的通用型字段的内容将存储在()文件中。(8)在VisualFoxPro中,可以使用()语句跳出SCANENDSC
17、AN循环体外执行ENDSCAN后面的语句。(9)在SQL的SELECT查询中使用()子句消除查询结果中的重复记录。(10)在VisualFoxPro中,如果要改变表单上表格对象中当前显示的列数,应设置表格的()属性值。(11)在VisualFoxPro中,使用SQL的SELECT语句将查询结果存储在一个临时表中,应该使用()子句。(12)在VisualFoxPro中,使用SQL的CREATETABLE语句建立数据库表时,使用()子句说明主索引。(13)在VisualFoxPro中,使用SQL的CREATETABLE语句建立数据库表时,使用()子句说明有效性规则(域完整性规则或字段取值范围)。(
18、14)在SQL的SELECT语句进行分组计算查询时,可以使用()子句来去掉不满足条件的分组。(15)设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,下面SQL的SELECT语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别。?SELECT学号,姓名,性别FROMs?WHERE()(SELECT*FROMscWHEREsc.学号=s.学号AND成绩85)2005年9月笔试试卷参考答案 ?一、选择题 ?1-5CACDC ?6-10DAABB ?11-15CDAAC ?16-20BABBD ?21-25BBADC ?26-30BBADC ?31-35ACBCA ?二、填空题 ?【1】数据库系统 ?【2】空间 ?【3】驱动模块 ?【4】32 ?【5】存储结构或物理结构 ?【6】主索引或候选索引 ?【7】FPT ?【8】EXIT ?【9】DISTINCT ?【10】COLUMNCOUNT ?【11】INTOCURSOR ?【12】primarykey ?【13】CHECK ?【14】HAVING ?【15】NOTEXIST