二级VISUAL FOXPRO真题及解析2011年09月
2011年9月全国计算机等级考试二级笔试试卷Visual FoxPro数据库程序设计一、选择题下列各题A) 、B) 、C) 、D) 四个选项中,只有一个选项是正确的。(1)下列叙述中正确的是( )。A
2011年9月全国计算机等级考试二级笔试试卷
Visual FoxPro数据库程序设计
一、选择题
下列各题A) 、B) 、C) 、D) 四个选项中,只有一个选项是正确的。
(1)下列叙述中正确的是( )。
A) 算法就是程序 B)设计算法时只需要考虑数据结构的设计
C) 设计算法时只需要考虑结果的可靠性 D)以上三种说法都不对
(2)下列关于线性链表的叙述中,正确的是( )。
A) 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B) 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C) 进行插入与删除时,不需要移动表中的元素
D) 以上三种说法都不对
(3)下列关于二叉树的叙述中,正确的是( )。
A) 叶子结点总是比度为2的结点少一个
B) 叶子结点总是比度为2的结点多一个
C) 叶子结点数是度为2的结点数的两倍
D) 度为2的结点数是度为1的结点数的两倍
(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件) 。下面属于应用软件的是( )。
A) 学生成绩管理系统 B)C语言编译程序
C)UNIX 操作系统 D)数据库管理系统
(5)某系统总体结构图如下图所示:
该系统总体结构图的深度是( )。
A)7 B)6 C)3 D)2
(6)程序调试的任务是( )。
A) 设计测试用例 B)验证程序的正确性
C) 发现程序中的错误 D)诊断和改正程序中的错误
(7)下列关于数据库设计的叙述中,正确的是( )。
A) 在需求分析阶段建立数据字典 B)在概念设计阶段建立数据字典
C) 在逻辑设计阶段建立数据字典 D)在物理设计阶段建立数据字典
(8)数据库系统的三级模式不包括( )。
A) 概念模式 B)内模式
C) 外模式 D)数据模式
(9)有三个关系R 、S 和T 如下:
,则由关系R 和S 得到关系T 的操作是( )。
A) 自然连接 B)差
C) 交 D)并
(10)下列选项中属于面向对象设计方法主要特征的是( )。
A) 继承 B)自顶向下
C) 模块化 D)逐步求精
(11)在创建数据库表结构时,为了同时定义实体完整性可以通过指定哪类索引来实现( )。
A) 惟一索引 B)主索引
C) 复合索引 D)普通索引
(12)关系运算中选择某些列形成新的关系的运算是( )。
A) 选择运算 B)投影运算
C) 交运算 D)除运算
(13)在数据库中建立索引的目的是( )。
A) 节省存储空间 B)提高查询速度
C) 提高查询和更新速度 D)提高更新速度
(14)假设变量a 的内容是“计算机软件工程师”,变量b 的内容是“数据库管理员”,表达式的结果为“数据库工程师”的是( )。
A)left(b,6)-right(a,6) B)substr(b,1,3)-substr(a,6,3)
C)A 和B 都是 D)A和B 都不是( )。
(15)SQL查询命令的结构是SELECT...FROM...WHERE...GROUP
BY...HAVING...ORDERBY... ,其中指定查询条件的短语是( )。
A)SELECT B)FROM
C)WHERE D)ORDER BY
(16)SQL查询命令的结构是SELECT...FROM...WHERE...GROUP
BY...HAVING...ORDER BY...,其中HAVING 必须配合使用的短语是( )。
A)FROM B)GROUP BY
C)WHERE D)ORDER BY
(17)如果在SQL 查询的SELECT 短语中使用TOP ,则应该配合使用( )。
A)HAVING 短语 B)GROU BY短语
C)WHERE 短语 D)ORDER BY短语
(18)删除表S 中字段C 的SQL 命令是( )。
A)ALTER TABLE s DELETE c B)ALTER TABLE s DROP c
C)DELETE TABLE s DELETE c D)DELETE TABLE s DROP c
(19)在Visual FoxPro中,如下描述正确的是( )。
A) 对表的所有操作,都不需要使用USE 命令先打开表
B) 所有SQL 命令对表的所有操作都不需使用USE 命令先打开表
C) 部分SQL 命令对表的所有操作都不需使用USE 命令先打开表
D) 传统的FoxPro 命令对表的所有操作都不需使用USE 命令先打开表
,(20)在Visual FoxPro中,如果希望跳出SCAN...ENDSCAN 循环体外执行ENDSCAN 后面的语句,应使用( )。
A)LOOP 语句 B)EXIT语句
C)BREAK 语句 D)RETURN语句
(21)在Visual FoxPro中,为了使表具有更多的特性应该使用( )。
A) 数据库表 B)自由表
C) 数据库表或自由表 D)数据库表和自由表
(22)在Visual FoxPro中,查询设计器和视图设计器很像,如下描述正确的是( )。
A) 使用查询设计器创建的是一个包含SQL SELECT语句的文本文件
B) 使用视图设计器创建的是一个包含SQL SELECT语句的文本文件
C) 查询和视图有相同的用途
D) 查询和视图实际都是一个存储数据的表
(23)使用SQL 语句将表S 中字段price 的值大于30的记录删除,正确的命令是( )。
A)DELETE FROM s FOR price>30
B)DELETE FROM s WHERE price>30
C)DELETE s FOR price>30
D)DELETE s WHERE price>30
(24)在Visual FoxPro中,使用SEEK 命令查找匹配的记录,当查找到匹配的第一条记录后,如果还需要查找下一条匹配的记录,通常使用命令( )。
A)GOTO B)SKIP
C)CONTINUE D)GO
(25)假设表S 中有10条记录,其中字段b 小于20的记录有3条,大于等于20、并且小于等于30的记录有3条,大于30的记录有4条。执行下面的程序后,屏幕显示的结果是( )。
SET DELETE ON
DELETE FROM s WHERE b BETWEEN 20 AND 30
?RECCOUNT()
A)10 B)7 C)0 D)3
(26)正确的SQL 插入命令的语法格式是( )。
A)INSERT IN...VALUES... B)INSERT TO...VALUES
C)INSERT INTO...VALUES... D)INSERT...VALUES...
(27)建立表单的命令是( )。
A)CREATE FORM B)CPEATE TABLE
C)NEWFORM D)NEWTABLE
(28)假设某个表单中有一个复选框(CheckBox1)和一个命令按钮
Command1,如果要在Command1的Click 事件代码中取得复选框的值,以判断该复选框是否被用户选择,正确的表达式是( )。
A)This.CheckBox1.Value B)ThisForm.CheckBox1.Value
C)This.CheckBox1.Selected D)ThisForm.CheckBox1.Selected
(29)为了使命令按钮在界面运行时显示“运行”,需要设置该命令按钮的哪个属性( )。
A)Text B)Title
,C)Display D)Caption
(30)在Visual FoxPro中,如果在表之间的联系中设置了参照完整性规则,并在删除规则中选择了“级联”,当删除父表中的记录,其结果是( )。
A) 只删除父表中的记录,不影响子表
B) 任何时候都拒绝删除父表中的记录
C) 在删除父表中记录的同时自动删除子表中的所有参照记录
D) 若子表中有参照记录,则禁止删除父表中记录
(31)SQL语句中,能够判断“订购日期”字段是否为空值的表达式是( )。
A) 订购日期=NULL B)订购日期=EMPTY
C) 订购日期IS NULL D)订购日期IS EMPTY
第(32)~(35)题使用如下3个表:
商店(商店号,商店名,区域名,经理姓名)
商品(商品号,商品名,单价)
销售(商店号,商品号,销售日期,销售数量)
(32)查询在“北京”和“上海”区域的商店信息的正确命令是( )。
A)SELECT*FROM 商店 WHERE 区域名='北京' AND 区域名='上海'
B)SELECT*FROM 商店 WHERE 区域名='北京' OR 区域名='上海'
C)SELECT*FROM 商店 WHERE 区域名='北京' AND '上海'
D)SELECT*FROM 商店 WHERE 区域名='北京' OR '上海'
(33)查询单价最高的商品销售情况,查询结果包括商品号、商品名、销售日期、销售数量和销售金额。正确命令是( )。
A)SELECT 商品, 商品号, 商品名, 销售日期, 销售数量, 销售数量*单价 AS 销售金额
FROM 商品 JOIN 销售 ON 商品. 商品号=销售. 商品号
WHERE 单价=(SELECT MAX(单价)FROM 商品)
B)SELECT 商品. 商品号, 商品名, 销售日期, 销售数量, 销售数量*单价 AS 销售金额
FROM 商品 JOIN 销售 ON 商品. 商品号=销售. 商品号
WHERE 单价=MAX(单价)
C)SELECT 商品. 商品号, 商品名, 销售日期, 销售数量, 销售数量 单价 AS 销售金额
FROM 商品 JOIN 销售 WHERE 单价=(SELECT MAX(单价)FROM 商品)
D)SELECT 商品. 商品号, 商品名, 销售日期, 销售数量, 销售数量*单价 AS 销售金额
FROM 商品 JOIN 销售 WHERE 单价=MAX(单价)
(34)查询商品单价在10到50之间、并且日销售数量高于20的商品名、单价、销售日期和销售数量,查询结果按单价降序。正确命令是( )。
A)SELECT 商品名, 单价, 销售日期, 销售数量 FROM 商品 JOIN 销售 WHERE(单价 BETWEEN 10 AND 50) AND 销售数量>20
ORDER BY 单价 DESC
B)SELECT 商品名, 单价, 销售日期, 销售数量 FROM 商品 JOIN 销售 WHERE(单价 BETWEEN 10 AND 50) AND 销售数量>20
ORDE RBY 单价
C)SELECT 商品名, 单价, 销售日期, 销售数量 FROM 商品, 销售
,WHERE(单价 BETWEEN 10 AND 50) AND 销售数量>20
ON 商品. 商品号=销售. 商品号 ORDER BY 单价
D)SELECT 商品名, 单价, 销售日期, 销售数量 FROM 商品, 销售
WHERE(单价 BETWEEN 10 AND 50) AND 销售数量>20
AND 商品. 商品号=销售. 商品号 ORDER BY 单价 DESC
(35)查询销售金额合计超过20000的商店,查询结果包括商店名和销售金额合计。正确命令是( )。
A)SELECT 商店名,SUM(销售数量 单价) AS 销售金额合计
FROM 商店, 商品, 销售
WHERE 销售金额合计 20000
B)SELECT 商店名,SUM(销售数量*单价) AS 销售金额合计>20000 FROM 商店, 商品, 销售
WHERE 商品. 商品号=销售. 商品号 AND 商店. 商店号=销售. 商店号
C)SELECT 商店名,SUM(销售数量*单价) AS 销售金额合计
FROM 商店, 商品, 销售
WHERE 商品. 商品号=销售. 商品号 AND 商店. 商店号=销售. 商店号 AND SUM(销售数量*单价) >20000 GROUP BY 商店名
D)SELECT 商店名,SUM(销售数量*单价) AS 销售金额合计
FROM 商店, 商品, 销售
WHERE 商品. 商品号=销售. 商品号 AND 商店. 商店号=销售. 商店号 GROUP BY 商店名 HAVING SUM(销售数量*单价) >20000
二、填空题
(1)数据结构分为线性结构与非线性结构,带链的栈属于______。
(2)在长度为n 的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中______个元素。
(3)常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD),则应采用______方法
(4)数据库系统的核心是______。
(5)在进行关系数据库的逻辑设计时,E-R 图中的属性常被转换为关系中的属性,联系通常被转换为______。
(6)为了使日期的年份显示4位数字应该使用SETCENTURY______命令进行设置。
(7)在Visual FoxPro中可以使用命令DIMENSION 或______说明数组变量。
(8)在Visual FoxPro中表达式(1 2^(1 2))/(2 2)的运算结果是______。
(9)如下程序的运行结果是______。
CLEAR
STORE 100 TO x1,x2
SET UDFPARMS TO VALUE
DO p4 WITH x1,(x2)
?x1,x2
*过程p4
PROCEDURE p4
PARAMETERS x1,x2
STORE x1 1 TO x1
,STORE x2 1 TO x2
ENDPROC
(10)在Visual FoxPro中运行表单的命令是______。
(11)为了使表单在运行时居中显示,应该将其______属性设置为逻辑真。
(12)为了在表单运行时能够输入密码应该使用______控件。
(13)菜单定义文件的扩展名是mnx ,菜单程序文件的扩展名是______。
(14)在Visual FoxPro中创建快速报表时,基本带区包括页标头、细节和______。
(15)在Visual FoxPro中建立表单应用程序环境时,显示出初始的用户界面之后,需要建立一个事件循环来等待用户的交互动作,完成该功能的命令是______,该命令使Visual FoxPro开始处理诸如单击鼠标、键盘输入等用户事件。
2011年9月全国计算机等级二级笔试试卷
Visual FoxPro 参考答案及详解
一、选择题
(1)D)【解析】所谓算法是指解题方案的准确而完整的描述。是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。算法不等于程序,也不等于计算方法。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
(2)C)【解析】线性表的链式存储结构称为线性链表。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
(3)B)【解析】由二叉树的性质可以知道在二叉树中叶子结点总是比度为2的结点多一个。
(4)A)【解析】学生成绩管理系统为应用软件。
(5)C)【解析】这个系统总体结构图是一棵树结构,在树结构中,根结点在第1层,同一层上所有子结点都在下一层,由系统总体结构图可知,这棵树共3层。在树结构中,树的最大层次称为树的深度。所以这棵树的深度为3。
(6)D)【解析】所谓程序调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。其任务是诊断和改正程序中的错误。
(7)A)【解析】数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段。分别是:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。数据字典是对系统中数据的详尽描述,是各类数据属性的清单。对数据设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。
(8)D)【解析】数据库系统的三级模式包括概念模式、外模式和内模式(物理模式) 。
(9)B)【解析】由三个关系R 、S 和T 的结构可以知道,关系T 是由关系R 、S 经过差运算得到的。
(10)A)【解析】面向对象设计方法的主要特征有封装性、继承性和多态性。而结构化程序设计方法的主要原则有自顶向下,逐步求精,模块化,限制使用goto 语句。
,(11)B)【解析】实体完整性是保证表中记录惟一的特性,即在一个表中不允许有重复的记录。在Visual FoxPro利用主关键字或候选关键字来保证表中的记录惟一,即保证实体惟一性。如果对某一个字段创建了主索引或候选索引,那么这个字段成为数据表的主关键字或候选关键字,从而保证了实体完整性。
(12)B)【解析】从关系模式中指定若干个属性组成新的关系称为投影。
(13)B)【解析】VFP 索引是由指针构成的文件,这些指针逻辑上按照索引关键字的值进行排序。若要按特定的顺序处理记录表,可以选择一个相应的索引,使用索引还可以加速对表的查询操作。
(14)A)【解析】LEFT()函数功能是从字符表达式左端截取指定长度子串;RIGHT()函数功能是从字符表达式右端截取指定长度子串;SUBSTR()函数功能是从字符串指定位置截取指定长度子串。以上三个函数在截取中文时要注意,一个中文字符占2个长度。
(15)C)【解析】在SQL 查询语句中,WHERE 是说明查询条件,即选择元组的条件。
(16)B)【解析】在SQL 查询中,HAVING 总是跟在GROUP BY之后,用来限定分组条件。
(17)D)【解析】TOP 表示排序后满足条件的前几条记录。所以需要和ORDERBY 同时使用。
(18)B)【解析】删除字段的SQL 语法可简单表示为:ALTER TABLE表名DROP 字段名。
(19)B)【解析】所有SQL 命令对表的所有操作都不需使用USE 命令先打开表。USE 是VFP 中用来打开表的命令。
(20)B)【解析】LOOP 和EXIT 都可以出现在循环体内。LOOP 表示结束本次循环,开始下一次循环;EXIT 表示结束循环语句的执行,跳出循环执行后面的语句。
(21)A)【解析】数据库表与自由表相比,有如下特点:数据库表可以使用长表名、长字段名;可以为数据库表中的字段指定标题和添加注释;可以为数据库表中的字段指定默认值和输入掩码;数据库表的字段有默认的控件类;可以为数据库表规定字段级规则和记录级规则;数据库表支持主关键字、参照完整性和表之间的关联。
(22)A)【解析】使用查询设计器创建的是一个包含SQL SELECT语句的文本文件,其扩展文件名为.QPR 。而视图设计完成后,在磁盘上不保存文件,视图的结果保存在数据库中。
(23)B)【解析】SQL 中表示删除记录的语法可以简单表示为:DELETE FROM表名WHERE 条件。VFP 中删除记录的语法可以简单表示为:DELETE FOR条件。
(24)B)【解析】SEEK 是利用索引快速定位的命令,在数据表指定索引后,记录按照指定索引关键字的值排序,若索引关键字的值相同,必然连续出现,因此可以通过SKIP 查找下一条匹配的记录;CONTINUE 是和LOCNTE 语句搭配使用的。
(25)A)【解析】DELETE 表示逻辑删除,逻辑删除不影响RECCOUNT()函数的统计结果。
(26)C)【解析】在SQL 中用于插入记录的语法可简单表示为:INSERT INTO 表名 VALUES(插入记录各个字段值列表) 。
,(27)A)【解析】建立表单的命令为CREATE FORM。
(28)B)【解析】复选框控件可以通过其VALUE 属性设置或返回其状态(选中或未被选中) 。
(29)D)【解析】在按钮上显示的文字可以通过其CAPTION 属性进行设置。
(30)C)【解析】如果在删除规则选择“级联”,当删除父表中记录时,则自动删除子表中的所有相关记录。
(31)C)【解析】在SQL 语句中支持空值查询,用IS NULL表示。
(32)B)【解析】根据题意可知,要查询在“北京”或“上海”区域的商店信息,所以查询条件可以表示为:WHERE 区域名="北京" OR 区域名="上海" 。
(33)A)【解析】在SQL 超连接查询中,FROM 短语后用JOIN 表示需要连接的数据表,用ON 表示连接条件,WHERE 表示选择元组的条件。计算检索函数COUNT()应放在SELECT 短语之后(一般情况下,计算检索函数应放在SELECT 短语或HAVING 短语之后) 。
(34)D)【解析】可以用JOIN...ON... 语法进行超连结查询,也可以用WHERE 直接表示数据表连接条件。ORDER BY短语表示排序,DESC 短语表示降序。
(35)D)【解析】用WHERE 表示数据表连接条件;用GROUP BY表示分组,HAVING 总是跟在GROUP BY之后,用来限定分组,即HAVING 是用来表示选择分组的条件。
二、填空题
(1)线性结构
【解析】一般将数据结构分为线性结构与非线性结构两大类。如果一个非空的数据结构满足以下两个条件:
①有且只有一个根结点;
②每一个结点最多有一个前件,也最多有一个后件。
则称该数据结构为线性结构,所以带链栈为线性结构。
(2)n
【解析】在顺序存储的线性表中插入一个元素时,一般是从最后的元素向后移动一位,移动到插入的位置后,插入元素。在最坏情况下,需要移动n 个元素。
(3)结构化
【解析】采用结构化方法开发软件时,需求分析阶段建立数据流图。
(4)数据库管理系统(或DBMS)
【解析】一般认为,数据库系统包括四个部分:数据库、数据库管理系统、数据库应用程序、数据库管理员。其中DBMS 是为数据库的建立、使用和维护而配置的软件,是数据库系统的核心。
(5)关系
【解析】在实体-关系图中的联系通常被转换为关系。
(6)ON
【解析】SET CENTURY ON命令使日期中的年份显示4位数。
(7)DECLARE
【解析】在VFP 中,可以使用DIMENSION 短语或DECLARE 短语定义数组变量。
(8)2.25
,【解析】其中2^(1 2)表示2的3次方,其运算优先级最高。
(9)101 100
【解析】过程调用可以使用两种格式,格式1可简单表示为:130过程名WITH 参数表;格式2可简单表示为:过程名(参数表) 。SET UDFPARMS TO VALUE 命令只对第二种格式有效。题目中采用第一种格式调用过程p4,所以SET UDFPARMS TO VALUE对参数传递没有影响,x1引用传递,x2值传递。
(10)DO FORM
【解析】VFP 中运行表单的命令为:DO FORM<表单名>。
(11)AutoCenter
【解析】AutoCenter 属性指定表单初始化时是否自动在Visual FoxPro主窗口内居显示,默认值为.F. 。
(12)文本框
【解析】文本框可用于输入数据或编辑内存变量、数组元素和非备注型字段内的数据。
(13)mpr
【解析】菜单定义文件(扩展文件名为mnx) 存放着菜单的各项定义,但其本身是一个表文件,并不能运行。只有生成可执行的菜单文件(扩展文件名为mpr) 才能通过命令“D0<菜单文件名.mpr >”运行。
(14)页注脚
【解析】在VFP 中创建快速报表时,基本带区包括页标头、细节和页注脚。
(15)READ EVENTS
【解析】建立应用程序环境,显示出初始的用户界面之后,需要建立一个事件循环来等待用户的交互动作。控制事件循环的方法是执行READ EVENTS命令,该命令使Visual FoxPro开始处理诸如鼠标单击、键入等用户事件。如果主程序中没有包含READ EVENTS或等价命令,在原开发环境中可以正确的运行程序。但是,如果要在菜单或者主屏幕中运行应用程序,程序可能显示片刻,随即退出。