1、国家二级( VF)机试模拟试卷 47及答案与解析 一、选择题 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)在逻辑设计阶段建立数据字典
3、( D)在物理设计阶段建立数据字典 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 CEN
4、TURY TO 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 0 ( B) USE学生 ( C) SELECT学生 ( D) SELECT student
6、17 以下关于视图的描述正确的是 ( )。 ( A)视图和表一样包含数据 ( B)视图物理上不包含数据 ( C)视图定义保存在命令文件中 ( D)视图定义保存在视图文件中 18 以下关于关系的说法正确的是 ( )。 ( A)列的次序非常重要 ( B)行的次序非常重要 ( C)列的次序无关紧要 ( D)关键字必须指定为第一列 19 报表的数据源可以是 ( )。 ( A)表或视图 ( B)表或查询 ( C)表、查询或视图 ( D)表或其他报表 20 如果指定参照完整性的删除规则为 “级联 ”,则当删除父表中的记录时 ( )。 ( A)系统自动备份父表中被删除记录到一个新表中 ( B)若子表中有相关
7、记录,则禁止删除父表中记录 ( C)会自动删除子表中所有相关记录 ( D)不作参照完整性检查,删除父表记录与子表无关 21 下列程序段的输出结果是 ( )。 ACCEPT TO A IF A=123 S=0 ENDIF S=1 ?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书
8、名 =“计算机 *“ ( B) 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)
9、 int(2010 9) ( B) 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平均分数 F 6
10、, 2 ( C) CHANGE 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
11、*FROM教师表 INTO 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 CURS
12、OR DBF one ( D) SELECT*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
13、 TABLE教师表 (职工号 C(10)PRIMARY KEY,姓名 C(20),工龄 I) 34 创建一个名为 student的新类,保存新类的类库名称是 mylib,新类的父类是Person,正确的命令是 ( )。 ( A) CREATE CLASS myljb OF student As Person ( B) CREATE CLASS student OF Person As myib ( C) CREATE CLASS student OF mylib As Person ( D) CREATE CLASS Person OF myljb 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教师表系号 =学院表系号
15、 GROUP BY教师表系号 HAVING学院表系名 =“计算机 “ ( D) SELECT SUM(*)FROM教师表 INNER JOIN学院表 ON教师表系号 =学院表系号 ORDER BY教师表系号 HAVING学院表系名 =“计算机 “ 36 “教师表 ”中有 “职工号 ”、 “姓名 ”、 “工龄 ”和 “系号 ”等字段, “学院表 ”中有 “系名 ”和 “系号 ”等字段,求教师总数最 多的系的教师人数,正确的命令序列是 ( )。 ( A) SELECT教师表系号, COUNT(*)AS人数 FROM教师表,学院表 GROUP BY教师表系号 INTODBF TEMPSELECT M
16、AX(人数 )FROM TEMP ( B) SELECT教师表系号, COUNT(*)FROM教师表,学院表 WHERE教师表系号 =学院表系号 GROUP BY教师表系号 INTO DBF TEMP SELECT MAX(人数 )FROM TEMP ( C) SELECT教师表系号, COUNT(*)AS人数 FROM教师 表,学院表 WHERE教师表系号 =学院表系号 GROUP BY教师表系号 TO FILE TEMP SELECT MAX(人数 )FROM TEMP ( D) SELECT教师表系号, COUNT(*)AS人数 FROM教师表,学院表 WHERE教师表系号 =学院表系号
17、 GROUP BY教师表系号 INTO DBF TEMP SELECT 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) Thisform myPageFrame Caption Page3=“修改 “ 二、简单应用题 41 在考生目录下完成如下简单应用: (1)用 SQL语句完成下列操作:列出所有赢利 (现价大于买入价 )的股票简称、现价、买入价和持有数量,并将检索结果按持有数量降序排序
20、存储于表 stock_temp中。 (2)使用一对多报表向导建立报表。要求:父表为 stock_name,子表为 stock_sl,从父表中选择字段 “股票简称 ”;从子表中选择全部字段;两个表通过 “股票代码 ”建立联系;按股票代码升序排序;报表标题为 “股票持有情况 ”;生成的报表文件名为stock_report。然后用报表设计器打开生成的文件 stock_report fix进行修改,将标题区中显示的当前日期移到页注脚区显示,使得在页注脚区能够显示当前日期。 三、综合应用题 42 (1)在考生文件夹下,将 BOOKS表中所有书名中含有 “计算机 ”3个字的图 书复制到 BOOKS_BAK
21、表中,以下操作均在 BOOKS_BAK表中完成。 (2)复制后的图书价格在原价格的基础上降低 5。 (3)从图书均价高于 25元 (含 25)的出版社中,查询并显示图书均价最低的出版社名称及均价,查询结果保存在 new_table4表中 (字段名为出版单位和均价 )。 国家二级( VF)机试模拟试卷 47答案与解析 一、选择题 1 【正确答案】 D 【试题解析】 算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以 A错误。设计算法时不仅要考虑对数据 对象的运算和操作,还要考虑算法的控制结构。 2 【正确答案】 B 【试题解析】 线性结构应满足:有且只有一个根结点与每个结
22、点最多有一个前件,也最多有一个后件,所以 B正确。所以有一个以上根结点的数据结构一定是非线性结构,所以 A错误。循环链表和双向链表都是线性结构的数据结构。 3 【正确答案】 B 【试题解析】 根据二叉树的基本性质 3:在任意一棵二叉树中,度为 0的叶子结点总是比度为 2的结点多一个。所以选择 B。 4 【正确答案】 A 【试题解析】 软件生命周期可以分为软件定义、软件开 发与软件运行维护三个阶段。主要活动阶段是:可行性研究与计划阶段,需求分析,软件设计,软件实现,软件测试,运行和维护,所以选择 A。 5 【正确答案】 C 【试题解析】 根据总体结构图可以看出该树的深度为 3,比如: XY系统
23、功能 2功能 2 1,就是最深的度数的一个表现。 6 【正确答案】 D 【试题解析】 程序调试的任务是诊断和改正程序中的错误。 7 【正确答案】 A 【试题解析】 数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。 8 【正确答案】 D 【试题解析】 数据库系统的三级模式是概念模式、外模式和内模式,所以选择D。 9 【正确答案】 A 【试题解析】 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据 T中元组可以判断 R和 S做的是自然连接操作。 10 【正确答案】 A 【试题解析】 面向对象基本方法的基
24、本概念有对象、类和实例、消息、继承与多态性,所以选择 A。 11 【正确答案】 A 【试题解析】 命令格式 SET CENTURY ONIOFFITO的功能是用于决定如何显示或解释一个日期数据的年份。 ON显示世纪,即用 4位数字表示年份; OFF不显示世纪,即用 2位数字表示年份; TO决定如何解释一个用 2位数字年份表示的日期所处的世纪。 12 【正确答案】 D 【试题解析】 建立字段有效性规则比较简单直接的方法是在表设计器中建立,在表设计器的 “字段 ”选项卡中有一组定义字段有效性 规则的项目,它们是 “规则 ”、“信息 ”、 “默认值 ”三项。其中 “规则 ”是逻辑表达式, “信息 ”
25、是字符串表达式, “默认值 ”的类型则以字段的类型确定。所以正确的有效性规则设置必须为逻辑表达式,四个选项中只有 D选项是正确的逻辑表达式。 13 【正确答案】 D 【试题解析】 在面向对象的概念中,属性用来表示对象的状态,方法用来描述对象的行为,事件是一种由系统预先定义而由用户或系统发出的动作,事件作用于对象,对象识别事件并作出相应反应,事件可以由系统引发,也可以由用户引发,当由用户引发时,可以像方法一样被显式调用 。基于类生成的对象,虽然采用了相同的属性来表示状态,但它们在属性上的取值完全不同。这些对象一般有着不同的状态,且彼此间相对独立。 14 【正确答案】 A 【试题解析】 Visua
26、l FoxPro中的索引分为主索引、候选索引、唯一索引和普通索引四种。主索引是在指定字段或表达式中不允许出现重复值的索引,主索引可以看作表中的主关键字,一个表中只能有一个主索引;候选索引和主索引具有相同的特性,但候选索引可以有多个;唯一索引是索引项的唯一,而不是字段值的唯一;普通索引既允许字段中出现重复值,也允许索引项中出 现重复值。所以建立表间一对多的永久联系时,主表的索引类型必须是主索引或候选索引。 15 【正确答案】 C 【试题解析】 从索引的组织方式来讲,索引分为三类索引文件:单独的 idx索引,是一种非结构索引;采用非默认名的 cdx索引,也是非结构索引;与表名同名的 cdx索引,是
27、结构复合索引。与表名同名的 cdx索引是一种结构复合压缩索引,它是 Visual FoxPro数据库中最普通也是最重要的一种索引文件,用表设计器建立的索引都是这类索引。 16 【正确答案】 D 【试题解析】 指定工作区的 命令格式为: SELECTnWorkArea cTableAlias,其中参数 nWorkArea是一个大于等于 0的数字,用于指定工作区号,最小的工作区号是 1,最大的工作区号是 32767,如果这里指定为 0,则选择编号最小的可用工作区;如果在某个工作区中已经打开了表,若要回到该工作区操作该表,可以使用参数 cTsbleAlias,该参数是已经打开的表的别名。 17 【正
28、确答案】 B 【试题解析】 在 Visual FoxPro中,视图是一个定制的虚拟表,它始终不曾真正地含有数据,它总是原来表的一个窗口, 所以 A选项说法不正确, B选项说法正确;视图的结果保存在数据库中,在磁盘上找不到类似的文件,所以 C选项、 D选项说法不正确。 18 【正确答案】 C 【试题解析】 在关系中,列的次序是无关紧要,任意交换两列的位置也不影响数据的实际含义;行的次序也无关紧要,任意交换两行的位置并不影响数据的实际含义。关键字和索引是人为建立的,可以是符合条件的任一列;关键字是属性或属性的组合,关键字的值能够唯一地标识一个元组,对于关键字在关系中的位置,无关紧要。 19 【正确
29、答案】 C 【试题解析】 数据源是报表 的数据来源,通常是数据库中的表或自由表,也可以是视图、查询或临时表。 20 【正确答案】 C 【试题解析】 参照完整性的删除规则规定了当删除父表中的记录时,如何处理子表中相关的记录:如果选择 “级联 ”,则自动删除子表中的所有相关记录。 21 【正确答案】 B 【试题解析】 本题考察的是条件语句的知识,条件语句格式为: IFELSEENDIF,其功能是根据 是否成立从两组代码中选择一组执行,当无 ELSE子旬时,可看做第二组代码不包含任何命令,若 成立,则执行 ,然后转向 ENDW的下一条语句,因此本题不论 A为多少都要执行 end if后的语句,输出结
30、果始终为 S=1。 22 【正确答案】 C 【试题解析】 合法的表达式是指: 1个字符串,只含 1个 n目运算符与 n个运算量,且该字符串正确表达了该 n个变量进行该 n目运算符的运算,则该字符串是一个合法的表达式。例如, c语言中的 x+5与 xy?x: y都是合法的表达式。 A1, A2, An 是合法的表达式,则对 1个 n目运算符,由 (A1), (A2), (An)作为运算对象,按相应语 法写成的字符串表达式是一个合法的表达式。 规定一些隐性规则可确定运算符优先级规则以及参与运算符运算的各分量,第 2步的表达式形成过程中去掉某一对括号并不影响运算符的计算方式,则去掉括号后的字符串也是
31、合法的表达式。 本题 A、 C为字符型常量, B为数值型常量,只有 A、 C是合法的表达式,选项C正确。 23 【正确答案】 B 【试题解析】 List命令中 “FOR”条件用于在指定的范围内进行选择操作,仅显示满足条件的记录。通配符 “*”号用来模糊搜索文件。当查找文件夹时,可以使用它来代替一个或多 个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。要显示 “书名 ”以 “计算机 ”打头的所有图书,应用语句 “list for书名 =”计算机 ”,选项 B正确。 24 【正确答案】 C 【试题解析】 “set exact off”表示把精确比较关闭,
32、所以 “北京交通 ”=“北京 ”为真(即认为它们确实相等 ), b=(a=”北京交通 ”),因此输出结果为 “ F ”,选项 C正确。 25 【正确答案】 D 【试题解析】 本题考查宏替换函数: ,其功能为替 换出字符型变量的内容,即函数值是变量中的字符串。本题数据类型不匹配,无法替换。 26 【正确答案】 C 【试题解析】 INT()返回指定数值表达式的整数部分。 CEILING()返回大于或等于指定数值表达式的最小整数。 FLOOR()返回小于或等于指定数值表达式的最大整数。 ROUND(, )返回指定表达式在指定位置四舍五入之后的结果,若 ()大于等于 0,那么它表示的是要保留的小数位数
33、;若 ()小于 0,那 么它表示的是整数部分的舍入位数。 27 【正确答案】 C 【试题解析】 Release:将表单从内存释放 (清除 )。如表单有一个命令按钮,如果希望单击该命令按钮时关闭表单,就可以将该命令按钮的 CLICK事件代码设置为ThisForm Re-lease。 28 【正确答案】 A 【试题解析】 向表中添加新的字段,其命令格式为: ALTER TABLE ADDCOLUMN, )NIJLLI NOT NULL CHECKERRORDEFAULT ADD PRIMARY KEYTAG ADD UNIQUETAGA选项格式正确。 29 【正确答案】 B 【试题解析】 投影运算
34、是从一个关系中选出若干指定字段的值的操作,从列的角度进行的运算。选择运算是从一个关系中找出满足给定条件的记录的操作,从行的角度进行的运算。连接关系是把两个关系中的记录按一定条件横向结合,生成一个新的关 系。并运算要求有两个表。 “SELECT学号 FROM学生 ”指从 “学生 ”表中查询字段 “学号 ”,因此为投影运算。 30 【正确答案】 C 【试题解析】 ORDER BY短语用来对查询的结果进行排序,可以指定多个字段排序,还可以定义每个字段的排序方法。 ORDER BY的排序是从左到右的。所以若 SQL语句中的 ORDER BY短语中指定了多个字段,则依次按自左至右的字段顺序排序。 31
35、【正确答案】 C 【试题解析】 在 SQL查询语句的尾部添加 INTO DBF TABLE可以将查询的结果放入 新生成的指定表中。 SELECT*FROM教师表 INTO TABLE A等价于 SELECT*FROM教师表 INTO DBF A,即选项 C正确。 32 【正确答案】 A 【试题解析】 在 SQL查询语句的尾部添加 INTO CUR-SOR可以将查询的结果放人指定的临时表中。此操作通常是将一个复杂的查询分解,临时表通常不是最终结果,可以接下来对临时表操作得到最终结果。生成的临时表是当前被打开的并且是只读的,关闭该文件时将自动删除。本题正确答案为 A。 33 【正确答案】 D 【试
36、题解析】 在 Visual FoxPro中可以通过 SQL的 CREATE TABLE命令建立表, PRIMARY KEY用来设置主关键字。本题 “职工号 ”为主关键字,因此 D选项正确。 34 【正确答案】 C 【试题解析】 建立类语句的格式为 “CREATE CLASS类名 OF类库名 ?AS父类 ”,题中要求新类的类库名称是 mylib,父类是 person,因此,正确的命令是“CREATE CLASSstudent OF mylib As Person”,即 C选项正确。 35 【正确答案】 A 【试题解析】 本题 考查 SELECT查询, Visual FoxPro的 SQL SEL
37、ECT命令的语法格式如下: SELECTALL DISTINCTTOPPER-CENT AS, AS FROM数据库名 ! INNER LEFTOUTER RIGHTOUTER FULLOUTERJOIN数据库名 ! ON连 接条件 INTO目标文件 TO FILE文件名 ADDITIVE TO PRINTERPROMPT TO SCREEN WHEREAND连接条件 AND OR筛选条件 GROUP BY,分组表达式 2 HAVING eUNIONALL ORDER BYASC DESC 本题不必使用排序 (ORDER BY)、分组 (GROUP BY)和超链接查询(INNEB JOIN),
38、 A选项语法格式正确。 36 【正确答案】 D 【试题解析】 本题考查 SELECT查询, Visual FoxPro的 SQL SELECT命令的语法格式如下: SELECTALL DISTINCTTOPPER-CENT AS, AS FROM数据库名 ! INNER LEFTOUTER RIGHTOUTER FULLOUTERJOIN数据库名 ! ON连接条件 INTO目标文件 TO FILE文件名 ADDITIVE TO PRINTERPROMPT TO SCREEN WHEREAND连接条件 AND OR筛选条件 GROUP BY,分组表达式 2 HAVING UNIONALL ORD
39、ER BYASC DESC 要查询教师总数最多的系的教师人数,首先排除 B选项。输出查询结果应使用into而不是 to,排除 C选项。而 B选项命令语句的顺序错误,所以本题选 D。 37 【正确答案】 D 【试题解析】 LIKE为字符串匹配运算符,可与通配符 “ ”和 “_”一起使用。“ ”表示与任意多个字符匹配; “_”表示与任意一个字符匹配。图书编号以字母 A开头的图书记录可用 LIKE“A “表示,使用 DELETE命令删除记录,正确的选项为 D。 38 【正确答案】 A 【试题解析】 AutoCenter属性用于控制表单初始化时是否让表单自动地在Visual FoxPro主窗口中居中,
40、值为真表示表单运行时自动居中。 AlwaysOnTop属性指定表单是否总是位于其他打开窗口之上。所以 A为正确选项。 39 【正确答案】 C 【试题解析】 可以使用 DO FORMNAMEWITH, , LINKEDNOSHOW 来运行表单。如果包含 NAME子句,系统将建立指定名字的变量,并使它指向表单 对象;否则,系统建立与表单文件同名的变量指向表单对象。如果包含 LINKED关键字,表单对象将随指向它的变量的清除而关闭 (释放 );否则,即使变量已经清除,表单对象依然存在。因此本题C正确。 40 【正确答案】 C 【试题解析】 在容器的嵌套层次关系中,引用其中某个对象,需指明对象在嵌套层
41、次中的位置。经常要用到的关键字是: Parent(对象的直接容器对象,即父对象 ); This(当前对象 ); ThisForm(当前表单 ); ThisForm(当前表单集 )。本题将该页框的第 3页 (Page3)的标题设置为 “修改 ”,正确的代码应该是Thisform myPageFrame Page3 Caption=“修改 “,即 C选项。 二、简单应用题 41 【正确答案】 (1)【操作步骤】 在命令窗口输入以下程序语句,并按回车键。 SELEcT stock_n锄 e股票简称, 8tock_s1现价, 8tock_s1买入价,stock_sl持有数量; FROM stock_n
42、ame, stock_sl; WHERE stock_sl股票代码 =Btock_name股票代码 And stock_sl现价 stock_sl买入价; ORDER BY stock_sl持有数量 DESC; INTO TABEE stock_temp (2)【操作步骤】 步骤 1:单击常用工具栏中的 “新建 ”按钮,文件类型选择 “报表 ”,利用向导创建报表。 步骤 2:在 “向导选取 ”对话框中,选择 “一对多报表向导 ”并单击 “确定 ”按钮,并显示 “一对多报表向导 ”对话框。 步骤 3:在 “一对多报表向导 ”对话框的 “步骤 l一从父表选择字段 ”中,首先要选取表 “stock
43、name”,在 “可用 字段 ”列表框中显示表 stock_nanle的所有字段名,并选定 “股票简称 ”添加到 “选定字段 ”列表框中,单击 “下一步 ”按钮。 步骤 4:在 “一对多报表向导 ”对话框的 “步骤 2-从子表选择字段 ”中,选取表“stock_sl”,在 “可用字段 ”列表框中显示表 stock_sl的所有字段名,并选定所有的字段添加到 “选定字段 ”列表框中,单击下一步 “按钮 ”。 步骤 5:在 “一对多报表向导 ”对话框的 “步骤 3-为表建立关系 ”中,单击 “下一步 ”按钮。 步骤 6:在 “一对多报表向导 ”对话框的 “步骤 4-排序记录 ”中, 选定 “股票代码
44、 ”字段并选择 “升序 ”,再单击 “添加 ”按钮,单击 “完成 ”按钮。 步骤 7:在 “一对多报表向导 ”对话框的 “步骤 6-完成 ”中。在 “报表标题 ”文本框中输入 “股票持有情况 ”,单击 “完成 ”按钮。 步骤 8:在 “另存为 ”对话框中,输入保存报表名 “stock_report”,再单击 “保存 ”按钮,最后报表就生成了。根据题意将标题区显示的当前日期移到页注脚区显示,保存即可。 三、综合应用题 42 【正确答案】 步骤 1:在命令窗口中输入下列代码,用于将 BOOKS表中满足条件的记录复制到 BOOKS_BAK表中,并按回车键以执行该代码。 * SELECT * FROM
45、 BOOKS WHERE书名 LIKE“计算机 “INTO TABLE BOOKS_BAK * 步骤 2:在命令窗口中输入下列代码,用于更新 BOOKS_BAK表中的价格字段,并按回车键以执行该代码。 * UPDATE BOOKS_BAK SET价格 =价格 *(1-0 05) * 步骤 3:在命令 窗口中输入下列代码,并按回车键以执行该代码。 * SELECT TOP 1 Books_bak出版单位, avg(books_bak价格 )as均价; FROM books_bak; GROUP BY Books_bak出版单位; HAVG均价 =25; ORDER BY 2; INTO TABLE new_table4 dbf *