1、二级 Visual+FoxPro真题 2014年 3月(3)及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.设数据元素的集合 D=1,2,3,4,5,则满足下列关系 R的数据结构中为线性结构的是_。(分数:1.00)A.R=(1,2),(3,4),(5,1)B.R=(1,3),(4,1),(3,2),(5,4)C.R=(1,2),(2,3),(4,5)D.R=(1,3),(2,4),(3,5)2.下列叙述中正确的是_。(分数:1.00)A.链表结点中具有两个指针域的数据结构可以是线性结构,也可以是非线性结构B.线性表的链式存储结构中,每个结
2、点必须有指向前件和指向后件的两个指针C.线性表的链式存储结构中,每个结点只能有一个指向后件的指针D.线性表的链式存储结构中,叶子结点的指针只能是空3.一个栈的初始状态为空。现将元素 A,B,C,D,E 依次入栈,然后依次退栈三次,并将退栈的三个元素依次入队(原队列为空),最后将队列中的元素全部退出。则元素退队的顺序为_。(分数:1.00)A.ABCB.CBAC.EDCD.CDE4.某二叉树的中序遍历为 DCBAEFG,后序遍历为 DCBGFEA,则该二叉树的深度(根结点在第 1层)为_。(分数:1.00)A.5B.4C.3D.25.软件生命周期是指_。(分数:1.00)A.软件产品从提出、实现
3、、使用、维护到停止使用退役的过程B.软件的需求分析、设计与实现C.软件的开发与管理D.软件的实现和维护6.某系统结构图如下图所示 (分数:1.00)A.1B.2C.3D.47.下面属于应用软件的是_。(分数:1.00)A.学生成绩管理系统B.UNIX操作系统C.汇编程序D.编译程序8.将 E-R图转换为关系模式时,E-R 图中的属性可以表示为_。(分数:1.00)A.属性B.键C.关系D.域9.有两个关系 R与 S如下,由关系 R和 S得到关系 T,则所使用的操作为_。 R A A1 B B1 a 0 f 3 a 0 n 2 b 1 f 3 b 1 n 2 a 1 f 4 S A A1 a 0
4、 b 1 T B B1 f 3 n 2 (分数:1.00)A.并B.自然连接C.除法D.交10.优化数据库系统查询性能的索引设计属于数据库设计的_。(分数:1.00)A.需求分析B.概念设计C.逻辑设计D.物理设计11.不属于“项目管理器”的“文档”选项卡中的文件类型是_。(分数:1.00)A.查询B.报表C.标签D.表单12.下列关于 Visual FoxPro查询对象的描述,错误的是_。(分数:1.00)A.不能利用查询来修改相关表里的数据B.可以基于表或视图创建查询C.执行查询文件和执行该文件包含的 SQL命令的效果是一样的D.执行查询时,必须要事先打开相关的表13.删除 Visual
5、FoxPro数据库的命令是_。(分数:1.00)A.DROP DATABASEB.DELETE DATABASEC.REMOVE DATABASED.ALTER DATABASE14.在表设计器中可以定义字段有效性规则,规则(字段有效性规则)是_。(分数:1.00)A.控制符B.字符串表达式C.逻辑表达式D.随字段的类型来确定15.以下关于主关键字的说法,错误的是_。(分数:1.00)A.Visual FoxPro并不要求在每一个表中都必须包含一个主关键字B.不能确定任何单字段的值的惟一性时,可以将两个或更多的字段组合成为主关键字C.主关键字的值不允许重复D.不能利用主关键字来对记录进行快速地
6、排序和索引16.在数据库设计器中建立表之间的联系时,下列说法正确的是_。(分数:1.00)A.在父表中建立主索引或候选索引,在子表中建立普通索引就可以建立两个表之间的一对多关系B.在父表中建立主索引,在子表中建立候选索引就可以建立两个表之间的一对多关系C.只要两个表有相关联的字段就可以建立表之间的联系D.只要在父表中建立主索引或候选索引就可以建立表之间的联系17.以下关于视图的描述,正确的是_。(分数:1.00)A.使用视图不需要打开数据库B.利用视图,可以更新表中的数据C.使用视图,可以提高查询速度D.当某个视图被删除后,则基于该视图建立的视图也将自动被删除18.尽管结构索引在打开表时能够自
7、动打开,但也可以利用命令指定特定的索引,指定索引的命令是_。(分数:1.00)A.SET ORDERB.SET INDEXC.SET SEEKD.SET LOCATE19.在 Visual Foxpro中,使用 LOCATE FOR条件命令按条件查找记录,当查找到满足条件的第 1条记录后,如果还需要查找下一条满足条件的记录,应使用命令_。(分数:1.00)A.LOCATE FOR条件命令B.SKIP命令C.CONTINUE命令D.GO命令20.下面有关查询的叙述中错误的是_。(分数:1.00)A.查询文件的扩展名是.QPRB.查询文件是一种文本文件,可以直接用文本编辑器创建C.查询的去向包括表
8、、临时表、报表等D.查询的数据源只能是数据库表和视图,不能是自由表21.假设已经打开了课程表,为了将记录指针定位在第一个学时等于 32的记录上,应该使用的命令是_。(分数:1.00)A.LIST FOR 学时=32B.FOUND FOR 学时=32C.LOCATE FOR 学时=32D.DISPLAY FOR 学时=3222.执行下列程序后,屏幕显示的结果是_。 CLEAR STORE 10 T0 x,y DO p1 ? x,y *过程 p1 PROCEDURE p1 PRIVATE x x=20 y=x+y ENDPROC(分数:1.00)A.10 30B.20 30C.10 10D.20
9、1023.设表 student(学号,姓名,年龄)共有 4条记录。其记录值如下: (1,张三,18) (2,李斯,20) (3,钱力,18) (4,章好,18) 执行如下程序后,屏幕显示学生信息的记录数是_。 CLEAR USE student SCAN WHILE 年龄 =18 DISPLAY ENDSCAN USE(分数:1.00)A.0B.1C.2D.324.职工表中的婚姻状态字段是逻辑型,执行如下程序后,最后一条命令显示的结果是_。 USE 职工 APPEND BLANK REPLACE 职工号 WITH “E11“,姓名 WITH “张三“,婚姻状态 WITH .F. ? IIF(婚
10、姻状态,“已婚“,“未婚“)(分数:1.00)AT.BF.C.已婚D.未婚25.在 Visual FoxPro中,下列关于数组的描述,错误的是_。(分数:1.00)A.数组是按照一定顺序排列的一组内存变量B.数组在使用前必须要用 DIMENSION或 DECLARE命令显示创建C.可以用一维数组的形式访问二维数组D.一个数组中各个数组元素的数据类型必须相同26.连续执行以下命令后,最后一条命令的输出结果是_。 A=10 x=“A“+SPACE(2) ? IIF(A=20,x-“BCD“+“E“,x+“BCD“-“E“)(分数:1.00)A.ABCD EB.A BCDEC.ABCDED.出错27
11、.连续执行以下命令后,最后一条命令的输出结果是_。 t=2012-10-1 10:10 AM t=t+1 ? day(t),sec(t)(分数:1.00)A.1,0B.1,1C.2,0D.2,128.设借阅表的表结构为(读者编号,图书编号,借书日期,还书日期)。其中借书日期和还书日期的数据类型是日期类型,当还书日期为空值时,表示还没有归还。如果要查询尚未归还,且借阅天数已经超过60天的借阅信息时,应该使用的 SQL语句是_。(分数:1.00)A.SELECT * FROM 借阅表 WHERE(借书日期-DATE()60 OR 还书日期=NULLB.SELECT * FROM 借阅表 WHERE
12、(DATE()-借书日期)60 OR 还书日期 IS NULLC.SELECT * FROM 借阅表 WHERE(借书日期-DATE()60 AND 还书日期=NULLD.SELECT * FROM 借阅表 WHERE(DATE()-借书日期)60 AND 还书日期 IS NULL29.下列 SQL短语中与域完整性有关的是_。(分数:1.00)A.订单号 C(10)PRIMARY KEYB.供应商号 C(10)REFERENCES 供应商C.数量 I CHECK(数量 =0)D.数量 I 1030.如果在话单表中已经定义了话费字段的有效性规则,下列语句中可以删除话费字段的有效性规则的是_。(分
13、数:1.00)A.ALTER TABLE 话单 ALTER 话费 DROP CHECKB.ALTER TABLE 话单 MODIFY 话费 DROP CHECKC.ALTER TABLE 话单 ALTER 话费 DELETE CHECKD.ALTER TABLE 话单 MODIFY 话费 DELETE CHECK31.设话单表的表结构为(手机号,通话起始日期,通话时长,话费),主关键字为(手机号,通话起始日期)。如果一个手机号表示一个入网用户,则当需要查询所有入网用户数时,正确的 SQL语句是_。(分数:1.00)A.SELECT COUNT(*)FROM 话单B.SELECT COUNT(手
14、机号) FROM 话单C.SELECT COUNT(DISTINCT 手机号) FROM 话单D.SELECT DISTINCT COUNT(手机号) FROM 话单32.如下 SQL语句的功能是_。 SELECT * FROM 话单 INTO CURSOR temp WHERE 手机号=“13211234567“(分数:1.00)A.将手机号为 13211234567的所有话单信息存放在数组 temp中B.将手机号为 13211234567的所有话单信息存放在临时文件 temp.dbf中C.将手机号为 13211234567的所有话单信息存放在文本文件 temp.txt中D.将手机号为 13
15、211234567的所有话单信息存放在永久表 temp.dbf中33.设用户表和话单表的结构分别为(手机号,姓名)和(手机号,通话起始日期,通话时长,话费),如果希望查询“在 2012年里有哪些用户没有通话记录”,则应该使用的 SQL语句是_。(分数:1.00)A.SELECT 用户.* FROM 用户 JOIN 话单 ON 用户.手机号=话单.手机号;WHERE YEAR(通话起始日期)=2012 AND 话单.手机号 IS NOT NULLB.SELECT 用户.* FROM 用户,话单;WHERE YEAR (通话起始日期)=2012 AND 用户.手机号=话单.手机号C.SELECT
16、* FROM 用户 WHERE NOT EXISTS;(SELECT * FROM 话单 WHERE YEAR (通话起始日期)=2012)D.SELECT * FROM 用户 WHERE NOT EXISTS;(SELECT * FROM 话单 WHERE YEAR(通话起始日期)=2012 AND 用户.手机号=话单.手机号)34.查询姓名中带有“海”字的用户信息,则条件语句应包含_。(分数:1.00)A.WHERE 姓名 LIKE “%海%“B.WHERE 姓名 LIKE “%海“C.WHERE 姓名=“%海%“D.WHERE 姓名 LIKE “海%“35.设话单表的表结构为(手机号,通
17、话起始日期,通话时长,话费),通话时长的单位为分钟,话费的单位为元。如果希望查询“通话时长超过 5分钟并且总话费超过 100元的手机号和总话费”,则应该使用的SQL语句是_。(分数:1.00)A.SELECT 手机号,SUM(话费) AS 总话费 FROM 话单;WHERE SUM(话费)100 AND 通话时长5 GROUP BY 手机号B.SELECT 手机号,SUM(话费) AS 总话费 FROM 话单;WHERE SUM(话费)100 GROUP BY 手机号 HAVING 通话时长5C.SELECT 手机号,SUM(话费) AS 总话费 FROM 话单;WHERE 通话时长5 GRO
18、UP BY 手机号 HAVING SUM(话费)100D.SELECT 手机号,SUM(话费) AS 总话费 FROM 话单;GROUP BY 手机号 HAVING SUM(话费)100 AND 通话时长536.将两个 SELECT语句的查询结果通过并运算合并成一个查询结果,需要使用的关键字是_。(分数:1.00)A.JOINB.UNIONC.ALLD.MINUS37.如果要将借阅表中还书日期置为空值,应该使用的 SQL语句是_。(分数:1.00)A.DELETE FROM 借阅表 WHERE 还书日期=NULLB.DELETE FROM 借阅表 WHERE 还书日期 IS NULLC.UPD
19、ATE 借阅表 SET 还书日期=NULLD.UPDATE 借阅表 SET 还书日期 IS NULL38.Visual Foxpro基类的最小事件集不包含的事件是_。(分数:1.00)A.InitB.DestroyC.LoadD.Error39.假设已经为某控件设计好了快捷菜单 mymenu,那么要为该控件设置的 RightClick事件代码应该为_。(分数:1.00)A.DO mymenuB.DO MENU mymenuC.DO mymenu.mnxD.DO mymenu.mpr40.在应用程序生成器的“常规”选项卡中,对应用程序类型设置为“顶层”,将生成一个_。(分数:1.00)Aexe可
20、执行程序Bapp应用程序Cdll动态链接库D.应用程序框架二、基本操作题(总题数:1,分数:18.00)41.在 下完成如下操作: (1)my_menu菜单中的“文件”菜单项下有子菜单项“新建”、“打开”、“关闭”和“退出”,请在“关闭”和“退出”之间添加一条水平的分组线,并为“退出”菜单项编写一条返回到系统菜单的命令(不可以使用过程)。 (2)创建一个快速报表 sport_report,报表中包含了“金牌榜”表中的“国家代码”和“金牌数”两个字段。 (3)使用 SQL建立表的语句建立一个与自由表“金牌榜”结构完全一样的自由表 golden。并将该 SQL语句存储在文件 one.prg中。 (
21、4)使用 SQL语句向自由表 golden中添加一条记录(“011“,9,7,11)。并将该 SQL语句存储在文件 two.prg中。 (分数:18.00)_三、简单应用题(总题数:1,分数:24.00)在下完成如下简单应用:(分数:24.00)(1).使用 SQL语句完成下面的操作:根据“国家”和“获奖牌情况”两个表统计每个国家获得的金牌数(“名次”为 1表示获得一块金牌),结果包括“国家名称”和“金牌数”两个字段,并且先按“金牌数”降序排列,若“金牌数”相同再按“国家名称”降序排列,然后将结果存储到表 temp中。最后将该 SQL语句存储在文件 three.prg中。(分数:12.00)_
22、(2).建立一个文件名和控件名均为 myform的表单,如下图所示。表单中包括一个列表框(List1)、一个选项组(Optiongroup1)和一个“退出”命令按钮(Command1),这三个控件名使用系统默认的名称。相关控件属性按如下要求进行设置:表单的标题为“奖牌查询”,列表框的数据源使用 SQL语句根据“国家”表显示国家名称,选项组中有 3个按钮,标题分别为金牌(Option1)、银牌(Option2)和铜牌(Option3)。 (分数:12.00)_四、综合应用题(总题数:1,分数:18.00)42.打开 下的 sport_project项目,项目中有一个名为 sport_form的表
23、单文件,表单中包括 3个命令按钮。 请完成如下操作: (1)编写并运行程序 Four.prg。程序功能是:根据“国家”和“获奖牌情况”两个表统计并生成一个新表“假奖牌榜”,新表包括“国家名称”和“奖牌总数”两个字段,要求先按奖牌总数降序排列(注意“获奖牌情况”的每条记录表示一枚奖牌),若奖牌总数相同再按“国家名称”升序排列。 (2)为 sport_form表单中的“生成表”命令按钮编写一条 Click事件代码命令,执行 Four.prg程序。 (3)将在基本操作中建立的快速报表 sport_report加入项目文件,并为表单 sport_form中的命令按钮“浏览报表”编写一条命令,预览快速报
24、表 sport_report。 (4)将自由表“国家”和“获奖牌情况”加入项目文件中,然后将项目文件连编成应用程序文件sport_app.app。 (分数:18.00)_二级 Visual+FoxPro真题 2014年 3月(3)答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.设数据元素的集合 D=1,2,3,4,5,则满足下列关系 R的数据结构中为线性结构的是_。(分数:1.00)A.R=(1,2),(3,4),(5,1)B.R=(1,3),(4,1),(3,2),(5,4) C.R=(1,2),(2,3),(4,5)D.R=(1,3),(
25、2,4),(3,5)解析:解析 一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构。不同时满足以上两个条件的数据结构就称为非线性结构。A选项中有两个根节点 3和 5故错误。B 选项根节点为 5,排列顺序为 54132,B 选项正确。C 选项有两个根节点 1和 4,故错误。D 选项有两个根节点 1和 2,故错误。2.下列叙述中正确的是_。(分数:1.00)A.链表结点中具有两个指针域的数据结构可以是线性结构,也可以是非线性结构 B.线性表的链式存储结构中,每个结点必须有指向前件和指向后件的两个指针C.线性表的链式存储结构中,每个结
26、点只能有一个指向后件的指针D.线性表的链式存储结构中,叶子结点的指针只能是空解析:解析 双向链表与树形结构的节点均可以包含两个指针域,但前者为线性结构后者为非线性结构,A选项正确。双向链表含有指向前件和指向后件的两个指针,C 选项错误。线性链表,就是指线性表的链式存储结构。由于这种链表中,每个节点只有一个指针域,故又称为单链表,B 选项错误。二叉树为非线结构,叶子节点没有后件但是可以有指向前件的指针,D 选项错误。3.一个栈的初始状态为空。现将元素 A,B,C,D,E 依次入栈,然后依次退栈三次,并将退栈的三个元素依次入队(原队列为空),最后将队列中的元素全部退出。则元素退队的顺序为_。(分数
27、:1.00)A.ABCB.CBAC.EDC D.CDE解析:解析 栈所有的插入与删除都限定在表的同一端进行。入栈运算即在栈顶位置插入一个新元素,退栈运算即是取出栈顶元素赋予指定变量。队列指允许在一端进行插入,而在另一端进行删除的线性表。习惯上称往队列的队尾插入一个元素为入队运算,称从队列的队头删除一个元素为退队运算。元素入栈后为 ABCDE,后入栈的先退栈,退栈并入队后,队中元素为 EDC。退队时从队头开始,顺序为 EDC,C 选项正确。4.某二叉树的中序遍历为 DCBAEFG,后序遍历为 DCBGFEA,则该二叉树的深度(根结点在第 1层)为_。(分数:1.00)A.5B.4 C.3D.2解
28、析:解析 深度,定义一棵树的根节点所在的层次为 1,其他节点所在的层次等于它的父节点所在的层次加 1,树的最大层次称为树的深度。二叉树遍历可以分为 3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。二叉树的后序遍历为 DCBGFEA,A 为根节点。中序遍历为 DCBAEFG,可知 DCB为左子树节点,EFG 为右子树节点。同理 B为 C父节点,C 为 D父节点。同理 E为 F根节点,F 为G根节点。故二叉树深度为 4层。B 选项正确。5.软件生命周期是指_。(分数:1.00)A.
29、软件产品从提出、实现、使用、维护到停止使用退役的过程 B.软件的需求分析、设计与实现C.软件的开发与管理D.软件的实现和维护解析:解析 通常把软件产品从提出、实现、使用、维护到停止使用、退役的过程称为软件生命周期,A选项正确。6.某系统结构图如下图所示 (分数:1.00)A.1B.2C.3 D.4解析:解析 深度表示控制的层数。题目中系统共有 3层,C 选项正确。7.下面属于应用软件的是_。(分数:1.00)A.学生成绩管理系统 B.UNIX操作系统C.汇编程序D.编译程序解析:解析 计算机软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。系统软件是管理计算机的资源,提高计算机的使用效
30、率,为用户提供各种服务的软件,如操作系统、数据库管理系统、编译程序、汇编程序和网络软件等,B、C、D 均为系统软件。应用软件为了应用于特定的领域而开发的软件,A选项正确。8.将 E-R图转换为关系模式时,E-R 图中的属性可以表示为_。(分数:1.00)A.属性 B.键C.关系D.域解析:解析 采用 E-R方法得到的全局概念模型是对信息世界的描述,并不适用于计算机处理,为了适合关系数据库系统的处理,必须将 E-R图转换成关系模式。下表为 E-R模型和关系模型的对照表。由表中可知 A选项正确。 E-R模型 关系模型 E-R模型 关系模型 实体 元组 属性 属性 实体集 关系 联系 关系 9.有两
31、个关系 R与 S如下,由关系 R和 S得到关系 T,则所使用的操作为_。 R A A1 B B1 a 0 f 3 a 0 n 2 b 1 f 3 b 1 n 2 a 1 f 4 S A A1 a 0 b 1 T B B1 f 3 n 2 (分数:1.00)A.并B.自然连接C.除法 D.交解析:解析 常用的扩充运算有交、除、连接及自然连接等。并:RS 是将 S中的记录追加到 R后面。交:RS 结果是既属于 R又属于 S的记录组成的集合。上述两种操作中,关系 R与 S要求有相同的结构,故 A、D 选项错误。自然连接:去掉重复属性的等值连接。自然连接要求两个关系中进行,比较的是相同的属性,并且进行
32、等值连接,可知 B选项错误。除运算可以近似地看作笛卡尔积的逆运算。当 ST=R时,则必有 RS=T,T 称为 R除以 S的商。设关系 R有属性 M 1 ,M 2 ,M n ,关系 S有属性 M n-s+1 ,M n-s+2 ,M n ,此时有:RS= M1,M2 ,M n-s (R)- M1,M2 ,M n-s ( M1,M2 ,M n-s (R)S)。由 S中有属性 A和 A1,T 中属性为 B和 B1,在 R元组中找到对应于 S中两个元组的 T中元组为 f 3与 n 2。R 中最后一个元组与 S中无对应关系,所以在 T中也不会出现。C 选项正确。10.优化数据库系统查询性能的索引设计属于数
33、据库设计的_。(分数:1.00)A.需求分析B.概念设计C.逻辑设计D.物理设计 解析:解析 数据库设计的 4个阶段为:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段。为一个给定的逻辑模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。数据库物理设计的主要目标是对数据内部物理结构作调整并选择合理的存取路径,以提高数据库访问速度及有效利用存储空间。一般 RDBMS中留给用户参与物理设计的内容大致有索引设计、集簇设计和分区设计。D 选项正确。11.不属于“项目管理器”的“文档”选项卡中的文件类型是_。(分数:1.00)A.查询 B.报表C.标签D.表单解析:解析 文档选项卡显
34、示和管理项目文件中的文档文件,包括表单、报表和标签等,A 选项不属于其中的文件类型,B 选项、C 选项和 D选项属于其中的文件类型,故选 A选项。12.下列关于 Visual FoxPro查询对象的描述,错误的是_。(分数:1.00)A.不能利用查询来修改相关表里的数据B.可以基于表或视图创建查询C.执行查询文件和执行该文件包含的 SQL命令的效果是一样的D.执行查询时,必须要事先打开相关的表 解析:解析 查询与视图不同,不能修改表里的数据,故 A选项正确。查询的数据源可以是表和视图,故 B选项正确。执行查询文件和执行该文件包含的 SQL命令的效果是一样的,故 C选项正确。Do主文件名.qpr
35、 是查询执行命令,不需要事先打开相关的表,故 D选项错误。13.删除 Visual FoxPro数据库的命令是_。(分数:1.00)A.DROP DATABASEB.DELETE DATABASE C.REMOVE DATABASED.ALTER DATABASE解析:解析 DELETE DATABASE 是删除数据库命令,DROP 用于删除表,REMOVE 用于将表移出数据库,ALTER用于修改表结构,故选择 B选项。14.在表设计器中可以定义字段有效性规则,规则(字段有效性规则)是_。(分数:1.00)A.控制符B.字符串表达式C.逻辑表达式 D.随字段的类型来确定解析:解析 字段有效性规
36、则有三类:规则(逻辑表达式),信息(字符串表达式),默认值(默认值的类型由字段的类型决定)。题目中的规则是逻辑表达式,故选择 C选项。15.以下关于主关键字的说法,错误的是_。(分数:1.00)A.Visual FoxPro并不要求在每一个表中都必须包含一个主关键字B.不能确定任何单字段的值的惟一性时,可以将两个或更多的字段组合成为主关键字C.主关键字的值不允许重复D.不能利用主关键字来对记录进行快速地排序和索引 解析:解析 Visual FoxPro 并不要求在每一个表中都必须包含一个主关键字,A 选项正确。实体完整性保证表中记录的唯一性,如果一个字段的值或几个字段的值能够唯一标识表中的一条
37、记录,则这样的字段称为候选关键字。一个表中,可能会有几个符合这种要求的字段,可以从中挑选一个作为主关键字,故主关键字可能是一个字段也可能是几个字段的组合,故 B选项正确。主关键字能唯一标识表的一条记录,故主关键字的值不允许重复,可以利用主关键字进行快速排序,故 C选项正确,D 选项错误。16.在数据库设计器中建立表之间的联系时,下列说法正确的是_。(分数:1.00)A.在父表中建立主索引或候选索引,在子表中建立普通索引就可以建立两个表之间的一对多关系 B.在父表中建立主索引,在子表中建立候选索引就可以建立两个表之间的一对多关系C.只要两个表有相关联的字段就可以建立表之间的联系D.只要在父表中建
38、立主索引或候选索引就可以建立表之间的联系解析:解析 建立关联关系的两表,对父表建立主索引或候选索引。如果子表建立的是普通索引或唯一索引,由于它们的索引关键表达式的值允许不唯一,所建立的关联为一对多关系。故 A选项正确。作为子表,若也建立了主索引或候选索引,两个表的关联只能是一对一的关系,故选项 B错误。表之间的关系是基于索引建立的,故选项 C错误。只有父表建立主索引或候选索引,子表建立恰当的索引,才能建立表之间的联系,故选项 D错误。17.以下关于视图的描述,正确的是_。(分数:1.00)A.使用视图不需要打开数据库B.利用视图,可以更新表中的数据 C.使用视图,可以提高查询速度D.当某个视图
39、被删除后,则基于该视图建立的视图也将自动被删除解析:解析 视图不作为独立的文件存储,而是存放在定义它的数据库中。先打开数据库,才能打开视图,故 A选项错误。视图是根据基本表派生出来的虚拟表,在使用视图时,在两个工作区分别打开视图和基本表,默认对视图的更新不反映到基本表中,对基本表的更新在视图中也得不到反映,为了能够通过视图更新表中数据,需要选中“更新条件”选项卡下的“发送 SQL更新”复选框。故 B选项正确。使用视图,不能提高查询速度,故 C选项错误。视图的数据可以来自数据库表、自由表和其他视图,某个视图被删后,则基于此视图建立的视图处于一次打开和关闭数据库之间的一个活动周期内,不会自动被删除
40、,故 D选项错误。18.尽管结构索引在打开表时能够自动打开,但也可以利用命令指定特定的索引,指定索引的命令是_。(分数:1.00)A.SET ORDER B.SET INDEXC.SET SEEKD.SET LOCATE解析:解析 SET ORDER TO索引序号|TAG索引名19.在 Visual Foxpro中,使用 LOCATE FOR条件命令按条件查找记录,当查找到满足条件的第 1条记录后,如果还需要查找下一条满足条件的记录,应使用命令_。(分数:1.00)A.LOCATE FOR条件命令B.SKIP命令C.CONTINUE命令 D.GO命令解析:解析 对于当前工作区打开的表,用户可以
41、使用 GO命令进行记录的绝对定位,使用 SKIP命令进行记录的相对定位;使用 Locate命令进行条件定位;使用 Continue命令是按照 Locate指定的条件继续定位下一条记录,故选择 C选项。20.下面有关查询的叙述中错误的是_。(分数:1.00)A.查询文件的扩展名是.QPRB.查询文件是一种文本文件,可以直接用文本编辑器创建C.查询的去向包括表、临时表、报表等D.查询的数据源只能是数据库表和视图,不能是自由表 解析:解析 查询是一个以扩展名为.qpr 独立保存的文本文件,可直接用文本编辑器创建,故 A选项和B选项正确。查询的去向包括临时表、表、报表和标签等,故 C选项正确。查询的数
42、据源可以是自由表,故 D选项错误。21.假设已经打开了课程表,为了将记录指针定位在第一个学时等于 32的记录上,应该使用的命令是_。(分数:1.00)A.LIST FOR 学时=32B.FOUND FOR 学时=32C.LOCATE FOR 学时=32 D.DISPLAY FOR 学时=32解析:解析 LIST 和 DISPLAY是显示记录的命令,LIST 默认显示全部记录,DISPLAY 默认显示当前记录。LOCATE是查询定位命令,LOCATE FOR条件表达式,“条件表达式”是查询定位的表达式,该命令执行后将记录指针定位在满足条件的第一条记录上,如果没有满足条件的记录则指向文件的结束位置
43、。故选择 C选项。22.执行下列程序后,屏幕显示的结果是_。 CLEAR STORE 10 T0 x,y DO p1 ? x,y *过程 p1 PROCEDURE p1 PRIVATE x x=20 y=x+y ENDPROC(分数:1.00)A.10 30 B.20 30C.10 10D.20 10解析:解析 STORE 10 T0 x,y 即 x=y=10。在主程序中 x和 y为私有变量,私有变量的作用域是建立它的模块及其下属的各层模块,当建立它的模块程序运行结束,这些私有变量也将自动清除。在过程 p1中,子程序中使用 PRIVATE命令隐藏主程序中存在的变量 x,使得这些变量在子程序中暂
44、时无效。即主程序中的 x不会随着子程序中 x改变而改变,仍为 10。y 在子程序中,y=x+y=10+20=30,其值改变为 300故主程序中 x为 10,y 为 30,选择 A选项。23.设表 student(学号,姓名,年龄)共有 4条记录。其记录值如下: (1,张三,18) (2,李斯,20) (3,钱力,18) (4,章好,18) 执行如下程序后,屏幕显示学生信息的记录数是_。 CLEAR USE student SCAN WHILE 年龄 =18 DISPLAY ENDSCAN USE(分数:1.00)A.0B.1 C.2D.3解析:解析 SCAN 循环一般用于处理表中记录,可以指明
45、需要处理的记录范围及应满足的条件,执行该语句时,记录指针自动依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令。DISPLAY 默认显示当前一条记录,虽然满足条件的记录有 3条,但是在屏幕中显示一条记录,故选择 B选项。24.职工表中的婚姻状态字段是逻辑型,执行如下程序后,最后一条命令显示的结果是_。 USE 职工 APPEND BLANK REPLACE 职工号 WITH “E11“,姓名 WITH “张三“,婚姻状态 WITH .F. ? IIF(婚姻状态,“已婚“,“未婚“)(分数:1.00)AT.BF.C.已婚D.未婚 解析:解析 APPENDBLANK在表
46、的尾部增加记录,BLANK 在表的尾部增加一条空白记录。利用 REPLACE命令直接修改空白记录值。REPLACE字段名 1WITH 表达式 1,字段名 2WITH 表达式 2FOR条件表达式,该命令用“表达式”的值代替“字段名”的值,一次可以修改多个字段值。REPLACE 职工号 WITH“E11“,姓名 WITH“张三“,婚姻状态 WITH .F.,语句执行后新记录的职工号为“E11”,姓名为“张三”,婚姻状态为 F。IIF(逻辑表达式,表达式 1,表达式 2)用来测试逻辑表达式的值,若为逻辑真,则返回表达式 1的值;若为逻辑假,则返回表达式 1的值。IIF(婚姻状态,“已婚“,“未婚“)
47、,新记录的婚姻状态为 F,逻辑假,返回值为“未婚”,故选择 D选项。25.在 Visual FoxPro中,下列关于数组的描述,错误的是_。(分数:1.00)A.数组是按照一定顺序排列的一组内存变量B.数组在使用前必须要用 DIMENSION或 DECLARE命令显示创建C.可以用一维数组的形式访问二维数组D.一个数组中各个数组元素的数据类型必须相同 解析:解析 数组是内存变量的一种特殊形式,是按一定顺序排列的一组内存变量,且在使用数组的过程中,必须遵循先定义后使用的原则。故 A选项正确。数组定义采用 DIMENSION或 DECLARE命令,故 B选项正确。可以用一维数组的形式访问二维数组,故 C选项正确。VF 中同一数组中的数组元素可以具有不同的数组类型,故 D选项错误。26.连续执行以下