1、国家二级 VF笔试模拟试卷 257及答案与解析 1 数据库设计的根本目标是要解决 ( A)数据共享问题 ( B)数据安全问题 ( C)大量数据存储问题 ( D)简化数据维护 2 下列选项中,是软件渊试技术的是 ( )。 ( A)错误推断 ( B)集成测试 ( C)回溯法 ( D)边界值分析 3 某系统总体结构图如下图所示: 该系统总体结构图的深度是 ( A) 7 ( B) 6 ( C) 3 ( D) 2 4 数据库系统的构成为:数据库,计算机硬件系统,用户和 ( )。 ( A)操作系统 ( B) 文件系统 ( C)数据系统 ( D)数据集合 5 VFP编译后的程序文件的扩展名为 ( )。 (
2、A) PRG ( B) EXE ( C) DBC ( D) FXP 6 具有 3个结点的二叉树有 ( A) 2种形态 ( B) 4种形态 ( C) 7种形态 ( D) 5种形态 7 循环链表的主要优点是 ( A)不再需要头指针了 ( B)从表中任一结点出发都能访问到整个链表 ( C)在进行插入、删除运算时,能更好的保证链表不断开 ( D)已知某个结点的位置后,能够容易的找到它的直接前件 8 SQL语言又称为 ( A)结构化定义语言 ( B)结构化控制语言 ( C)结构化查询语言 ( D)结构化操纵语言 9 下列关于 E-R图的描述中正确的是 ( )。 ( A) E-R图只能表示实体之间的联系
3、( B) E-R图只能表示实体和实体之间的联系 ( C) E-R图只能表示实体和属性 ( D) E-R图能表示实体、属性和实体之间的联系 10 某二叉树共有 60个叶子结点与 50个度为 1的结点,则该二叉树中的总结点数为 ( )。 ( A) 148 ( B) 169 ( C) 182 ( D) 198 11 下列各表达式中,结果总是逻辑 值的是 _。 ( A)算术运算表达式 ( B)字符运算表达式 ( C)日期运算表达式 ( D)关系运算表达式 12 在顺序栈中进行退栈操作时, _。 ( A)谁先谁后都可以 ( B)先移动栈顶指针,后取出元素 ( C)不分先后,同时进行 ( D)先取出元素,
4、后移动栈顶指针 13 语句 “DELETE FROM 成绩表 WHERE 计算机 30 AND工资 1500.AND工资 30 AND (工资 1500.OR工资 1800) 26 使用报表向导定义报表时,定义报表布局的选项是 _。 ( A)列数、方向、字段布局 ( B)列数、行数、字段布局 ( C)行数、方向、字段布局 ( D)列数、行数、方向 27 有关 SCAN循环结构,叙述正确的是 _。 ( A) SCAN循环结构中的 LOOP语句,可将程序流程直接指向循环开始语句SCAN,首先判断 EOF()函数的真假 ( B)在使用 SCAN循环结构时,必须打开某一个数据库 ( C) SCAN循环
5、结构的循环体中必 须写有 SKIP语句 ( D) SCAN循环结构,如果省略了 scope子句 FOR expll和 WHILEEXPL2条件子句,则直接退出循环 28 VisualFoxPro的报表文件 .FRX中保存的是 _。 ( A)打印报表的预览格式 ( B)已经生成的完整报表 ( C)报表的格式和数据 ( D)报表设计格式的定义 29 SQL语言是具有 _的功能 ( A)关系规范化、数据操纵、数据控制 ( B)数据定义、数据操纵、数据控制 ( C)数据定义、关系规范化、数据控制 ( D)数据 定义、关系规范化、数据操纵 30 若要从学生表中检索出 1980年 1月 1日以后 (含 1
6、月 1日 )出生的所有学员,可应,用如下 SQL语句 SELECT*FROM student WHERE 请给出恰当的表达式以完成该语句 ( A) csrq 1980-1-1 ( B) csrq 1980-1-1 ( C) csrq 1980-1-1 ( D) csrq 1980-1-1 31 SELECT-SQL语句中,条件短语的关键字是 ( A) FOR ( B) FROM ( C) WHERE ( D) WITH 32 下列关于视图的说法中,错误的是 ( A)视图可以从单个表或多个表中派生 ( B)可以在磁盘中找到相应的视图文件 ( C)视图可以作为查询的数据源 ( D)利用视图可以暂时
7、使数据从数据库中分离成为自由数据 33 ROUND(6.165, 2)的函数值是 ( )。 ( A) 6.16 ( B) 6.17 ( C) 6.2 ( D) 6.16 34 在下面的 Visual FoxPro表达式中,运算结果是逻辑真的是 _。 ( A) EMPTY(.NULL.) ( B) LIKE(acd,ac?) ( C) AT(a,123abc) ( D) EMPTY(SPACE(2) 35 以下有关 SELECT 短语的叙述中错误的是 _。 ( A) SELECT短语中可以使用别名 ( B) SELECT短语中只能包含表中的列及其构成的表达式 ( C) SELECT短语规定了结果
8、集中的列顺序 ( D)如果 FROM短语引用的两个表有同名的列,则 SELECT短语引用它们时必须使用表名前缀加以限定 36 在算法的 4个特性中,算法必须能在执行有限个步骤之后终止指的是算法的 _ 特性。 37 在 Visual FoxPro中,建立索引的作用之一是提【 】速度。 38 数据的逻辑结构有线性结构和【 】两大类。 39 在最坏情况下,冒泡排序的时间复杂度为【 】 。 40 数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,这称为 _。 41 基于下述描述: 设有图书管理数据库: 图书 (总编号 C(6),分
9、类号 C(8),书名 C(16),作者 C(6),出版单位 C(20),单价 N(6,2) 读者 (借书证号 C(4),单位 C(8),姓名 C(6),性别 C(2),职称 C(6),地址 C(20) 借阅 (借书证号 C(4),总编号 C(6),借书日期 D(8) 41 对于图书管理数据库,查询与 “0005”号借书证借有相同书的借书证号。请对下面的 SQL语句填空: SELECT DISTINCT 借书证号 FROM 借阅 WHERE 总编号; 【 】 42 对于图书管理数据库,如下的 SQL命令: SELECT书名 ,作者 ,出版单位 FROM 图书管理!图书 ; WHERE 出版单位
10、=“高等教育出版社 “OR 出版单位 =“电子工业出版社 “ 其中, WHERE短语后的出版单位 =“高等教育出版社 “OR 出版单位 =“电子工业出版社 “对应的关系操作是 【 】。 43 AT(“IS“, “THAT IS A NEWBOOK“)的运算结果是 _。 44 将 SQL的查询结果追加到文本文件的尾部,应使用 _短语加以说明。 45 在 “报表设计器 ”中,要添加标题或其他说明文字,应使用 _控件。 46 使用 SQL语句实现将一条新的记录插入 “学生 ”表中: INSERT_学生 (学号,姓名 )VALUES(“9801”, “李峰 ”) 47 表单的【 】用于定义表单及其控件
11、的性质及特征。 48 执行命令 DIMENSION M(4, 5)后,如果以一维数组的形式访问该二维数组,则一维数组元素 M(7)与二维数组元素【 】为同一个变量。 49 报表标题一般是通过【 】控件定义。 50 使用 VisualFoxPro的菜单设计器时,选中菜单项之后,如果设计它的子菜单,应该在 RESULT中选择【 】。 51 设有如下关系表 R: R(NO,NAME,SEX,AGE,CLASS) 主关键字是 NO。 其中 NO为学号, NAME为姓名, SEX为性别, AGE为年龄, CLASS为班号。写出实 现下列功能的 SQL语句。 将所有 “96101”班号改为 “95101”
12、;【 】。 国家二级 VF笔试模拟试卷 257答案与解析 1 【正确答案】 A 【试题解析】 本题考核数据库技术的根本目标,属于记忆性题目,很简单。数据库技术的根本目标就是要解决数据的共享问题,选项 A正确。 2 【正确答案】 C 3 【正确答案】 C 【试题解析】 系统总体结 构图是对软件系统结构总体设计的图形显示,其深度表示控制的层数。故答案为 C)。 4 【正确答案】 D 5 【正确答案】 D 6 【正确答案】 D 【试题解析】 具有 3个结点的二叉树具有以下的几种形态: 二叉树的结构及画法。 7 【正确答案】 B 【试题解析】 循环链表就是将单向链表中最后一个结点的指针指向头结点,使整
13、个链表构成一个环形,这样的结构使得从表中的任一结点出发都能访问到整个链表。 8 【正确答案】 C 【试题解析】 结构化查询语言 (Structured Query Language,简称 SQL)是集数据查询、数据定义、数据操纵和数据控制功能于一体的数据库语言。 9 【正确答案】 D 【试题解析】 E-R图中,用图框表示实体、属性和实体之间的联系。用 E-R图不仅可以简单明了地描述实体及其相互之间的联系,还可以方便地描述多个实体集之间的联系和 个实体集内部实体之间的联系。选项 A、选项 B和选项 C的说法都错误,正确答案是选项 D。 10 【正确答案】 B 【试题解析】 叶子结点总是比度为 2
14、的结点多一个。所以,具有 60 个叶子结点的二又树有 59个度为 2的结点。总结点数 =60个叶子结点 +59个度为 2的结点 +50个度为 1的结点 =169个结点。 11 【正确答案】 D 【知识模块】 数据与数据运算 12 【正确答案】 D 【知识模块】 数据结构与算法 13 【正确答案】 C 【试题解析】 SQL从表中删除数据的命令格式如下 :DELETE FROM TableName WHERE Condition 这里 FROM指定从哪个表中删除数 据 ,WHERE 指定被删除记录所满足的条件 ;DELETE命令是逻辑删除记录 ,如果要物理删除记录需要继续使用 PACK命令。 14
15、 【正确答案】 A 【试题解析】 表单设计器的功能 :创建并修改表单和表单集 ,当该设计器窗口活动时 ,显示 “表单 “菜单、 “表单控件 “工具栏、 “表单设计器 “工具栏和 “属性 “窗口。 15 【正确答案】 C 【试题解析】 工具栏是微软公司流行软件的共同特色,对于经常使用的功能,利用各种工具栏调用比通过菜单调用要方便快捷得多。通常为方便操作,用户可以创建自己的工具栏,或者修改现 有的工具栏,即定制系统工具栏。因此本题的正确选项应该是 C。 16 【正确答案】 C 【试题解析】 SQL语言中。 CREATE 命令完成的功能是数据定义的功能,利用 CREATE 语句,可以建立基本表、视图
16、、索引和模式。用来建立表的命令是 CREATE TABLE,但是因为本题所要求的是建立一个临时表,因此应该采用命令CREATE CURSOR。本题的正确答案应该是 C。 17 【正确答案】 C 【试题解析】 本题考查对 SCAN语句的掌握和理解。 GO 2是指指针移动到第二条记录, SCAN语句按 下来扫描下面的四条记录;根据 SCAN语句的循环条件 LEFT(名称, 2)=“电 ”可知,只要是名称字段中第一个字是 “电 ”就执行循环语句;在 SCAN循环语句内部 IF RIGHT(名称, 2)=“线 ” LOOP ENDIF 表示如果记录的最后一个字是 “线 ”就跳到循环的开始。也就是说程序
17、从第;条记录开始查找第一个字是 “电 ”并且最后一个字不是 “线 ”的记录来显示,符合显示条件的只有 “电冰箱 和 “电线 ”两条记录;这道题容易出错的是误认为 “电线 ”最后一个字是 “线 ”,因为字段宽度是 6,所以从右边开始两个字节是空格。正确答案为 C。 18 【正确答案】 C 【试题解析】 在 Visual FoxPro中建立索引的一个目的之一就是提高查询速度,因此答案为 c选项。选项 D具有一定的干扰性,但是其错误在于误认为索引可以提高更新速度,这是错误的。 19 【正确答案】 D 【试题解析】 取子串的函数有以下 3个。 格式 1: LEFT(字符表达式 ,长度 ) 格式 2:
18、RIGHT(字符表达式 ,长度 ) 格式 3: SUBSTR(字符表达式 ,起始位置 ,长度 ) LEFT()从指定表达式值的左端取一个指定长度的子串作 为函数值; RIGHT()从指定表达式值的右端取一个指定长度的子串作为函数值; SUBSTR()从指定表达式值的指定起始位置取指定长度的子串作为函数值。在 SUBSTR()函数中,若缺省第 2个自变量长度,则函数从指定位置一直取到最后一个字符。 从以上 2个函数的功能得知,选项 A)的结果是 “myho”,选项 B, )的结果是“town”,选项 C)的结果是 “omet”选项 D)的结果是 “home”。 20 【正确答案】 D 【试题解析
19、】 该函数调用的作用是从字符串 “ADCDEFG”的第 4个位置开始取 3个字符, 结果是 “DEF”。 21 【正确答案】 C 22 【正确答案】 B 【试题解析】 SQL数据更新命令为: UPDATE TableName SET Golumn_name1 eExpression1, Column_ name2 eExpression2WHERE Condition 23 【正确答案】 D 【试题解析】 SQL查询子句中,可以从表中指定不同字段值进行输出,即表中的列,指定的列次序可以重新排列,不需要与原数据表一致。 SQL的查询子句可以包含表中的表达式及使用表的别名 。 24 【正确答案】
20、C 【试题解析】 PRIVATE 定义的变量能在定义该变量的模块及其下属模块中使用,是一个私有变量。本题在过程 A中给变量 s赋值为 5,然后调用过程 B, s的值等于 15,然后返回上一级,求出 s的值为 15。 25 【正确答案】 C 【试题解析】 由于题面已指出工作日期为日期型,所以不能直接使用 “工龄 30来判断,要使用 INT(DATE()工作日期 )/365) 30判断,故 A、 B不正确。题面要求是工资高于 1500且低于 1800元,应为 AND的关系,故 D不正确。 26 【正确答案】 A 【试题解析】 报表向导中的定义报表布局选项包括列,方向,字段布局。可以调整字段布局,当
21、报表中的所有字段可以在一页中水平地排满时,可以使用 “列 ”风格来设计报表,这样可以在一个页面中显示更多的数据;此时,一行中可能已经容纳不了所有的字段,就只有考虑 “行 ”风格的报表布局;在 “列数 ”选项中,可以决定在一页内显示的重复数据的列数; “方向 ”栏用来设置打印机的纸张设置。 27 【正确答案】 B 【试题解析】 SCANENDSCAN语句一般用于处理表中记录。语句可指明需处理的记录 范围及应满足的条件。 语句格式: SCAN NOOPTIMIZE Scope FOR 1Expression1 WHILE 1Expression2 Commands LOOP EXIT ENDSCA
22、N 执行语句时,记录指针自动、依次在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令。 如果循环体包含 LOOP命令,那么当遇到 LOOP时,就结束循环体的本次执行,不再执行其后面的语句,而是转回 SCAN重新判断 条件。 范围如果不写,默认值是 ALL。 28 【正确答案】 D 【试题解析】 本题考查点是与报表有关的文件。与报表有关的文件有:报表文件的扩展名为 .FRX,用来存放报表设计格式的定义的文件。报表备注文件的扩展名为 .FRT。 29 【正确答案】 B 【试题解析】 关于 SQL 的功能,一种包含 4种功能:数据定义、数据查询、数据操纵和数据控制,可以完成数据
23、库活动中的全部工作。但是关系规范化的功能并不是 SQL所具备的,因此只有选项 B是正确的。 30 【正确答案】 C 【试题解析】 在以上四个答案中,只有 C是在 1980年 1月 1 日 (含 1月 1日 )以后出生的正确表达方法。 31 【正确答案】 C 【试题解析】 SELECT-SQL 最基本的格式为: SELECT-FROM-WHERE。其中, SELECT用于选择查询结果要显示的目标列表, FROM用于列出查询要用到的所有表文件, WHERE 则用于指定查询结果的查询条件。 32 【正确答案】 B 【试题解析】 视图是根据表定义或派生出来的虚表,依赖于表而存在,在磁盘中并不能找到相应
24、的文件。 33 【正确答案】 B 【试题 解析】 ROUND函数是四舍五入函数,它的格式是: ROUND(数值表达式 1,数值表达式 1 ),功能是返回指定表达式在指定位置四舍五入后的结果。数值表达式 2指明四舍五入位置。若数值表达式 2大于等于 0,那么它表示的是要保留的小数位数,若数值表达式 2小于 0,那么它表示的是整数部分的舍入位数。在题干中,数值表达式 2为 2,大于 0,那么它表示的是要保留的小敷位数为 2,所以函数值为 6.17。 34 【正确答案】 D 【试题解析】 LIKE(cExpression1, cExpression2)返回值: LogicalcExpression1
25、是要查找的字符,而 cExpression2 是被查找的字符。 AT(cSearchExpression,cExpressionSearched, nOccurrence)返回值: NumericcSearchExpression 是搜索的字符, cExpressionSearched 是被搜索的字符。 EMPTY(eExpression)返回值:Logical.NULL.是一个不同于空字符串、空字段、 0的值;对 .NULL.的判断要通过ISNULL()来进行。 35 【 正确答案】 B 【试题解析】 SELECT 查询命令的使用非常灵活,用它可以构造各种各样的查询。在 SELECT 子句中
26、可以包含表中的列和表达式,也可以使用别名。在SELECT子句中规定了结果集中的列顺序,列的顺序可以与表中列的顺序相同,也可以不同。 36 【正确答案】 有穷性 【试题解析】 算法的 4个基本特性包括可靠性、确定性、有穷性和拥有足够的情报,其中,算法的有穷性指的是算法必须在有限的时间内完成,即算法必须在执行有限个步骤之后终止。 37 【正确答案】 查询 【试题解析】 要提高 Visual FoxPro中数据的查询速度,必须对表建立索引。 38 【正确答案】 非线性结构 【试题解析】 数据的逻辑结构有线性结构和非线性结构两大类。 39 【正确答案】 n(n-1)/2或 O(n(n-1)/2) 【试
27、题解析】 冒泡排序法是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性表变成有序。假设线性表的长度为 n,则在最坏的情况下,冒泡排序需要经过 n/2遍的从前往后的扫描和 n/2遍的从后往前的扫描,需要的比较次数为 n(n-1)/2。 40 【正确答案】 物理 独立性 【试题解析】 数据的独立性是指数据和应用程序相互独立,分为物理独立性和逻辑独立性。其中物理独立性是指数据的物理结构 (包括存储结构、存取方式 )改变时,不需要修改应用程序。而逻辑独立性是指当逻辑结构改变时,不需要修改应用程序。 41 【正确答案】 IN (SELECT 总编号 FROM 借阅 WHERE 借书证号
28、=“0005“) 【试题解析】 查询操作需使用 SELECT 命令。本题通过嵌套查询实现,内层查询的结果是 “0005”号借书证所借图书的总编号的集合,再由外层查询在借阅表中查询借阅了 总编号集合中的图书的借书证号。由于 “0005”号借书证可能借阅了多本图书,又由于可能有读者借阅了两本或两本以上图书与 “0005”号借书证所借的图书相同,这样会使查询结果出现重复值,所以要在 SELECT 后加 DISTINCT 短语取消重复值。 42 【正确答案】 选择操作 或 选择 【试题解析】 SELECT 命令是用于实现查询操作的, WHERE 短语在 SELEC丁命令中用于选择满足条件的元组,将选择
29、条件的逻辑表达式置于 WHERE短语后,实现关系的选择操作。 43 【正确答案】 6 【试题解析 】 函数 AT()的格式是: AT(字符表达式 1 ,字符表达式 ,数值表达式 );功能是如果字符表达式 1是字符表达式 2的子串,则返回字符表达式 1值的首字符在字符表达式 2中的位置:若不是子串,则返回0。函数值为数值型。 “IS”在第 6个字符开始出现子串,所以运算结果是 6。 44 【正确答案】 ADDITIVE 【试题解析】 使用短语 TO FILE FileName ADDITIVE可以将查询结果存放到文本文件中, FileName 是文件名,默认扩展名是 .txt。如果使 用 ADD
30、ITIVE将结果追加在原文件的尾部,则会覆盖原来的文件。 45 【正确答案】 标签 【试题解析】 标签控件在报表中的使用是相当广泛的。如每一个字段前面都要有一段说明性文字,报表一般都有标题等。这些说明性文字或标题文本就需要使用标签控件来完成。 插入标签控件的方法是:在 “报表控件 ”工具栏中单击 “标签 ”按钮,然后在报表的指定位置上单击,便出现一个插入点,即可在当前位置上输入文本 46 【正确答案】 INTO 【试题解析】 INSERT 命令用于在一个表中添加新记录,然后给新记 录的字段赋值。格式为: INSERT INTO 表名 (列名 1,列名 2,.) VALUES(表达式 1,表达式
31、 2,.) 其中, INTO 表名指出了要添加新记录的表名;列名 1,列名 2,.是字段名表,插入记录不完整时使用 : VALUES 指出要输入到新记录的指定字段中的数据值; 如果省略前面的字段名表,将按照表结构中定义的顺序依次指定每个字段的值。添加新记录后,该字 段所包含的数值就是 VALUES 子句中所包含的数据。 47 【正确答案】 属性 48 【正确答 案】 M(2, 2) 【试题解析】 数组 m中的各元素用一维数组形式可依次表示为: M(1) M(1,1), M(2) M(1, 2), M(3) M (1, 3), M(4) (1, 4), M(5) M(1, 5), M(6)M(2
32、, 1), M(7) M(2, 2) 如此类推。 49 【正确答案】 标签 【试题解析】 标题控件在报表中的使用是相当广泛的,例如,每个字段前都要有一段说明性文字,报表一般都有标题等。这些说明性文字或标题文本就是使用标签控件来完成的。 插入标签控件在 “报表控件 ”工具栏中单击 “标签 ”按 钮,然后在报表的指定位置单击鼠标,便出现一个插入点,即可在当前位置输入文本。 50 【正确答案】 子菜单 【试题解析】 使用 VisualFoxPro的菜单设计器时,选中菜单项之后,如果设计它的子菜单,应该在 “结果 ”中选择子菜单。 51 【正确答案】 UPDATE R SET CLASS=“95101“ WHERE CLASS=“96101“ 【试题解析】 SQL的数据更新格式为: UPDATE TableNAME SET Column_name1=eExpression1, Column_Name2=eExpression2 where Condition 一般使用 WHERE 子句指定条件,以更新满足条件的一些记录的字段值,并且一次可以更新多个字段;如果不使用 WHERE子句,则更新全部记录。