(30)~(35)题使用如下数据表: 学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生日期(D) 选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1)
(30)查询所有1982年3月20日以后(含)出生、性别为男的学生,正确的SQL语句是 A.SELECT * FROM 学生WHERE 出生日期>={^1982-03-20} AND 性别=”男” B.SELECT * FROM 学生WHERE 出生日期<={^1982-03-20} AND 性别=”男” C.SELECT * FROM 学生WHERE 出生日期>={^1982-03-20} OR 性别=”男” D.SELECT * FROM 学生WHERE 出生日期<={^1982-03-20} OR 性别=”男” (31)计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是 A.SELECT AVG(成绩) FROM 选课WHERE 姓名=”刘明” B.SELECT AVG(成绩) FROM学生,选课WHERE 姓名=”刘明”
C.SELECT AVG(成绩) FROM学生,选课WHERE学生.姓名=”刘明”
D.SELECT AVG(成绩) FROM学生,选课WHERE学生.学号=选课.学号 AND姓名=”刘明”
(32)假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为”101”课程的平均成绩,正确的SQL 语句是
A.SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课WHERE 课程号=”101” GROUP BY 专业 B.SELECT SUBS(学号,3,2) AS专业, AVG(成绩) AS平均分 FROM 选课WHERE 课程号=”101” GROUP BY 1 C.SELECT SUBS(学号,3,2) AS专业, AVG(成绩) AS平均分 FROM 选课WHERE 课程号=”101” ORDER BY 专业
D.SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课WHERE 课程号=”101” ORDER BY 1
(33)查询选修课程号为”101”课程得分最高的同学,正确的SQL语句是
A.SELECT 学生.学号,姓名 FROM学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=”101” AND 成绩>=ALL(SELECT 成绩 FROM 选课)
B.SELECT 学生.学号,姓名 FROM学生,选课 WHERE 学生.学号=选课.学号AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=”101”)
C.SELECT 学生.学号,姓名 FROM学生,选课 WHERE 学生.学号=选课.学号AND 成绩>=ANY(SELECT 成绩 FROM 选课 WHERE 课程号=”101”)
D.SELECT 学生.学号,姓名 FROM学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=”101” AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE课程号=”101”)
(34)插入一条记录到“选课”表中,学号、课程号和成绩分别是“02080111”、“103”和80,正确的SQL语句是
A.INSERT INTO 选课 VALUES(“02080111”,”103”,80)
B.INSERT VALUES(“02080111”,”103”,80)TO 选课(学号,课程号,成绩) C.INSERT VALUES(“02080111”,“103”,80)INTO 选课(学号,课程号,成绩)
D.INSERT INTO 选课(学号,课程号,成绩) FORM VALUES(“02080111”,”103”,80)
(35)将学号为“02080110”、课程号为“102”的选课记录的成绩改为92,正确的SQL语句是 A.UPDATE选课SET成绩WITH 92 WHERE学号=”02080110”AND课程号=”102” B.UPDATE选课SET 成绩=92 WHERE学号=”02080110 AND课程号=”102”
C.UPDATE FROM选课SET成绩WITH 92 WHERE学号=”02080110”AND课程号=”102”
D.UPDATE FROM选课SET成绩=92 WHERE学号=”02080110” AND课程号=”102”
请将每一个空的正确答案写在答题卡(1) ~(15)序号的横线上,答在试卷上不得分。 注意:以命令关键字填空的必须拼写完整,
(1)软件需求规格说明书应具有完整性,无岐义性、正确性、可验证性、可修改性等特征,其中最重要的是(1) 。
(2)在两种基本测试方法中,(2) 测试的原则之一是保证所测模块中每一个独立路径至少执行一次。
(3)线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的(3) 存储结构。
(4)对下列二义树进行中序遍历的结果为(4) 。 (5)在E-R图中,矩形表示(5) 。
(6)如下命令查询雇员表中“部门号“字段为空值的记录
SELECT * FROM 雇员WHERE部门号(6) 。
(7)在SQL的SELECT查询中,HAVING字句不可以单独使用,总是跟在(7) 子句之后一起使用。 (8)在SQL的SELECT 查询时,使用(8) 子句实现消除查询结果中的重复记录。 (9)在Visual FoxPro 中修改表结构的非SQL命令是(9) 。
(10)在Visual FoxPro中,在运行表单时最先引发的表单事件是(10)事件。
(11)在Visual FoxPro中,使用LOCATE ALL 命令按条件对表中的记录进行查找,若查不到记录,函数EOF()的返回值应是(11) 。
(12)在Visual FoxPro表单中,当用户使用鼠标单击命令按钮时,会触发命令按钮的(12)事件。 (13)在Visual FoxPro中,假设表单上有一选项组:○男 ○女,该选项组的Value属性值赋为0。当其中的第一个选项按钮“男“被选中,该选项组的Value属性值为(13) 。
(14)在Visual FoxPro表单中,用来确定复选框是否被选中的属性是(14) 。 (15)在SQL中,插入、删除、更新命令依次是INSERT、DELETE和(15) 。
2007年9月全国计算机等级考试二级笔试 Visual FoxPro数据库程序设计 参考答案 一、选择题 (1)D 软件是指 D)程序、数据与相关文档的完整集合 (2)B 软件调试的目的是 B)改正错误 (3)C 在面向对象方法中,实现信息隐蔽是依靠 C)对象的封装 (4)A 下列叙述中,不符合良好程序设计风格要求的是 A)程序的效率第一,清晰第二 (5)A 下列叙述中正确的是 A)程序执行的效率与数据的存储结构密切相关。 (6)D 下列叙述中正确的是 D)以上三种说法都不对。 A)数据的逻辑结构与存储结构必定是一一对应的 B)用于计算机存储空间是向量式的存储结构, 因此,数据的存储结构一定是线性结构。 C)程序设计语言中的数组一般是顺序结构, 因此,利用数组只能处理线性结构。 (7)C 冒泡排序在最坏情况下的比较次数是 n(n-1)/2 (8)A 一棵二叉树有70个叶子结点与80个度为1的结点,则总结点为 A)219。 【分析:二叉树的度为2,度为2的结点比度为0的叶子结点少一个,即为69个,因此合计为70+80+69=219】 (9)B 下列叙述中正确的是 B)数据库技术的根本目标是要解决数据的共享问题 (10)C 下列叙述中正确的是 C)一个关系的属性名表称为关系模式 (11)B 在VF中,以窗口形式出现,用来创建和修改表、表单等的可视化工具称为 B)设计器。 (12)A 命令 VARTYPE(TIME())的结果是 A)C 【分析:TIME()函数的返回值类型为字符型】 (13)D 命令 LEN(SPACE(3)-SPACE(2))的结果是 D)
5 【分析:在字符运算中,-的作用为连接运算】 (14)C 在VF中,菜单程序文件的默认扩展名是 C)mpr (15)A 年份用4位数字显示,使用的设置命令为 A)
SET CENTURY ON (16)A 建立一个索引,首先按职称排序、职称相同再按性别排序,正确的命令是 A)INDEX ON 职称+性别 TO ttt (17)A 在VF中,UnLoad事件的触发时机是 A)释放表单 (18)A 命令SELECT 0的功能是 A)选择编号最小的未使用工作区 (19)B 关于数据库表和自由表的叙述中,错误的是 B)数据库表和自由表都支持表间联系和参展完整性。 (20)C 有关ZAP命令的描述中,正确的是 C)ZAP命令能删除当前表的全部记录 (21)B 在视图设计器中有,而在查询设计器中没有的选项卡是 B)更新条件 (22)D 使用查询设计器创建查询时,为了指定在查询结果中是否包含重复记录,使用的选项卡时 D)杂项 (23)C 在VF中,过程的返回语句是 C)RETURN (24)A 在数据库表上的字段有效性规则是 A)逻辑表达式 (25)B 设置文本框的Value属性为={^2001-9-10}-{^2001-8-20},则Value属性值的数据类型为 B)数值型 【分析:日期型数据相减,结果为数值型,表示相差的天数】 (26)B 在SELECT语句中将查询结果存储到临时表使用的短语 B)INTO CURSOR (27)C 下列属于属性的是 C)Caption (28)A 下面程序计算一个整数的各位数字之和,在下划线处填写的语句是 A)x=int(x/10)
(29)D 在ALTER TABLE语句中,为了增加一个新的字段应该使用短语 D)ADD (30)A 查询1982年3月20日以后(含)出生、性别为男的学生,正确的SQL语句是 A)SELECT * FROM 学生 WHERE 出生日期>={^1982-03-20} AND 性别=”男” (31)D 计算刘明同学选修所有课程的平均成绩,正确的SQL语句是 D)SELECT AVG(成绩) FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 姓名=”刘明” (32)B 假定学号的第3、4位为专业代码,要计算选修课程号是“101”课程的平均成绩,正确的SQL语句是 B)SELECT SUBS(学号,3,2) AS 专业,AVG(成绩) AS 平均分 FROM 选课 WHERE 课程号=”101” GROUP BY 1 (33)D 查询选修课程号是“101”课程得分最高的同学,正确的SQL语句是 D)SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=”101” AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=”101”) (34)A 插入一个记录到“选课”表中,学号、课程号和成绩分别是“02080111”、“103”和80,正确的SQL语句是 A)INSERT INTO 选
课 VALUES(“02080111”,”103”,80) (35)B 将学号为“02080110”、课程号为“102”的选课记录的成绩改为92,正确的SQL语句是 B)UPDATE 选课 SET 成绩=92 WHERE 学号
=”02080110” AND 课程号=”102” 二、填空题 注意:以命令关键字填空的必须拼写完整。 (以下答案不区分字母大小写) 【1】无岐义性 软件需求规格说明书最重要的特点是 无岐义性。 【2】白盒 两种基本测试方法中,白盒 测试的原则之一是保证所测模块中每一个独立路径只要要执行一次。 【3】顺序 循环队列是队列的 顺序 存储结构。 【4】ACBDFEHGP 二叉树中序遍历的结果为 ACBDFEHGP 【5】实体集 在E-R图中,矩形表示 实体集 【6】IS NULL 查询雇员表中“部门号”字段为空值的记录 SELECT * FROM 雇员 WHERE 部门号 IS NULL 【7】GROUP BY 在SELECT查询中,HAVING子句不可以单独使用,总是跟
在 GROUP BY 子句之后。 【8】DISTINCT 在SELECT查询中,使用 DISTINCT 子句实现消除查询结果中的重复记录。 【9】MODIFY STRUCTURE 在VF中修改表结构的非SQL命令
是 MODIFY STRUCTURE。 【10】LOAD 在VF中,运行表单时最先引发表单事件的是 LOAD 事
件。 【11】.T. 在VF中,使用LOCATE ALL命令按条件对表中的记录进行查找,若找不到记录,函数EOF()的返回值是 .T.。 【12】CLICK 在VF中,用户用鼠标单击命令按钮时,会触发命令按钮的 CLICK 事件。 【13】1 在VF中,假设表单中有一选项组: ○男 ○女,该选项组的Valuse属性值赋为0,当其中第一个选项按钮“男”被选中,该选项组的Valuse属性值
为 1。 【14】VALUE 在VF中,用来确定复选框是否被选中的属性是 Valuse。 【15】UPDATE 在SQL中,插入、删除、更新命令依次是INSERT、DELETE和UPDATE
2008年4月全国计算机等级考试二级VF笔试试题
一选择题(每小题2分,共70分)
(1)程序流程图中带有箭头的线段表示的是: A.图元关系 B.数据流 C.控制流 D.调用关系 (2)结构化程序设计的基本原则不包括
A.多态性 B.自顶向下 C.模块化 D.逐步求精 (3)软件设计中模块划分应遵循的准则是
A.低内聚低耦合 B.高内聚低耦合 C.低内聚高耦合 D.高内聚高耦合 (4)在软件开发中,需求分析阶段产生的主要文档是
A.可行性分析报告 B.软件需求规格说明书 C.概要设计说明书 D.集成测试计划 (5)算法的有穷性是指
A.算法程序的运行时间是有限的 B.算法程序所处理的数据量是有限的 C.算法程序的长度是有限的 D.算法只能被有限的用户使用
(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是 A.快速排序 B.冒泡排序 C.直线插入排序 D.堆排序 (7)下列关于栈的叙述正确的是
A.栈按“先进先出”组织数据 B.栈按“先进后出”组织数据 C.只能在栈底插入数据 D.不能删除数据
(8)在数据库设计中,将E-R图转换成关系数据模型的过程属于 A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 (9)有三个关系R、S和T如下: R B C D a 0 k1 b 1 n1 S B C D f 3 h2 a 0 k1 n 2 x1 T B C D a 0 k1
由关系R和S通过运算得到关系T,则所使用的运算为 A.并 B.自然连接 C.笛卡尔积 D.交 (10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为
A.课号,成绩 B.学号,成绩 C.学号,课号 D.学号,姓名,成绩 (11)在超市营业过程中,每个时段要安排一个班组上岗值班,每个收款口要配备两名收款员配合工作,共同使用一套收款设备为顾客服务,在超市数据库中,实体之间属于一对一关系的是 A.“顾客”与“收款口”的关系 B.“收款口”与“收款员”的关系 C.“班组”与“收款口”的关系 D.“收款口”与“设备”的关系
(12)在教师表中,如果要找出职称为“教授”的教师,所采用的关系运算是 A.选择 B.投影 C.联接 D.自然联接
(13)在SELECT语句中使用ORDERBY是为了指定
A.查询的表 B.查询结果的顺序 C.查询的条件 D.查询的字段
(14)有下程序,请选择最后在屏幕显示的结果: SET EXACT ON s=\s=\
s=\.one B.two C.three D.four (15)如果内存变量和字段变量均有变量名\姓名\,那么引用内存的正确方法是: A.M.姓名 B.M_>姓名 C.姓名 D.A和B都可以
(16)要为当前表所有性别为\女\的职工增加100元工资,应使用命令 A.REPLACE ALL 工资 WITH 工资+100
B.REPLACE 工资 WITH 工资+100 FOR 性别=\女\C.REPLACE ALL 工资 WITH 工资+100
D.REPLACE ALL 工资 WITH 工资+100 FOR 性别=\女\(17)MODIFY STRUCTURE命令的功能是:
A.修改记录值 B.修改表结构 C.修改数据库结构 D.修改数据库或表结构 (18)可以运行查询文件的命令是:
A.DO B.BROWSE C.DO QUERY D.CREATE QUERY (19)SQL 语句中删除视图的命令是:
A.DROP TABLE B.DROP VIEW C.ERASE TABLE D.ERASE VIEW
(20)设有订单表order(其中包括字段:订单号,客户号,职员号,签订日期,金额),查询2007年所签订单的信息,并按金额降序排序,正确的SQL命令是: A. SELECT * FROM order WHERE YEAR(签订日期)=2007 ORDER BY 金额 DESC B. SELECT * FROM order WHILE YEAR(签订日期)=2007 ORDER BY 金额 ASC C. SELECT * FROM order WHERE YEAR(签订日期)=2007 ORDER BY 金额 ASC D. SELECT * FROM order WHILE YEAR(签订日期)=2007 ORDER BY 金额 DESC 21)设有订单表order(其中包括字段:订单号,客户号,客户号,职员号,签订日期,金额),删除2002年1月1日以前签订的订单记录,正确的SQL命令是: A.DELETE TABLE order WHERE 签订日期<{^2002-1-1} B.DELETE TABLE order WHILE 签订日期>{^2002-1-1} C.DELETE FROM order WHERE 签订日期<{^2002-1-1} D.DELETE FROM order WHILE 签订日期>{^2002-1-1} (22)下面属于表单方法名(非事件名)的是: A.Init B.Release C.Destroy D.Caption
(23)下列表单的哪个属性设置为真时,表单运行时将自动居中: A.AutoCenter B.AlwaysOnTop C.ShowCenter D.FormCenter
(24)下面关于命令DO FORM XX NAME YY LINKED的陈述中,正确的是: