(28)假设新建了一个程序文件myProc.prg(不存在同名的.exe、.app和.fxp文件),然后在命令窗口输入命令DomyProc,执行该程序并获得正常的结果,现在用命令ERASEmyProc.prg删除该程序文件,然后再次执行命令DomyProc,产生的结果是()
A)出错(找不到文件)B)与第一次执行的结果相同
C)系统打开“运行”对话框,要求指定文件D)以上都不对
(29)以下关于视图描述错误的是
A)只有在数据库中可以建立视图B)视图定义保存在视图文件中
C)从用户查询的角度视图和表一样D)视图物理上不包括数据
(30)关闭释放表单的方法是
A)shutB)closeFormC)releaseD)close
(31)~(35)题使用如下数据表:
学生.DBF:
学号(C,8),姓名(C,6),性别(C,2)
选课.DBF:
学号(C,8),课程号(C,3),成绩(N,3)
(31)从“选课”表中检索成绩大于等于60且小于90的记录信息,正确的SQL命令是
A)SELECT*FROM选课WHERE成绩BETWEEN60AND89
B)SELECT*FROM选课WHERE成绩BETWEEN60TO89
C)SELECT*FROM选课WHERE成绩BETWEEN60AND90
D)SELECT*FROM选课WHERE成绩BETWEEN60TO90
(32)检索还未确定成绩的学生选课信息,正确的SQL命令是
A)SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课
WHERE学生.学号=选课.学号AND选课.成绩ISNULL
B)SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课
WHERE学生.学号=选课.学号AND选课.成绩=NULL
C)SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课
ON学生.学号=选课.学号WHERE选课.成绩ISNULL
D)SELECT学生.学号,姓名,选课.课程号FROM学生JOIN选课
ON学生.学号=选课.学号WHERE选课.成绩=NULL
(33)假设所有的选课成绩都已确定。
显示“101”号课程成绩最高的10%记录信息,正确的SQL命令是
A)SELECT*TOP10FROM选课ORDERBY成绩WHERE课程号="101"
B)SELECT*PERCENT10FROM选课ORDERBY成绩DESCWHERE课程号="101"
C)SELECT*TOP10PERCENTFROM选课ORDERBY成绩WHERE课程号="101"
D)SELECT*TOP10PERCENTFROM选课ORDERBY成绩DESCWHERE课程号="101"
(34)假设所有学生都已选课,所有的选课成绩都已确定,检索所有选课成绩都在90分以上(含)的学生信息,正确的SQL命令是
A)SELECT*FROM学生WHERE学号IN(SELECT学号FROM选课WHERE成绩>=90)
B)SELECT*FROM学生WHERE学号NOTIN(SELECT学号FROM选课WHERE成绩<90)
C)SELECT*FROM学生WHERE学号!
=ANY(SELECT学号FROM选课WHERE成绩<90)
D)SELECT*FROM学生WHERE学号=ANY(SELECT学号FROM选课WHERE成绩>=90)
(35)为“选课”表增加一个“等级”字段,其类型为C宽度为2,正确的SQL命令是
A)ALTERTABLE选课ADDFIELD等级C
(2)
B)ALTERTABLE选课ALTERFIELD等级C
(2)
C)ALTERTABLE选课ADD等级C
(2)
D)ALTERTABLE选课ALTER等级C
(2)
二、填空题(每空2分,共30分)
请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
注意:
以命令关键字填空的必须拼写完整。
(1)一个栈的初始状态为空。
首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为【1】。
(2)在长度为n的线性表中,寻找最大项至少需要比较【2】次。
(3)一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有【3】个结点。
(4)仅由顺序、选择(分支)和重复(循环)结构构成的程序是【4】程序。
(5)数据库设计的四个阶段是:
需求分析,概念设计,逻辑设计和【5】。
(6)VisualFoxpro的索引文件不改变表中记录的【6】顺序。
(7)表达式score<=100ANDscore>=0的数据类型为【7】。
(8)A=10
B=20
?
IIF(A>B,"A大于B","A不大于B")
执行上述程序段,显示的结果是【8】。
(9)参照完整性规则包括更新规则、删除规则和【9】规则。
(10)如果文本框中只能输入数字和正负号,需要设置文本框的【10】属性。
(11)在SQLSelect语句中使用GroupBy进行分组查询时,如果要求分组满足指定条件,则需要使用【11】子句来限定分组。
(12)预览报表myreport的命令是REPORTFORMmyreport 【12】。
(13)将学生表中学号左4位为“2010”的记录存储到新表new中的命令是:
SELECT*FROM学生WHERE【13】="2010"【14】DBFnew
(14)将学生表中的学号字段的宽度由原来的10改为12(字符型),应使用的命令是:
ALTERTABLE学生【15】
2010年9月二级VisualFoxPro笔试标准答案
1.BCDAA6.DDCCA11.ACDBC16.DCACD21.CABAC26.DCBBC31.ACDBC
1.1DCBA23452.n-13.254.结构化5.物理设计6.物理7.逻辑8.A不大于B9.插入10.InputMask11.Having12.Preview13.Left(学号,4)或substr(学号,1,4)14.Into15.Alter学号C(12)
2010年3月全国计算机等级考试二级笔试试卷
VisualFoxPro数据库程序设计
(考试时间90分钟,满分100分)
一、选择题(每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是
A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)
(2)算法的时间复杂度是指
A)算法的执行时间B)算法所处理的数据量
C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数
(3)软件按功能可以分为:
应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是
A)编辑软件B)操作系统C)教务管理系统D)浏览器
(4)软件(程序)调试的任务是
A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误
C)发现并改正程序中的所有错误D)确定程序中错误的性质
(5)数据流程图(DFD图)是
A)软件概要设计的工具B)软件详细设计的工具
C)结构化方法的需求分析工具D)面向对象方法的需求分析工具
(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于
A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段
(7)数据库管理系统中负责数据模式定义的语言是
A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言
(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是
A)文件B)数据库C)字段D)记录
(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段
(10)有两个关系R和T如下:
RT
ABCABC
a12c32
b22d32
c32
d32
则由关系R得到关系T的操作是
A)选择B)投影C)交D)并
(11)在VisualFoxPro中,编译后的程序文件的扩展名为
A)PRGB)EXEC)DBCD)FXP
(12)假设表文件TEST.DBF己经在当前工作区打开,要修改其结构,可以使用命令
A)MODISTRUB)MODICOMMTESTC)MODIDBFD)MODITYPETEST
(13)为当前表中所有学生的总分增加10分,可以使用的命令是
A)CHANGE总分WITH总分+10B)REPLACE总分WITH总分+10
C)CHANGEALL总分WITH总分+10D)REPLACEALL总分WITH总分+10
(14)在VisualFoxPro中,下面关于属性、事件、方法叙述错误的是
A)属性用于描述对象的状态
B)方法用于表示对象的行为
C)事件代码也可以象方法一样被显式调用
D)基于同一个类产生的两个对象的属性不能分别设置自己的属性值
(15)有如下赋值语句,结果为“大家好”的表达式是
a="你好"
b="大家"
A)b+AT(a,1)B)b+RIGHT(a,1)C)b+LEFT(a,3,4)D)b+RIGHT(a,2)
(16)在VisualFoxPro中,“表”是指
A)报表B)关系C)表格控件D)表单
(17)在下面的VisualFoxPro表达式中,运算结果为逻辑真的是
A)EMPTY(.NULL.)B)LIKE('xy?
','xyz')C)AT('xy','abcxyz')D)ISNULL(SPACE(0))
(18)以下关于视图的描述正确的是
A)视图和表一样包含数据B)视图物理上不包含数据
C)视图定义保存在命令文件中D)视图定义保存在视图文件中
(19)以下关于关系的说法正确的是
A)列的次序非常重要B)行的次序非常重要C)列的次序无关紧要D)关键字必须指定为第一列
(20)报表的数据源可以是
A)表或视图B)表或查询C)表、查询或视图D)表或其他报表
(21)在表单中为表格控件指定数据源的属性是
A、DataSourceB)RecordSourceC)DataFromD)RecordFrom
(22)如果指定参照完整性的删除规则为“级联”,则当删除父表中的记录时
A)系统自动备份父表中被删除记录到一个新表中
B)若子表中有相关记录,则禁止删除父表中记录
C)会自动删除子表中所有相关记录
D)不作参照完整性检查,删除父表记录与子表无关
(23)为了在报表中打印当前时间,这时应该插入一个
A)表达式控件B)域控件C)标签控件D)文本控件
(24)以下关于查询的描述正确的是
A)不能根据自由表建立查询B)只能根据自由表建立查询
C)只能根据数据库表建立查询D)可以根据数据库表和自由表建立查询
(25)SQL语言的更新命令的关键词是
A)INSERTB)UPDATEC)CREATED)SELECT
(26)将当前表单从内存中释放的正确语句是
A)ThisForm.CloseB)ThisForm.ClearC)ThisForm.ReleaseD)ThisFornn.Refresh
(27)假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“李彤”(C型字段)。
在命令窗口输入并执行如下命令:
姓名=姓名-"出勤"
?
姓名
屏幕上会显示
A)李彤B)李彤出勤C)李彤出勤D)李彤-出勤
(28)假设“图书”表中有C型字段“图书编号”,要求将图书编号以字母A开头的图书记录全部打上删除标记,可以使用SQL命令
A)DELETEFROM图书FOR图书编号="A"B)DELETEFROM图书WHERE图书编号="A%"
C)DELETEFROM图书FOR图书编号="A*"D)DELETEFROM图书WHERE图书编号LIKE"A%"
(29)下列程序段的输出结果是
ACCEPTTOA
IFA=[123]
S=0
ENDIF
S=1
?
S
A)0B)1C)123D)由A的值决定
第(30)到第(35)题基于图书表、读者表和借阅表三个数据库表,它们的结构如下:
图书(图书编号,书名,第一作者,出版社):
图书编号、书名、第一作者和出版社为C型字段,图书编号为主关键字;
读者(借书证号,单位,姓名,职称):
借书证号、单位、姓名、职称为C型字段,借书证号为主关键字;
借阅(借书证号,图书编号,借书日期.还书日期):
借书证号和图书编号为C型字段,借书日期和还书日期为D型字段,还书日期默认值为NULL,借书证号和图书编号共同构成主关键字。
(30)查询第一作者为“张三”的所有书名及出版社,正确的SQL语句是
A)SELECT书名,出版社FROM图书WHERE第一作者=张三
B)SELECT书名,出版社FROM图书WHERE第一作者="张三"
C)SELECT书名,出版社FROM图书WHERE"第一作者"=张三
D)SELECT书名,出版社FROM图书WHERE"第一作者"="张三"
(31)查询尚未归还书的图书编号和借书日期,正确的SQL语句是
A)SELECT图书编号,借书日期FROM借阅WHERE还书日期=""
B)SELECT图书编号,借书日期FROM借阅WHERE还书日期=NULL
C)SELECT图书编号,借书日期FROM借阅WHERE还书日期ISNULL
D)SELECT图书编号,借书日期FROM借阅WHERE还书日期
(32)查询“读者”表的所有记录并存储于临时表文件one中的SQL语句是
A)SELECT*FROM读者INTOCURSORoneB)SELECT*FROM读者TOCURSORone
C)SELECT*FROM读者INTOCURSORDBFoneD)SELECT*FROM读者TOCURSORDBFone
(33)查询单位名称中含“北京”字样的所有读者的借书证号和姓名,正确的SQL语句是
A)SELECT借书证号,姓名FROM读者WHERE单位="北京%"
B)SELECT借书证号,姓名FROM读者WHERE单位="北京*"
C)SELECT借书证号,姓名FROM读者WHERE单位LIKE"北京*"
D)SELECT借书证号,姓名FROM读者WHERE单位LIKE"%北京%"
(34)查询2009年被借过书的图书编号和借书日期,正确的SQL语句是
A)SELE