1、国家二级( VF)机试模拟试卷 73及答案与解析 一、选择题 1 下列叙述中正确的是( )。 ( A)算法就是程序 ( B)设计算法时只需要考虑数据结构的设计 ( C)设计算法时只需要考虑结果的可靠性 ( D)以上三种说法都不对 2 下列叙述中正确的是( )。 ( A)有一个以上根结点的数据结构不一定是非线性结构 ( B)只有一个根结点的数据结构不一定是线性结构 ( C)循环链表是非线性结构 ( D)双向链表是非线性结构 3 下列关于二叉树的叙述中,正确的是( )。 ( A)叶子结点总是比度为 2的结点少一个 ( B)叶子结点总是比度为 2的结点多一个 ( C)叶子结点数是度为 2的结点数的两
2、倍 ( D)度为 2的结点数是度为 1的结点数的两倍 4 软件生命周期中的活动不包括( )。 ( A)市场调研 ( B)需求分析 ( C)软件测试 ( D)软件维护 5 某系统总体结构图如下图所示: 该系统总体结构图的深度是( )。 ( A) 7 ( B) 6 ( C) 3 ( D) 2 6 程序调试的任务是( )。 ( A)设计测试用例 ( B)验证程序的正确性 ( C)发现程 序中的错误 ( D)诊断和改正程序中的错误 7 下列关于数据库设计的叙述中,正确的是( )。 ( A)在需求分析阶段建立数据字典 ( B)在概念设计阶段建立数据字典 ( C)在逻辑设计阶段建立数据字典 ( D)在物理
3、设计阶段建立数据字典 8 数据库系统的三级模式不包括( )。 ( A)概念模式 ( B)内模式 ( C)外模式 ( D)数据模式 9 有三个关系 R、 S和 T如下:则由关系 R和 S得到关系 T的操作是( )。 ( A)自然连接 ( B)交 ( C)投影 ( D)并 10 下列选项中属于面向对象设计方法主要特征的是( )。 ( A)继承 ( B)自顶向下 ( C)模块化 ( D)逐步求精 11 在 Visual FoxPro中,要想将日期型或日期时间型数据中的年份用 4位数字显示,应当使用设置命令( )。 ( A) SET CENTURY ON ( B) SET CENTURY TO4 (
4、C) SET YEAR TO 4 ( D) SET YAER TO yyyy 12 假设在数据库表的表设计器中,字符型字段 “性别 ”已被选中,正确的有效性规则设置是( ) 。 ( A) “男 “ OR “女 “ ( B)性别 =“男 “ OR “女 “ ( C) $“男女 “ ( D)性别 $“男女 “ 13 在 Visual FoxPro中,下面关于属性、事件、方法叙述错误的是( )。 ( A)属性用于描述对象的状态 ( B)方法用于表示对象的行为 ( C)事件代码也可以像方法一样被显式调用 ( D)基于同一个类产生的两个对象不能分别设置自己的属性值 14 在建立表间一对多的永久联系时,主
5、表的索引类型必须是( )。 ( A)主索引或候选索引 ( B)主索引、候选索引或唯 一索引 ( C)主索引、候选索引、唯一索引或普通索引 ( D)可以不建立索引 15 在表设计器中设置的索引包含在( )。 ( A)单独索引文件中 ( B)唯一索引文件中 ( C)结构复合索引文件中 ( D)非结构复合索引文件中 16 假设表 “学生 dbf”已在某个工作区打开,且取别名为 student。选择 “学生 ”表所在工作区为当前工作区的命令是( )。 ( A) SELECT O ( B) USE 学生 ( C) SELECT 学生 ( D) SELECT student 17 以下关于 视图的描述正确
6、的是( )。 ( A)视图和表一样包含数据 ( B)视图物理上不包含数据 ( C)视图定义保存在命令文件中 ( D)视图定义保存在视图文件中 18 以下关于关系的说法正确的是( )。 ( A)列的次序非常重要 ( B)行的次序非常重要 ( C)列的次序无关紧要 ( D)关键字必须指定为第一列 19 报表的数据源可以是( )。 ( A)表或视图 ( B)表或查询 ( C)表、查询或视图 ( D)表或其他报表 20 如果指定参照完整性的删除规则为 “级联 ”,则当删 除父表中的记录时( )。 ( A)系统自动备份父表中被删除记录到一个新表中 ( B)若子表中有相关记录,则禁止删除父表中记录 ( C
7、)会自动删除子表中所有相关记录 ( D)不作参照完整性检查,删除父表记录与子表无关 21 下列程序段的输出结果是( )。 ACCEPT TO A IF A=123 S=0 ENDIF S=I ?S ( A) 0 ( B) 1 ( C) 123 ( D)由 A的值决定 22 设 A= 6*8 -2、 B=6*8-2、 C=“6*8 -2“,属于合法表达式的是( )。 ( A) A+B ( B) B+C ( C) A-C ( D) C-B 23 在当前打开的表中,显示 “书名 ”以 “计算机 ”开头的所有图书,下列命令中正确的是( )。 ( A) list for书名 =“计算机 *“ ( B)
8、list for书名 =“计算机 “ ( C) list for书名 =“计算机 “ ( D) list where书名 =“计算机 “ 24 连续执行以下命令,最后一条命令的输出结果是( )。 SET EXACT OFF a=“北京 “ b=( a=“北京交通 “) ?b ( A)北 京 ( B)北京交通 ( C) F ( D)出错 25 设 x=“123“, y=123, k=“y“,表达式 x+&k的值是( )。 ( A) 123123 ( B) 246 ( C) 123y ( D)数据类型不匹配 26 运算结果不是 2010的表达式是( )。 ( A) int( 2010 9) ( B
9、) round( 2010 1 , 0) ( C) ceiling( 2010 1) ( D) floor( 2010 9) 27 将当前表单从内存中释放的正确语句是( )。 ( A) ThisForm Close ( B) ThisForm Clear ( C) ThisForm Release ( D) ThisForm Refresh 28 假设有 student表,正确添加字段 “平均分数 ”的命令是( )。 ( A) ALTER TABLE student ADD平均分数 F( 6, 2) ( B) ALTER DBF student ADD平均分数 F6, 2 ( C) CHANG
10、E TABLE student ADD平均分数 F( 6, 2) ( D) CHANGE TABLE student INSERT乎均 分数 6, 2 29 学生表中有 “学号 ”、 “姓名 ”和 “年龄 ”三个字段, SQL语句 “SELECT学号 FROM学生 ”完成的关系操作称为( )。 ( A)选择 ( B)投影 ( C)连接 ( D)并 30 若 SQL语句中的 ORDER BY短语中指定了多个字段,则( )。 ( A)依次按自右至左的字段顺序排序 ( B)只按第一个字段排序 ( C)依次按自左至右的字段顺序排序 ( D)无法排序 31 与 “SELECT*FROM教师表 INTO
11、DBF A”等价的语句是( )。 ( A) SELECT*FROM教师表 TO DBF A ( B) SELECT*FROM教师表 TO TABLE A ( C) SELECT*FROM教师表 INTO TABLE A ( D) SELECT*FROM教师表 INTO A 32 查询 “教师表 ”的全部记录并存储于临时文件 one dbf中的 SQL命令是( )。 ( A) SELECT*FROM教师表 INTO CURSOR one ( B) SELECT*FROM教师表 TO CURSOR one ( C) SELECT*FROM教师表 INTO CURSOR DBF one ( D) S
12、ELECT*FROM教师表 TO CURSOR DBF one 33 “教师表 ”中有 “职工号 ”、 “姓名 ”和 “工龄 ”等字段,其中 “职工号 ”为主关键字,建立 “教师表 ”的 SQL命令是( )。 ( A) CREATE TABLE教师表(职工号 C( 10) PRIMARY,姓名 C( 20),工龄I) ( B) CREATE TABLE教师表(职工号 C( 10) FOREIGN,姓名 C( 20),工龄I) ( C) CREATE TABLE教师表(职工号 C( 10) FOREIGN KEY,姓名 C( 20),工 龄 I) ( D) CREATE TABLE教师表(职工号
13、 C( IO) PRIMARY KEY,姓名 C( 20),工龄 I) 34 创建一个名为 student的新类,保存新类的类库名称是 mylib,新类的父类是Person,正确的命令是( )。 ( A) CREATE CLASS mylib OF student As Person ( B) CREATE CLASS student OF Person As mylib ( C) CREATE CLASS student OF mylib As Person ( D) CREATE CLASS Person OF mylib As student 35 “教师表 ”中有 “职工号 ”、 “姓
14、名 ”、 “工龄 ”和 “系号 ”等字段, “学院表 ”中有 “系名 ”和 “系号 ”等字段,计算 “计算机 ”系教师总数的命令是( )。 ( A) SELECT COUNT( *) FROM教师表 INNER JOIN学院表 ON教师表系号 =学院表系号 WHERE系名 =“计算机 “ ( B) SELECT COUNT( *) FROM教师表 INNER JOIN学院表 ON教师表,系号 =学院表系号 ORDERBY教师表 系号 HAVING学院表系名 =“计算机 “ ( C) SELECT SUM( *) FROM教师表 INNER JOIN学院表 ON教师表系号 =学院表,系号 CRO
15、UP BY教师表系号 HAVINC学院表系名 =“计算机 “ ( D) SELECT SUM( *) FROM教师表 INNER JOIN学院表 ON教师表系号 =学院表系号 ORDER BY教师表系号 HAVING学院表系名 =“计算机 “ 36 “教师表 ”中有 “职工号 ”、 “姓名 ”、 “工龄 ”和 “系号 ”等字段, “学院表 ”中有 “系名 ”和 “系号 ”等字段,求教师总数最多的 系的教师人数,正确的命令序列是( )。 ( A) SELECT教师表系号, COUNT( *) AS人数 FROM教师表,学院表GROUP BY教师表系号 INTODBF TEMPSELECT MAX
16、(人数) FROM TEMP ( B) SELECT教师表,系号, COUNT( *) FROM教师表,学院表 WHERE教师表系号 =学院表系号 GROUP BY教师表,系号 INTO DBF TEMPSELECT MAX(人数) FROM TEMP ( C) SELECT教师表系号, COUNT( *) AS人数 FROM教师表, 学院表WHERE教师表,系号 =学院表系号 GROUP BY教师表系号 TO FILE TEMPSELECT MAX(人数) FROM TEMP ( D) SELECT教师表系号, COUNT( *) AS人数 FROM教师表,学院表WHERE教师表系号 =学院
17、表系号 GROUP BY教师表系号 INTO DBF TEMPSELECT MAX(人数) FROM TEMP 37 假设 “图书 ”表中有 C型字段 “图书编号 ”,要求将图书编号以字母 A开头的图书记录全部打上删除标记,可以使用 SQL命令( )。 ( A) DELETE FROM图书 FOR图书编号 =“A“ ( B) DELETE FROM图书 WHERE图书编号 =“A “ ( C) DELETE FROM图书 FOR图书编号 =“A*“ ( D) DELETE FROM图书 WHERE图书编号 LIKE“A “ 38 下列表单的哪个属性设置为真时,表单运行时将自动居中( )。 (
18、A) AutoCenter ( B) AlwaysOnTop ( C) ShowCenter ( D) FormCenter 39 下列关于命令 DO FORM XX NAME YY LINKED的陈述中,正确的是( )。 ( A)产生表单对象引用变量 XX,在释放变量 XX时自动关闭表单 ( B)产生表单对象引用变量 XX,在释放变量 XX时并不关闭表单 ( C)产生表单对象引用变量 YY,在释放变量 YY时自动关闭表单 ( D)产生表单对象引用变量 YY,在释放变量 YY时并不关闭表单 40 表单名为 myForm的表单中有一个页框 myPageFrame,将该页框的第 3页( Page3
19、)的标题设置为 “修改 ”,可以使用代码( )。 ( A) myForm Page3 myPageFrame Caption=“修改 “ ( B) myForm myPageFrame Caption Page3=“修改 “ ( C) Thisform myPageFrame Page3 Caption=“修改 “ ( D) Thisf orm myPageFrame Caption Page3=“修改 “ 二、基本操作题 41 在考生文件夹下,完成如下操作:( 1)打开考生文件夹下的表单 one,如下图所示,编写 “显示 ”命令按钮的 Click事件代码,使表单运行时单击该命令按钮则在Tex
20、t1文本框中显示当前系统日期的年份(提示:通过设置 文本框的 Value属性实现,系统日期函数是 date(),年份函数是 year()。( 2)打开考生文件夹下的表单 two,如下图所示,选择 “表单 ”菜单中的 “新建方法程序 ”命令,在 “新建方法程序 ”对话框中,为该表单新建一个 test方法,然后双击表单,选择该方法编写代码,该方法的功能是使“测试 ”按钮变为不可用,即将该按钮的 Enabled属性设置为 F。( 3)创建一个名为 study_report的快速报表,报表包含表 “课程表 ”中的所有字段。( 4)为 “教师表 ”的 “职工号 ”字段增加有效性规则:职工号左边 3位字符
21、是 110,表达式为: LEFT(职工号, 3) =“110”。 三、简单应用题 42 在考生文件夹下完成下列操作。 (1)在 TheatDB数据库中新建一个名为 “好评 ”的视图,视图的功能是查询 2013年 7月 1日以后 (不含)观看的 “影评 ”为 “好 ”的评价数最多的前 10名的电影信息;查询结果包含电影编号、电影名、类型和评价数;各记录按照评价数降序排列,若评价数相同则按电影名升序排列。最后利用刚创建的视图 “好评 ”查询视图中的全部信息,并将结果保存到表 estimate中。 (2)创建一个快捷菜单 MyMenu,实现如下图所示的功能 ,即通过右击表单 MyForm中的文本框时
22、弹出的快捷菜单实现文本框字体的设置。具体要求如下: 在 MyMenu的 “设置 ”代码中添加接受参数语句: PARAMETERS mfRef。 在快捷菜单MyMenu中添加 “宋体 ”黑体 ”和 “楷体 ”菜单项,分别实现将调用快捷菜单的控件或对象的字体名属性 (FontName)设置为 “宋体 ”“黑体 ”和 “楷体 ”,这些功能都通过执行 “过程 ”完成。 生成菜单程序文件。 打开表单 MyForm,在文本框 Text1的RightClick事件代码中添加调用快捷菜单 MyMer u的命令,实现通过快 捷菜单设置 Text1文本字体的功能。 四、综合应用题 43 打开考生文件夹下的 SDB
23、数据库,完成如下综合应用:创建一个标题名为 “查询 ”、文件名为 testb的表单,如下图所示。 表单要求如下:( 1)为表单建立数据环境,并向数据环境中添加 “学生表 ”。( 2)表单启动后自动居中。( 3)向该表单中添加一个标签、一个文本框、一个表格和两个命令按钮。 标签对象( Labell)的标题文本为 “学生注册日期 ”,文本框( Text1)用于输入学生注册日期,表格 ( Cridl)用于显示结果。 命令按钮的功能如下:a “查询 ”按 钮( Command1)的功能是在该按钮的 Click事件中使用 SQL的SELECT命令从 “学生表 ”中查询学生注册日期等于文本框中指定的注册日
24、期的学生的学号、姓名、年龄、性别、班级和注册日期,查询结果按年龄降序排序,并将查询结果在表格控件中显示,同时将查询结果存储到表 TABE中。注意:查询结果存储到表 TABE之前,应将表 TABE中的记录清空。 TABE表是已经建立好的表,它与学生表的结构不完全一样,多两个字段。 b “退出 ”按钮( Command2)的功能是关闭并释放表单。注意:需将表格控件的 RecordSourceType属性值设置为 “4- SQL说明 ”;表单设计完成后,运行该表单,查询注册日期等于 2005年 9月 2日的学生信息。 国家二级( VF)机试模拟试卷 73答案与解析 一、选择题 1 【正确答案】 D
25、【试题解析】 算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以 A)错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。 2 【正确答案】 B 【试题解析】 线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,所以 B)正 确。所以有一个以上根结点的数据结构一定是非线性结构,所以 A)错误。循环链表和双向链表都是线性结构的数据结构。 3 【正确答案】 B 【试题解析】 根据二叉树的基本性质 3:在任意一棵二叉树中,度为 0的叶子结点总是比度为 2的结点多一个。所以选择 B)。 4 【正确答案】 A 【试题解析】 软件生命
26、周期可以分为软件定义、软件开发与软件运行维护三个阶段。主要活动阶段是:可行性研究与计划阶段,需求分析,软件设计,软件实现,软件测试,运行和维护,所以选择 A)。 5 【正确答案】 C 【试题解 析】 根据总体结构图可以看出该树的深度为 3,比如: XY系统 功能 2-功能 2 1,就是最深的度数的一个表现。 6 【正确答案】 D 【试题解析】 程序调试的任务是诊断和改正程序中的错误。 7 【正确答案】 A 【试题解析】 数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。 8 【正确答案】 D 【试题解析】 数据库系统的三级模式是概念模式、外模式和内模式,所以选择D)。 9
27、 【正确答案】 A 【试题解析】 自然连接是一种特殊的等值连接,它要求两 个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据 T中元组可以判断 R和 S做的是自然连接操作。 10 【正确答案】 A 【试题解析】 面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性,所以选择 A)。 11 【正确答案】 A 【试题解析】 命令格式 SET CENTURY ONIOFFITO的功能是用于决定如何显示或解释一个日期数据的年份。 ON显示世纪,即用 4位数字表示年份; OFF不显示世纪,即用 2位数字表示年份; TO决定如何解释一个用 2位数字年份 表示的日期
28、所处的世纪。 12 【正确答案】 D 【试题解析】 建立字段有效性规则比较简单直接的方法是在表设计器中建立,在表设计器的 “字段 ”选项卡中有一组定义字段有效性规则的项目,它们是 “规则 ”、“信息 ”、 “默认值 ”三项。其中 “规则 ”是逻辑表达式, “信息 ”是字符串表达式, “默认值 ”的类型则以字段的类型确定。所以正确的有效性规则设置必须为逻辑表达式,四个选项中只有 D)选项是正确的逻辑表达式。 13 【正确答案】 D 【试题解析】 在面向对象的概念中,属性用来表示对象的状态,方法用来描述对象的 行为,事件是一种由系统预先定义而由用户或系统发出的动作,事件作用于对象,对象识别事件并作
29、出相应反应,事件可以由系统引发,也可以由用户引发,当由用户引发时,可以像方法一样被显式调用。基于类生成的对象,虽然采用了相同的属性来表示状态,但它们在属性上的取值完全不同。这些对象一般有着不同的状态,且彼此间相对独立。 14 【正确答案】 A 【试题解析】 Visual F-oxPro中的索引分为主索引、候选索引、唯一索引和普通索引四种。主索引是在指定字段或表达式中不允许出现重复值的索引,主索引可以看作表中的主关键字,一个表中只能有一个主索引;候选索引和主索引具有相同的特性,但候选索引可以有多个;睢一索引是索引项的唯一,而不是字段值的唯一;普通索引既允许字段中出现重复值,也允许索引项中出现重复
30、值。所以建立表间一对多的永久联系时,主表的索引类型必须是主索引或候选索引。 15 【正确答案】 C 【试题解析】 从索引的组织方式来讲,索引 分为三类索引文件:单独的 idx索引,是一种非结构索引;采用非默认名的 cdx索引,也是非结构索引;与表名同名的 cdx索引,是结构复合索引。与表名同名的 cdx索引是一种结构复合压缩索引,它是 Visual FoxPro数据库中最普通也是最重要的一种索引文件,用表设计器建立的索引都是这类索引。 16 【正确答案】 D 【试题解析】 指定工作区的命令格式为: SELECTnWorkArea |cTableAlias,其中参数 nWorkArea是一个大于
31、等于 0的数字,用于指定工作区号,最小的工作区号是 1,最大的工作区号是 32767,如果这里指定为 0,则选择编号最小的可用工作区;如果在某个工作区中已经打开了表,若要回到该工作区操作该表,可以使用参数 cTableAlias,该参数是已经打开的表的别名。 17 【正确答案】 B 【试题解析】 在 Visual FoxPro中,视图是一个定制的虚拟表,它始终不曾真正地含有数据,它总是原来表的一个窗口,所以 A)选项说法不正确, B)选项说法正确;视图的结果保存在数据库中,在磁盘上找不到类似的文件,所以 C)选项、 D)选项说法不正确。 18 【正确答案】 C 【试题解析】 在关系中,列的次序
32、是无关紧要,任意交换两列的位置也不影响数据的实际含义;行的次序也无关紧要,任意交换两行的位置并不影响数据的实际含义。关键字和索引是人为建立的,可以是符合条件的任一列;关键字是属性或属性的组合,关键字的值能够唯一地标识一个元组,对于关键字在关系中的位置,无关紧要。 19 【正确答案】 C 【试题解析】 数据源是报表的数据来源,通常是数据库中的表或自由表,也可以是视图、查询或临时表。 20 【正确答案】 C 【试题解析】 参照完整性的删除规则规定了当删除 父表中的记录时,如何处理子表中相关的记录:如果选择 “级联 ”,则自动删除子表中的所有相关记录。 21 【正确答案】 B 【试题解析】 本题考察
33、的是条件语句的知识,条件语句格式为: IFELSEENDIF,其功能是根据 是否成立从两组代码中选择一组执行,当无 ELSE子句时,可看做第二组代码不包含任何命令,若 成立,则执行 ,然后转向 ENDIF的下一条语句,因此本题不论A为多少都要执行 end if后的语句,输出结果始终为 S=1。 22 【正确答案】 C 【试题解析】 合法的表达式是指: 1个字符串,只含 1个 n目运算符与 n个运算量,且该字符串正确表达了该 n个变量进行该 n运算符的运算,则该字符串是一个合法的表达式。例如, C语言中的 x+s与 xy?x: y都是合法的表达式。 A1, A2, -An是合法的表达式,则对 1
34、个 n目运算符,由( A1)( A2), ( An)作为运算对象,按相应语法写成的字符串表达式是一个合法的表达式。 规定一些隐性规则可确定运算符优先级规则以及参与运算符运算的各分量,第 2步的表达式形成过程中去掉某一对括号并不影响 运算符的计算方式,则去掉括号后的字符串也是合法的表达式。本题 A、 C为字符型常量, B为数值型常量,只有A-C是合法的表达式,选项 C)正确。 23 【正确答案】 B 【试题解析】 List命令中 “FOR”条件用于在指定的范围内进行选择操作,仅显示满足条件的记录。通配符 “*”号来模糊搜索文件。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符
35、或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。要显示 “书名 ”以 “计算机 ”打头的所有图书,应用语句 “list for书名 =“计算机 “”,选项 B)正确。 24 【正确答案】 C 【试题解析】 “set exact off”表示把精确比较关闭,所以 “北京交通 ”=“北京 ”为真(即认为它们确实相等), b=( a=“北京交通 “),因此输 tj结果为 “ F、 ”,选项 C)正确。 25 【正确答案】 D 【试题解析】 本题考查宏替换函数: &,其功能为替换出字符型变量的内容,即函数值是变量中的字符串。本题数据类型不匹配,无法替换。 26 【正确答案】 C 【试题
36、解析】 INT( )返回指定数值表 达式的整数部分。CFILING( )返回大于或等于指定数值表达式的最小整数。FLOOR( )返回小于或等于指定数值表达式的最大整数。 ROUND( , )返回指定表达式在指定位置四舍五入之后的结果,若( )大于等于 0,那么它表示的是要保留的小数位数;若( )小于 0,那么它表示的是整数部分的舍入位数。 27 【正确答案】 C 【试题解析】 Release:将表单从内存释放(清除)。如表单有一个命令按钮,如果希望单击该命令按 钮时关闭表单,就可以将该命令按钮的 CLICK事件代码设置为 ThisForm Release。 28 【正确答案】 A 【试题解析】
37、 向表中添加新的字段,其命令格式为: ALTER TABLEADDCOLUMN, ) NULLINOT NULL CHECKERROR DEFALrLT ADD PRIMARY KEY TAGADD UNIQUETAGA)选项格式正确。 29 【正确答案】 B 【试题解析】 投影运算是从一个关系中选出若干指定字段的值的操作,从列的角度进行的运算。选择运算是从一个关系中找出满足给定条件的记录的操作,从行的角度进行的运算。连接关系是把两个关系中的记录按一定条件横向结合,生成一个新的关系并运算要求有两个表 “SFLECCT学号 FROM学生 ”指从 “学生 ”表中查询字段 “学号 ”,因此为投影运算
38、。 30 【正确答案】 C 【试题解析】 ORDER BY短语用来对查询的结果进行排序,可 以指定多个字段排序,还叮以定义每个字段的排序方法。 ORDER BY的排序是从左到右的。所以若 SQL语句中的 ORDER BY短语中指定 r多个字段,则依次按自左至右的字段顺序排序。 31 【正确答案】 C 【试题解析】 在 SQL查询语句的尾部添加 INTO DBFITABI E可以将查询的结果放入新生成的指定表中。 SELECT*FROM教师表 INTO TABLE A等价于 SELECT*FROM教师表 INTO DBF A,即选项 C)正确。 32 【正确答案】 A 【试题解析】 在 SQL查
39、 询语句的尾部添加 INTO CURSOR可以将查询的结果放人指定的临时表中。此操作通常是将一个复杂的查询分解,临时表通常不是最终结果,可以接下来对临时表操作得到最终结果。生成的临时表是当前被打开的并且是只读的,关闭该文件时将臼动删除。本题正确答案为 A)。 33 【正确答案】 D 【试题解析】 在 Visual FoxPro中可以通过 SQL的 CREATE TABLE命令建立表, PRIMARY KEY用来设置主关键字。本题 “职工号 ”为主关键字,因此 D)选项正确。 34 【正确答案】 C 【试题解析】 建立类语句的格式为 “CREATE CLASS类名 OF类库名 ?AS父类 ”,题
40、中要求新类的类库名称是 mylib,父类是 person,因此,正确的命令是“CREATE CIASSstudent OF mylib As Person”,即 C)选项正确。 35 【正确答案】 A 【试题解析】 本题考查 SFJLECT查询, Visual FoxPro的 SQL SELECT命令的语法格式如下: SELECT ALL |DISTINCT TOPPERCENT AS , AS FROM数据库名! INNFR |LFFTOUTERf RIGHTOUTER|FULJ OUTERljOIN数据库名! ON连接条件 INTO目标文件 TO FILE 文件名 ADDITIVEl TO
41、 PRINTER PROMPT| TO SCREEN WHEREAND连接条件 AND OR 筛选条件 GROUP BY,分组表达式 2 HAVING UNION ALL ORDER BYASCDESC 本题不必使用排序( ORDER BY)、分组( GROUP BY)和超 链接查询( INNFR JOIN), A)选项语法格式正确。 36 【正确答案】 D 【试题解析】 本题考查 SELECT查询, Visual FoxPro的 SQL SELECT命令的语法格式如下: SELECT ALL I DISTINCT TOPPER-CENT AS , AS FROM数据库名! INNER|LEF
42、TOUTER|RIGHTOUTER|FULL OUTERjOIN数据库名! ON连接条件 INTO目标文件 | TO FILE 文件名 ADDITIVE| TO PRINTER PROMPTI TO SCREEN WHEREAND连接条件 AND |OR 筛选条件 CROUP BY,分组表达式 2 HAVING UNION ALL ORDER BYASC |DESC 要查询教师总数最多的系的教师人数,首先排除 B)选项。 输出查询结果应使用 into而不是 to,排除 C)选项。而 B)选项命令语句的顺序错误,所以本题选 D)。 37 【正确答案】 D 【试题解析】 LIKE为字符串匹配运算符
43、,可与通配符 “ ”和 “_”一起使用。“ ”表示与任意多个字符匹配; “_”表示与任意一个字符匹配。图书编号以字母 A开头的图书记录可用 LIKE”A ”表示,使用 DELETE命令删除记录,正确的选项为 D)。 38 【正确答案】 A 【试题解析】 AutoCenter属性用于控制表单初始化时是否让表单自动地在Visual FoxPiro主窗口中居中,值为真表示表单运行时自动居中。 AlwaysOnTop属性指定表单是否总是位于其他打开窗口之上。所以 A)为正确选项。 39 【正确答案】 C 【试题解析】 可以使用 DO FORM NAMEWITH, , LINKED NOSHOW 来运行
44、表单。如果包含 NAME子句,系统将建立指定名字的变量,并使它指向表单对象;否则,系统建立与表单文件同名的变量指向表单对象。如果包含 LINKED关键字,表单对象将随指向它的变量的清除而关闭(释放);否则,即使变量已经清除,表单对象依然存在。因此本题 C)正确。 40 【正确答案】 C 【试题解析】 在容器的嵌套层次关系中,引用其中某个对象,需指明对象在嵌套层次中的位置。经常要用到的关键字是: Parent(对象的直接容器对象,即父对象); This(当前对象); ThisForm(当前表单); ThisFormSet(当前表单集)。本题将该页框的第 3页( Page3)的标题设置为 “修改
45、”,正确的代码应该是Thisform myPageFrame Page3 Caption=“修改 “,即 C)选项。 二、基本操作题 41 【正确答案】 【操作步骤】 ( 1)利用 “文件 ”菜单下的 “打开 ”命令来打开考生文件夹下的表单 one,或使用命令“MODIFY FORM one”打开表单 one。 双击 “显示 ”命 令按钮,在其 Click事件中输入代码: ThisForm Text1 Value= year( date() 保存并运行修改后的表单,查看运行结果。 ( 2)单击工具栏中的 “打开 ”按钮,打开考生文件夹下的表单 two,在 “表单 ”菜单中选择 “新建方法程序
46、”命令,新建一个名为 test的方法,在属性窗口中双击此方法,在弹出的窗口中编写用户自定义过程代码:ThisForm Command1 Enabled= f在表单设计器环境下双击 “测试 ”命令按钮,编写 Click事件代码: Thi8Fonn Test保存并运行修改后 的表单,查看运行结果。 ( 3)单击工具栏中的 “新建 ”按钮,在 “新建 ”对话框中选择 “报表 ”,单击 “新建文件 ”按钮;选择 “报表 ”菜单下的 “快速报表 ?命令,在 “打开 ”对话框中选择考生文件夹下的 “课程表 ”,在 “快速报表 ”对话框中单击 “确定 ”按钮;单击工具栏中的 “保存 ”按钮,将快速报表名保存
47、为 study_report。 ( 4)在命令窗口输入命令: alter table教师表 alter职工号 set check LEFT(职工号, 3) =“110“按下回车键运行命令。 【易错误区】 在 Visual FoxPro中,新建的一 个方法必须通过相应的语句调用才能使用。在第( 2)小题中,按照题目要求新建 test方法后,还需要在命令按钮的 Click事件中对该方法进行调用。 三、简单应用题 42 【正确答案】 (1)【操作步骤】 步骤 1:打开 TheatDB数据库,在数据库设计器中单击鼠标右键,选择 “新建本地视图 ”命令,在弹出的 “新建本地视图 ”对话框中单击 “新建视
48、图 ”按钮,然后为该视图添加表 “电影 ”和 “观看 ”。 步骤 2:在 “字段 ”选项卡的 “可用字段 ”列表框中双击 “电影电影编号 ”“电影电影名 ”和 “电影,类型 ”三个字段,使其添加到 “选 定字段 ”列表框中;在 “函数和表达式 ”文本框中输入 “count(观看影评 )AS评价数 ”,并将其添加到 “选定字段 ”中。 步骤 3:切换到 “筛选 ”选项卡,在 “字段名 ”列选择 “观看观看日期 ”,在 “条件 ”列选择 “”,在 “实例 ”列输入 “ 2013-07 -01”;在 “逻辑 ”下拉列表中选择 “AND”,然后在下一行 “字段名 ”列选择 “观看,影评 ”,在 “条件 ”列选择 “=”,在 “实例 ”列输入“好 ”。 步骤 4:切换到 “排序依据 ”选项卡,双击 “count(观看影评 )”字段,排序选项为 “降序 ”;再双击 “电影电影名 ”字段, 排序选项为 “升序 ”。 步骤 5:切换到 “分组依据 ”选项卡,双击 “可用字段 ”中的 “电影电影编号 ”添加到“分组字段 ”中。 步骤 6:切换到 “杂项 ”选项卡,取消 “全部 ”复选框的勾选,在 “记录个数 ”微调框中输入 “10”。