1、二级 VISUAL+FOXPRO笔试-351 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:31,分数:70.00)1.在 Visual FoxPro中,下列关于视图的描述不正确的是( )。(分数:2.00)A.通过视图可以对表进行查询B.通过视图可以对表进行更新C.视图就是一个虚表D.视图就是一个数据库表2.下列有关数据库表和自由表的叙述中,错误的是( )。(分数:2.00)A.数据库表和自由表都可以用表设计器来建立B.数据库表和自由表都支持表间联系和参照完整性C.自由表可以添加到数据库中成为数据库表D.数据库表可以从数据库中移出成为自由表3.下列叙述中正确的是(
2、 )。(分数:2.00)A.在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D.在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法4.有下列二叉树,对此二叉树中序遍历的结果为( )。(分数:2.00)A.BDYEACFXZB.DYBEAFCZXC.ABCDEFXYZD.ABDYECFXZ5.下列工具中为需求分析常用工具的是( )。(分数:2.00)A.PADB.PFDC.N-SD.DFD6.下列特征中不是面向对象方法的主要特征的是
3、( )。(分数:2.00)A.多态性B.继承C.封装性D.模块化7.在当前目录下有数据表文件“XS.dbf”,执行如下 SQL语句后( )。SELECT*FROM XS INTO CURSOR XS ORDER BY 学号(分数:2.00)A.生成一个按“学号”升序的临时表文件,将原来的 XS.dbf文件覆盖B.生成一个按“学号”降序的临时表文件,将原来的 XS.dbf文件覆盖C.不会生成新的排序文件,保持原数据表内容不变D.系统提示出错信息8.下列关于 SQL的超连接查询的描述中,说法不正确的是( )。(分数:2.00)A.Visual FoxPro支持超连接运算符“*=”和“=*”B.在
4、SQL中可以进行内部连接、左连接、右连接和全连接C.SQL的超连接运算符“*=”代表左连接,“=*”代表右连接D.即使两个表中的记录不满足连接条件,都会在目标表或查询结果中出现,只是不满足条件的记录对应部分为空值9.作为整个应用程序入口点的主程序至少应具有下列功能( )。(分数:2.00)A.初始化环境B.初始化环境、显示初始用户界面C.初始化环境、显示初始用户界面、控制事件循环D.初始化环境、显示初始用户界面、控制事件循环、退出时恢复环境10.设 MY.DBF数据库中共有 10条记录,执行如下命令:USE MYGOTO 2DISPLAY ALL?RECNO()执行最后一条命令后,屏幕显示的值
5、是( )。(分数:2.00)A.2B.3C.10D.1111.如果运行一个表单,下列事件中首先被触发的是( )。(分数:2.00)A.InitB.LoadC.ClickD.Error12.ROUND(6.165,2)的函数值是( )。(分数:2.00)A.6.16B.6.17C.6.20D.6.16013.下列叙述中错误的是( )。(分数:2.00)A.线性表是由 n个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件D.线性表可以是空表14.修改表单 MyForm的正确命令是( )。(分数:2.00)A.MODIFY COMMAND MyFormB.MO
6、DIFY FORM MyFormC.DO MyFormD.EDIT MyForm15.下列常量中格式正确的是( )。(分数:2.00)A.$1.23E4B.“ “计算机“等级考试“CFalse.D.2003/01/1316.对长度为 n的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。(分数:2.00)A.125B.n/2C.nD.n+117.设计软件结构是在软件生命周期的( )。(分数:2.00)A.软件定义期B.软件开发期C.软件维护期D.以上 3个都不是18.在 Visual FoxPro中进行参照完整性设置时,要想设置成:当更改父表中的主关键字段或候选关键字段时,自动更改所有相
7、关子表记录中的对应值,应选择( )。(分数:2.00)A.限制(Restricf)B.忽略(Ignore)C.级联(Cascade)D.级联(Cascade)或限制(Restrict)19.下列不属于软件工程 3个要素的是( )。(分数:2.00)A.工具B.过程C.方法D.环境20.标准的 SQL基本查询语句的格式是( )。(分数:2.00)A.SELECT.FROM.WHEREB.SELECT.WHERE.FROMC.SELECT.WHERE.GROUP BYD.SELECT.FROM.ORDER BY(31)到(35)题使用如下数据表。“学生”表:学号 C(8),姓名 C(8),性别 C
8、(2),系名(10),出生日期 D“课程”表:课程编号 C(4),课程名称 C(12),开课系名 C(10)“成绩”表:学号 C(8),课程编号 C(4),成绩 I(分数:10.00)(1).检索每门课程的总分,查询结果中包括课程名和总分,正确的语句是( )。(分数:2.00)A.SELECT课程名称,COUNT(成绩)AS 总分 FROM课程,成绩;WHERE课程.课程编号=成绩.课程编号;ORDER BY成绩.课程编号B.SELECT课程名称,COUNT(成绩)AS 总分 FROM课程,成绩;WHERE课程.课程编号=成绩.课程编号;GROUP BY成绩.课程编号C.SELECT课程名称,
9、SUM(成绩)AS 总分 FROM课程,成绩;WHERE课程.课程编号=成绩.课程编号;ORDERBY成绩.课程编号D.SELECT课程名称,SUM(成绩)AS 总分 FROM课程,成绩;WHERE课程.课程编号=成绩.课程编号;GROUP BY成绩.课程编号(2).若有如下 SQL查询语句:SELECT课程名称,开课系名,COUNT(学号)AS 选修人数;FROM成绩,课程;WHERE课程.课程编号=成绩.课程编号;GROUP BY课程名称;HAVING COUNT(*)3上述语句所表示的含义是( )。(分数:2.00)A.检索开课在 3门以上的开课系名、课程名称和选修人数B.检索选修了 3
10、门课程以上的学生记录,显示结果包括课程名称、开课系名和选修人数C.检索每门课程中,有 3人以上选修该课程的记录,显示结果包括课程名称、开课系名和选修人数D.检索选修人数最多的 3门课程的记录,显示结果包括课程名称、开课系名和选修人数(3).为“成绩”表中的“成绩”字段定义有效性检查及错误信息的提示,要求当成绩大于 100分时,提示“成绩不能超过 100分”的信息,正确的语句是( )。(分数:2.00)A.ALTER TABLE成绩 ALTER成绩;FOR CHECK成绩=100 ERROR“成绩不能超过 100分“B.ALTER TABLE成绩 ALTER成绩;(WHERE CHECK成绩=1
11、00 ERROR“成绩不能超过 100分“)C.ALTER TABLE成绩 ALTER成绩;SET CHECK成绩=100ERROR“成绩不能超过 100分“D.ALTER TABLE成绩 ALTER成绩;(SET CHECK成绩=100 ERROR“成绩不能超过 100分“)(4).利用 SQL派生一个包含“课程名称”、“姓名”和“成绩”的视图,要求按“课程名称”升序排序,正确的语句是( )。(分数:2.00)A.CREATE VIEW view1 AS;(SELECT课程.课程名称,学生.姓名,成绩.成绩;FROM课程 INNER JOIN成绩;INNER JOIN学生:ON成绩.学号=学
12、生.学号;ON课程.课程编号=成绩.课程编号;GROUP BY课程名称)B.CREATE VIEW view1 AS;(SELECT课程.课程名称,学生.姓名,成绩.成绩;FROM课程 INNER JOIN成绩;INNER JOIN学生:ON成绩.学号=学生.学号;ON课程.课程编号=成绩.课程编号;ORDER BY课程名称)C.CREATE VIEW view1 AS;SELECT课程.课程名称,学生.姓名,成绩.成绩;FROM课程 INNER JOIN成绩;INNER JOIN学生:ON成绩.学号=学生.学号;ON课程.课程编号=成绩.课程编号;GROUP BY课程名称D.CREATE V
13、IEW view1 AS;SELECT课程.课程名称,学生.姓名,成绩.成绩;FROM课程 INNER JOIN成绩;INNER JOIN学生;ON成绩.学号=学生.学号;ON课程.课程编号=成绩.课程编号;ORDER BY课程名称(5).向“成绩”表末尾插入一条“学号”为“08102002”,“课程编号”为“4001”,“成绩”为“86”的新记录,正确的语句是( )。(分数:2.00)A.INSERT INTO成绩 VALUES(08102002,4001,86)B.INSERT INTO成绩 VALUES(“08102002“,“4001“,86)C.INSERT FOR成绩 VALUES
14、(08102002,4001,“86“)D.INSERT FOR成绩 VALUES(“08102002“,“4001“,86)21.在“表单控件”工具栏中,下列哪个控件可以用来保存不希望用户改动的文本( )。(分数:2.00)A.标签B.文本框C.命令按钮D.列表框22.在 Visual FoxPro中,用来指明复选框的当前状态的属性是( )。(分数:2.00)A.ValueB.CaptionC.StatusD.ControlSource23.在 Visual FoxPro中,有如下程序:*程序名:TEST.PRG*调用方法:DO TESTSET TALK OFFPRIVATE X,YX=“V
15、isual FoxPro“Y=“二级“DO SUB WITH X?Y+XRETURN*子程序:SUBPROCEDURE SUBPARAMETERS X1LOCAL XX=“Visual FoxPro DBMS考试“Y=“计算机等级“+YRETURN执行命令 DO TEST后,屏幕显示的结果为( )。(分数:2.00)A.二级 Visual FoxProB.计算机等级二级 Visual FoxPro考试C.二级 Visual FoxPro考试D.计算机等级二级 Visual FoxPro24.下列叙述中错误的是( )。(分数:2.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与
16、数据的处理效率无关C.数据的存储结构与数据的处理效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的25.利用命令方式新建一个名为 SDB的数据库,下列语句中正确的是( )。(分数:2.00)A.OPEND ATABASE SDBB.CREATE DATABASE SDBC.USE DATABASE SDBD.CREATE SDB26.下列关于索引的叙述,不正确的是( )。(分数:2.00)A.Visual FoxPro支持单一索引文件和复合索引文件B.索引的类型有主索引、候选索引、唯一索引和普通索引C.结构复合索引文件不随库文件的关闭而关闭D.打开和关闭索引文件均使用 SET I
17、NDEX TO命令27.若有如下程序:SET TALK OFFINPUT TO XFOR i=1 TO 3INPUT TO YIF YXX=YENDIFENDFOR?XRETURN本程序的功能是( )。(分数:2.00)A.求 3个数中的最大值B.求 4个数中的最大值C.求 3个数中的最小值D.求 4个数中的最小值28.在项目管理器中,选择一个文件并单击“移去”按钮,在弹出的对话框中单击“删除”按钮后,该文件将( )。(分数:2.00)A.仅仅从该项目中移走B.从项目中移走,并从磁盘上删除该文件C.保留在项目中,但删除磁盘上的文件D.从项目中移走,但可添加到另一个项目中29.下列关于栈的描述中
18、错误的是( )。(分数:2.00)A.栈是先进先出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针30.在 Visual FoxPro中,嵌套查询是基于( )的查询。(分数:2.00)A.2个关系B.3个关系C.多个关系D.2个或 3个关系二、填空题(总题数:15,分数:30.00)31.算法的复杂度主要包括时间复杂度和 1 复杂度。(分数:2.00)填空项 1:_32.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于 1。(分数:2.00)填空项 1:_33.树中度为零的结点称为 1。(分数:2.00)填空项 1:_34.在面向对象方法中,
19、类之间共享属性和方法的机制称为 1。(分数:2.00)填空项 1:_35.软件是程序、数据和 1 的集合。(分数:2.00)填空项 1:_36.在关系数据模型中,二维表的列称为属性,二维表的行称为 1。(分数:2.00)填空项 1:_37.将成绩表中总分字段的默认值设置为 0,这属于定义数据 1 完整性。(分数:2.00)填空项 1:_38.建立一个视图 SCORE的语句是:_VIEW AS SELECT*FROM T-SCORE。(分数:2.00)填空项 1:_39.将控件的 1 属性为假(.F.)后,可在表单中隐藏该控件。(分数:2.00)填空项 1:_40.建立远程视图必须首先建立与远程
20、数据库的 1。(分数:2.00)填空项 1:_41.BETWEEN(40,30,48) 的运算结果是_。(分数:2.00)填空项 1:_42.嵌套查询命令中的 1,相当于集合运算符号。(分数:2.00)填空项 1:_43.在 SQL分组与计算查询中,利用_短语可以对分组条件进一步加以限定。(分数:2.00)填空项 1:_44.删除学生表的候选索引 XUESH INDEX的 SQL语句为:ALTERTABLE学生表_TAG XUESH INDEX(分数:2.00)填空项 1:_45.检索学生成绩表中,总分在 600分以上的学生记录,将结果保存到临时文件 SCORE中,SQL 语句为:SELECT
21、*FROM学生成绩表 WHERE总分=600_SCORE(分数:2.00)填空项 1:_二级 VISUAL+FOXPRO笔试-351 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:31,分数:70.00)1.在 Visual FoxPro中,下列关于视图的描述不正确的是( )。(分数:2.00)A.通过视图可以对表进行查询B.通过视图可以对表进行更新C.视图就是一个虚表D.视图就是一个数据库表 解析:解析 视图是根据基本表派生出来的,所以把它叫做虚拟表。在视图中,不但可以进行查询,而且在 Visual FoxPro中,视图是可以更新的,但是这种更新是否反映在基本表中则
22、取决于视图更新属性的设置。在关系数据库中,视图始终不曾真正地含有数据,它总是原来表的一个窗口。所以,虽然视图可以像表一样进行各种查询,但是插入、更新、删除操作在视图上却有一定的限制。一般情况下,当一个视图是由单个表导出时可以进行插入和更新操作,但不能进行删除操作:当视图是从多个表导出时,插入、更新和删除操作都不允许进行。2.下列有关数据库表和自由表的叙述中,错误的是( )。(分数:2.00)A.数据库表和自由表都可以用表设计器来建立B.数据库表和自由表都支持表间联系和参照完整性 C.自由表可以添加到数据库中成为数据库表D.数据库表可以从数据库中移出成为自由表解析:解析 自由表不能建立字段级规则
23、和约束等。事实上,数据库表与自由表相比,数据库表具有下列特点。数据库表可以使用长表名,在表中可以使用长字段名。可以为数据库表中的字段指定标题和添加注释。可以为数据库表的字段指定默认值和输入掩码。数据库表的字段有默认的控件类。可以为数据库表规定字段级规则和记录级规则;数据库表支持主关键字、参照完整性和表之间的关联。支持 INSERT、UPDATE 和 DELETE事件的触发器。3.下列叙述中正确的是( )。(分数:2.00)A.在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节C.在模块化程序设计中,一个模块内部的
24、控制结构也要符合结构化原则 D.在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法解析:解析 在模块化程序设计中,模块之间的联系可以通过程序的控制结构来实现,在自顶向下、逐步细化的设计过程中,首先要考虑全局目标,而不是细节。在程序设计中模块化和结构化可以同时使用,一个模块的内部结构也要符合结构化设计原则。4.有下列二叉树,对此二叉树中序遍历的结果为( )。(分数:2.00)A.BDYEACFXZB.DYBEAFCZX C.ABCDEFXYZD.ABDYECFXZ解析:解析 对二叉树的中序遍历是指:首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,依旧按照“左
25、子树-根结点-右子树”的顺序。本题的遍历顺序是这样的:首先访问左子树:BDEY;在左子树 BDEY中,也按中序遍历,先访问左子树 DY;在左子树 DY中,也按中序遍历,先访问左子树,左子树没有,则访问根结点 D,然后访问右子树 Y;接着访问根 B,再访问右子树 E:访问左子树 BDEY后,接着访问根结点 A,然后访问右子树 CFXZ;同理可得右子树 CFXZ的访问顺序为FCZX。5.下列工具中为需求分析常用工具的是( )。(分数:2.00)A.PADB.PFDC.N-SD.DFD 解析:解析 需求分析常用的工具有数据流图(DFD)、数据字典(DD)、判定树和判定表。PAD(问题分析图)、PFD
26、(程序流程图)、N-S(盒式图)都是详细设计的常用工具,不是需求分析的工具。6.下列特征中不是面向对象方法的主要特征的是( )。(分数:2.00)A.多态性B.继承C.封装性D.模块化 解析:解析 面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:分类性、封装性、模块独立性、继承和多态性等。模块化是结构化程序设计的特点。7.在当前目录下有数据表文件“XS.dbf”,执行如下 SQL语句后( )。SELECT*FROM XS INTO CURSOR XS ORDER BY 学号(分数:2.00)A.生成一个按“学号”升序
27、的临时表文件,将原来的 XS.dbf文件覆盖B.生成一个按“学号”降序的临时表文件,将原来的 XS.dbf文件覆盖C.不会生成新的排序文件,保持原数据表内容不变D.系统提示出错信息 解析:解析 在 SQL语句中,查询结果不管是输入到临时表或永久性表中,用于存放查询输出的新表表名不能与原表表名相同,否则提示出错信息。8.下列关于 SQL的超连接查询的描述中,说法不正确的是( )。(分数:2.00)A.Visual FoxPro支持超连接运算符“*=”和“=*” B.在 SQL中可以进行内部连接、左连接、右连接和全连接C.SQL的超连接运算符“*=”代表左连接,“=*”代表右连接D.即使两个表中的
28、记录不满足连接条件,都会在目标表或查询结果中出现,只是不满足条件的记录对应部分为空值解析:解析 在普通连接即内部连接中是把符合条件的记录包含到运算结果中,除此之外,还可以把不符合条件记录的部分属性也包含到运算结果中,这样的连接称为超连接。在一般的 SQL中,超连接包括左连接“*=”和右连接“=*”。左连接:在结果表中包含第 1个表中满足条件的所有记录;如果有在连接条件上匹配的元组,则第 2个表返回相应值,否则第 2个表返回空值。右连接:在结果表中包含第 2个表中满足条件的所有记录;如果有在连接条件上匹配的元组,则第 1个表返回相应值,否则第 1个表返回空值。完全连接:先按左连接进行运算,再按右
29、连接进行运算。对于元组中不符合连接条件的属性返回空值。Visual FoxPro不支持超连接运算符,但是有专门的连接运算语法格式。9.作为整个应用程序入口点的主程序至少应具有下列功能( )。(分数:2.00)A.初始化环境B.初始化环境、显示初始用户界面C.初始化环境、显示初始用户界面、控制事件循环D.初始化环境、显示初始用户界面、控制事件循环、退出时恢复环境 解析:解析 主程序是整个应用程序的入口点,主程序的任务包括设置应用程序的起始点;初始化环境:显示初始的用户界面;控制事件循环;当退出应用程序时,恢复原始的开始环境。10.设 MY.DBF数据库中共有 10条记录,执行如下命令:USE M
30、YGOTO 2DISPLAY ALL?RECNO()执行最后一条命令后,屏幕显示的值是( )。(分数:2.00)A.2B.3C.10D.11 解析:解析 GOTO 和 GO命令是等价的,命令格式为:GO nRecordNumber|TOP|BOTTOM其中,nRecordNumber 是记录号,即直接按记录号定位;TOP 是表头,当不使用索引时是记录号为 1的记录,使用索引时是索引项排在最前面的索引对应的记录:BOTTOM 是表尾,当不使用索引时是记录号最大的那条记录,使用索引时是索引项排在最后面的索引刘应的记录。题意中的 GOTO2表示指针指向第 2条记录。DISPLAY ALL是显示全部记
31、录,此时指针指向了最后一条记录。RECNO()函数的功能是返回当前表文件或指定表文件中当前记录的记录号。如果指定工作区上没有打开表文件,函数值为 0。如果记录指针指向文件尾,函数值为表文件中的记录数加 1。如果记录指针指向文件首,函数值为表文件中第一条记录的记录号。由于执行 DISPLAY ALL命令时,指针指向了文件尾,所以 RECNO()的函数值为表文件中的记录数加1,即 11。11.如果运行一个表单,下列事件中首先被触发的是( )。(分数:2.00)A.InitB.Load C.ClickD.Error解析:解析 Load 事件是在表单对象建立之前引发的,即运行表单时,先引发表单的 Lo
32、ad事件,再引发表单的 Init事件。Init 事件是在对象建立时引发的,在表单对象的 Init事件引发之前,将先引发它所包含的控件对象的 Init事件,所以在表单对象的 Init事件代码中能够访问它所包含的所有控件对象。Error事件为表单中方法程序发生错误时引发的事件。Click 事件为鼠标单击时触发的事件。12.ROUND(6.165,2)的函数值是( )。(分数:2.00)A.6.16B.6.17 C.6.20D.6.160解析:解析 ROUND 函数是四舍五入函数,它的格式是:ROUND(数值表达式 1,数值表达式 1),功能是返回指定表达式在指定位置四舍五入后的结果。数值表达式 2
33、指明四舍五入位置。若数值表达式 2大于等于 0,那么它表示的是要保留的小数位数:若数值表达式 2,小于 0,那么它表示的是整数部分的舍入位数。在题干中,数值表达式 2为 2,大于 0,那么它表示的是要保留的小数位数为 2,所以函数值为 6.17。13.下列叙述中错误的是( )。(分数:2.00)A.线性表是由 n个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件 D.线性表可以是空表解析:解析 线性表是一种线性结构,由 n(n0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所
34、以选项 C)是错误的。14.修改表单 MyForm的正确命令是( )。(分数:2.00)A.MODIFY COMMAND MyFormB.MODIFY FORM MyForm C.DO MyFormD.EDIT MyForm解析:解析 一个表单无论是通过何种途径创建的,都可以使用表单设计器进行编辑修改。要修改项目中一个表单,可按下列方法打开表单文件并进入表单设计器环境。在“项目管理器”窗口中,选择“文档”选项卡。如果表单类文件没有展开,单击“表单”图标左边的加号。选择需要修改的表单文件,然后单击“修改”按钮。如果一个表单不属于任何项目,可以使用下列方法打开:单击“文件”菜单中的“打开”命令,然
35、后在“打开”对话框中选择需要修改的表单文件;或者在命令窗 U中输入命令 MODIFY FORM表单文件名。在这里,如果命令中指定的表单文件不存在,系统将启动表单设计器创建一个新表单。15.下列常量中格式正确的是( )。(分数:2.00)A.$1.23E4B.“ “计算机“等级考试“CFalse.D.2003/01/13 解析:解析 货币型常量用来表示货币值,其书写格式与数值型常量类似,但要加一个前置的美元符号($),货币型常量没有科学记数法形式,所以选项 A)是错误的。字符型常量也称为字符串,其表示方法是用半角单引号、双引号或方括号把字符串起来。这里的单引号、双引号或方括号称为定界符。字符常量
36、的定界符必须成对匹配,不能一边用单引号而另一边用双引号。如果某种定界符本身也是字符串内容,则需要用另一种定界符为该字符串定界。所以选项 B) 是错误的。逻辑型数据只有逻辑真和逻辑假两个值。逻辑真的常量表示形式有:.T.、.t.、.Y.和.y.,逻辑假的常量表示形式有.F.、.f.、.N.和.n.,所以选项C)是错误的。16.对长度为 n的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。(分数:2.00)A.125B.n/2C.n D.n+1解析:解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏情
37、况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。17.设计软件结构是在软件生命周期的( )。(分数:2.00)A.软件定义期B.软件开发期 C.软件维护期D.以上 3个都不是解析:解析 设计软件结构,是在软件概要设计阶段进行的,而概要设计属于软件开发期。18.在 Visual FoxPro中进行参照完整性设置时,要想设置成:当更改父表中的主关键字段或候选关键字段时,自动更改所有相关子表记录中的对应值,应选择( )。(分数:2.00)A.限制(Restricf)B.忽略(Ignore)C.级联(Cascade) D.级联(C
38、ascade)或限制(Restrict)解析:解析 参照完整性与表之间的关联有关,它的大概含义是:当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。更新规则规定了当在父表中的主关键字段或候选关键字段更改时,是否进行参照完整性检查。如果选择“级联”,用新的连接字段自动修改子表中的相关所有记录。如果选择“限制”,若子表中有相关记录,则禁止修改父表中的连接字段值。如果选择“忽略”,不做参照完整性检查,可以随意更新父表中的连接字段值。19.下列不属于软件工程 3个要素的是( )。(分数:2.00)A.工具B.过程C.方法D.环境 解析:解析 软件
39、工程包括 3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理和文档生成:过程支持软件开发的各个环节的控制、管理。20.标准的 SQL基本查询语句的格式是( )。(分数:2.00)A.SELECT.FROM.WHERE B.SELECT.WHERE.FROMC.SELECT.WHERE.GROUP BYD.SELECT.FROM.ORDER BY解析:解析 SELECT 查询语句可带很多功能不同的短语,最基本的格式通常为:SELECT字段名列表FROM表名WHERE查询条件其中,SELECT 用于选择查询结果要显示的目标列表;FROM 用于列出查询要用到的所
40、有表文件;WHERE 则用于指定查询结果的筛选条件。(31)到(35)题使用如下数据表。“学生”表:学号 C(8),姓名 C(8),性别 C(2),系名(10),出生日期 D“课程”表:课程编号 C(4),课程名称 C(12),开课系名 C(10)“成绩”表:学号 C(8),课程编号 C(4),成绩 I(分数:10.00)(1).检索每门课程的总分,查询结果中包括课程名和总分,正确的语句是( )。(分数:2.00)A.SELECT课程名称,COUNT(成绩)AS 总分 FROM课程,成绩;WHERE课程.课程编号=成绩.课程编号;ORDER BY成绩.课程编号B.SELECT课程名称,COUN
41、T(成绩)AS 总分 FROM课程,成绩;WHERE课程.课程编号=成绩.课程编号;GROUP BY成绩.课程编号C.SELECT课程名称,SUM(成绩)AS 总分 FROM课程,成绩;WHERE课程.课程编号=成绩.课程编号;ORDERBY成绩.课程编号D.SELECT课程名称,SUM(成绩)AS 总分 FROM课程,成绩;WHERE课程.课程编号=成绩.课程编号;GROUP BY成绩.课程编号 解析:解析 进行 SQL简单计算查询时,还可以加上 GROUP BY子句进行分组计算查询。通常来说,一个计算函数的范围是满足 WHERE子句指定条件的所有记录。当加上 GROUP BY子句后,系统会
42、将查询结果按指定列分成集合组。当一个计算函数和一个 GROUP BY子句一起使用时,计算函数的范围变为每组所有的记录。本题通过“GROUP BY 成绩.课程编号”可以先将记录按“课程编号”分组,然后再通过函数“SUM(成绩)AS总分”对每组记录求和。其中,通过 AS短语可以对进行计算的字段指定一个新的字段名。另外,COUNT()函数是记数函数,ORDER BY 是对查询结果进行排序的短语。(2).若有如下 SQL查询语句:SELECT课程名称,开课系名,COUNT(学号)AS 选修人数;FROM成绩,课程;WHERE课程.课程编号=成绩.课程编号;GROUP BY课程名称;HAVING COU
43、NT(*)3上述语句所表示的含义是( )。(分数:2.00)A.检索开课在 3门以上的开课系名、课程名称和选修人数B.检索选修了 3门课程以上的学生记录,显示结果包括课程名称、开课系名和选修人数C.检索每门课程中,有 3人以上选修该课程的记录,显示结果包括课程名称、开课系名和选修人数 D.检索选修人数最多的 3门课程的记录,显示结果包括课程名称、开课系名和选修人数解析:解析 在分组与计算查询语句中,使用 HAVING子句可以对分组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中。当 WHERE子句、GROUP BY 子句和 HAVING子句同时出现的时候,首先执行 W
44、HERE子句,从表中选择符合条件的行:然后由 GROUP BY子句对选取的行进行分组;再执行计算函数;最后执行 HAVING子句选取满足条件的分组。本题中,WHERE 子句中指定的是两表连接的条件:接着通过 GROUP BY子句指明按“课程名称”对记录分组;然后执行函数 COUNT()统计分组后,可以确定每门课程中共有多少名学生选修了该课程;最后通过 HAVING子句进一步限定输出选修课程人数在三人以上的课程信息。(3).为“成绩”表中的“成绩”字段定义有效性检查及错误信息的提示,要求当成绩大于 100分时,提示“成绩不能超过 100分”的信息,正确的语句是( )。(分数:2.00)A.ALT
45、ER TABLE成绩 ALTER成绩;FOR CHECK成绩=100 ERROR“成绩不能超过 100分“B.ALTER TABLE成绩 ALTER成绩;(WHERE CHECK成绩=100 ERROR“成绩不能超过 100分“)C.ALTER TABLE成绩 ALTER成绩;SET CHECK成绩=100ERROR“成绩不能超过 100分“ D.ALTER TABLE成绩 ALTER成绩;(SET CHECK成绩=100 ERROR“成绩不能超过 100分“)解析:解析 利用 SQL命令可以对基本表的结构进行修改,利用下列命令可以修改表结构、定义有效性规则:ALTER TABLE表名ALTE
46、RCOLUMN字段名 1NULL|NOT NULLSET DEFAULT表达式SET CHECK逻辑表达式ERROR字符型文本信息|RENAME COLUMN字段名 2TO字段名 3其中,SETCHECK逻辑表达式ERROR字符型文本信息可以用来重新设置指定字段的合法值和错误信息提示。(4).利用 SQL派生一个包含“课程名称”、“姓名”和“成绩”的视图,要求按“课程名称”升序排序,正确的语句是( )。(分数:2.00)A.CREATE VIEW view1 AS;(SELECT课程.课程名称,学生.姓名,成绩.成绩;FROM课程 INNER JOIN成绩;INNER JOIN学生:ON成绩.
47、学号=学生.学号;ON课程.课程编号=成绩.课程编号;GROUP BY课程名称)B.CREATE VIEW view1 AS;(SELECT课程.课程名称,学生.姓名,成绩.成绩;FROM课程 INNER JOIN成绩;INNER JOIN学生:ON成绩.学号=学生.学号;ON课程.课程编号=成绩.课程编号;ORDER BY课程名称)C.CREATE VIEW view1 AS;SELECT课程.课程名称,学生.姓名,成绩.成绩;FROM课程 INNER JOIN成绩;INNER JOIN学生:ON成绩.学号=学生.学号;ON课程.课程编号=成绩.课程编号;GROUP BY课程名称D.CREA
48、TE VIEW view1 AS;SELECT课程.课程名称,学生.姓名,成绩.成绩;FROM课程 INNER JOIN成绩;INNER JOIN学生;ON成绩.学号=学生.学号;ON课程.课程编号=成绩.课程编号;ORDER BY课程名称 解析:解析 利用 SQL命令可以定义直接建立视图,命令格式如下:CREATE VIEW视图名 AS;SELECT语句注意:在定义视图时,SELECT 语句部分不需要用括号括起来,用来排序的 SQL短语是 ORDER BY,而GROUP BY短语的功能是对记录进行分组。(5).向“成绩”表末尾插入一条“学号”为“08102002”,“课程编号”为“4001”,“成绩”为“86”的新记录,正确的语句是( )。(分数:2.00)A.INSERT INTO成绩 VALUES(08102002,4001,86)B.INSERT INTO成绩 VALUES(“08102002“,“4001“,86) C.INSERT FOR成绩 VALUES(08102002,4001,“86“)
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1