1、国家二级 VF笔试模拟试卷 21及答案与解析 1 下列叙述中正确的是 ( )。 ( A)数据的逻辑结构与存储结构必定一一对应 ( B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 ( C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 ( D)以上 3种说法都不对 2 下列数据结构中,能用二分法进行查找的是 ( )。 ( A)顺序存储的有序线性表 ( B)线性链表 ( C)二叉链表 ( D)有序线性链表 3 对于长度为 n的线性表,在最坏情况下,下列各 排序法所对应的比较次数中正确的是 ( )。 ( A)冒泡排序为 n/2 ( B)冒泡排序为
2、 n ( C)快速排序为 n ( D)快速排序为 n(n-1)/2 4 程序设计方法要求在程序设计过程中, ( )。 ( A)先编制出程序,经调试使程序运行结果正确后再画出程序的流程图 ( B)先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释 ( C)先画出流程图,再根据流程图编制出程序,最后经调试便程序运行结果正确后再在程序中的适当位置处加注释 ( D)以上 3种说法都不对 5 下列描述中正确的是 ( )。 ( A)软件工程只是解决软件项目的管理问题 ( B)软件工程主要解决软件产品的生产率问题 ( C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 ( D)
3、软件工程只是解决软件开发中的技术问题 6 在面向对象方法中,实现信息隐蔽是依靠 ( )。 ( A)对象的继承 ( B)对象的多态 ( C)对象的封装 ( D)对象的分类 7 冒泡排序在最坏情况下的比较次数是 ( )。 ( A) n(n+1)/2 ( B) nlog2n ( C) n(n-1)/2 ( D) n/2 8 下列实体的联 系中,属于多对多联系的是 ( )。 ( A)学生与课程 ( B)学校与校长 ( C)住院的病人与病床 ( D)职工与工资 9 在面向对象的程序设计中,下列叙述中错误的是 ( )。 ( A)对象是面向对象软件的基本模块 ( B)对象不是独立存在的实体,各个对象之间有关
4、联,彼此依赖 ( C)下一层次的对象可以继承上一层次对象的某些属性 ( D)同样的消息被不同对象接受时,可导致完全不同的行动 10 下列关于 E-R图的描述中正确的是 ( )。 ( A) E-R图只能表示实体之间的联系 ( B) E-R图只能表 示实体和实体之间的联系 ( C) E-R图只能表示实体和属性 ( D) E-R图能表示实体、属性和实体之间的联系 11 当内存变量与字段名变量重名时,系统优先处理 ( )。 ( A)内存变量 ( B)字段名变量 ( C)全局变量 ( D)局部变量 12 设 X=10,语句 ?VARTYPE(“X“)的输出结果是 ( )。 ( A) N ( B) C (
5、 C) 10 ( D) X 13 表格控件的数据源可以是 ( )。 ( A)视图 ( B)表 ( C) SQL SELECT语句 ( D)以上 3种都可以 14 设有两个数据库表,父表和子表之间是一对多的联系,为控制子表和父表的关联,可以设置 “参照完整性规则 ”,为此要求这两个表 ( )。 ( A)在父表联接字段上建立普通索引,在于表联接字段上建立主索引 ( B)在父表联接字段上建立主索引,在子表联接字段上建立普通索引 ( C)在父表联接字段上不需要建立任何索引,在子表联接字段上建立普通索引 ( D)在父表和子表的连接字段上都要建立主索引 15 设当前表有 10条记录,若要在第 5条记录的前
6、面插入一条记录,在执行 GO 5后再执行如下命令 ( )。 ( A) INSERT ( B) INSERT BLANK ( C) INSERT BEFORE ( D) APPEND BEFORE 16 数据库表的字段可以定义规则,规则是 ( )。 ( A)逻辑表达式 ( B)字符表达式 ( C)数值表达式 ( D)前 3种说法都不对 17 在 ESQL语句中,与表达式 “供应商名 LIKE“%北京 %“”功能相同的表达式是( )。 ( A) LEFT(供应商名, 4)=“北京 ” ( B) “北京 ”供应商名 ( C)供应商名 In“%北京 %” ( D) AT(供应商名, “北京 ”) 18
7、 以下关于 “查 询 ”的描述正确的是 ( )。 ( A)查询保存在项目文件中 ( B)查询保存在数据库文件中 ( C)查询保存在表文件中 ( D)查询保存在查询文件中 19 运行程序: AA=0FORI=2TO 100 STEP 2 AA=AA+IENDFOR? AARETURN该程序得到的结果为 ( )。 ( A) 1 100中奇数的和 ( B) 1 100中偶数的和 ( C) 1 100中所有数的和 ( D)没有意义 20 在 Visual FoxPro中,下列关于表的叙述正确的是 ( )。 ( A)在数据库表和自由表 中,都能给字段定义有效性规则和默认值 ( B)在自由表中,能给表中的
8、字段定义有效性规则和默认值 ( C)在数据库表中,能给表中的字段定义有效性规则和默认值 ( D)在数据库表和自由表中,都不能给字段定义有效性规则和默认值 21 对于创建新类, Visual FoxPro提供的工具有 ( )。 ( A)类设计器和报表设计器 ( B)类设计器和表单设计器 ( C)类设计器和查询设计器 ( D)类设计器 22 如果指定参照完整性的删除规则为 “级联 ”,则当删除父表中的记录时, ( )。 ( A)系统自动备份父 表中被删除记录到一个新表中 ( B)若子表中有相关记录,则禁止删除父表中记录 ( C)会自动删除子表中所有相关记录 ( D)不作参照完整性检查,删除父表记录
9、与子表无关 23 有关连编应用程序,下面的描述正确的是 ( )。 ( A)项目连编以后应将主文件视作只读文件 ( B) 个项目中可以有多个主文件 ( C)数据库文件可以被指定为主文件 ( D)在项目管理器中,文件名左侧带有符号 “”的文件在项目连编后是只读文件 24 在 Visual FoxPro中,下面关于索引的正确描述是 ( )。 ( A)当数据库表建立索引以后,表中的记录的物理顺序将被改变 ( B)索引的数据将与表的数据存储在一个物理文件中 ( C)建立索引是创建一个索引文件,该文件包含指向表记录的指针 ( D)使用索引可以加快对表的更新操作 25 以下关于 “视图 ”的描述正确的是 (
10、 )。 ( A)视图保存在项目文件中 ( B)视图保存在数据库中 ( C)视图保存在表文件中 ( D)视图保存在视图文件中 26 单击项目上的 “连编 ”,则可以生成 ( )文件。 ( A) BAT ( B) APP ( C) DAT ( D) DAC 27 在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,并且每一个 _实际上对应一个处理模块。 28 结构化程序设计的 3种基本结构分别是顺序、选择和 _。 29 二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是_。 30 一个模块直接调用的其他模块个数称为 _。 31 数据库系统中实现各种数据管理功能的核心软件
11、是 _。 32 项目管理器中,用于显示应用程序中所有的文件的是 “_”选项卡。 33 自由表与数据库 表相比较,在数据库中可以建立 _索引,而在自由表中不能建立。 34 “报表控件 ”工具栏中的 “图片 /ActiveX绑定 ”控件用于显示图片和 _字段的内容。 35 在 Visual FoxPro中,用来确定复选框是否被选中的属性是 _。 36 利用 SQL语句的定义功能,建立一个学生表文件,其中为学号建立主索引,年龄的默认值为 18,语句格式为: CREATE TABLE 学生 (; 学号 C(5) _; 年龄 I DEFAULT 18) 37 通过 Visual FoxPro的视图,不仅
12、可以查询数据库表,还可以 _数据库表。 38 为了通过视图更新基本表中的数据,需要在视图设计器界面的左下角选中_复选框。 39 使用 SQL语句实现将一条新的记录插入 “学生 ”表中: INSERT_学生 (学号,姓名 ) VALUES(“9801“,“李峰 “) 40 当前目录下有 “选课表 ”文件,要求查找既选修了 “计算机 ”,又选修了 “日语 ”的学生号,则语句为: SELECT A.学号 FROM 选课表 A,选课表 B; WHERE A.学号 =B.学号 AND; A.课程名称 =“计算机 “ AND _ 41 在成绩表中,检索选修 3门以上课程的学生及格学科的总成绩。成绩表中包含
13、学号、姓名、课程名和成绩 4个字段。请将下列 SQL语句补充完整。 SELECT 学号 ,SUM(成绩 ) FROM 成绩表; WHERE 成绩 =60; GROUP BY 学号 ; _ COUNT(*) =3 国家二级 VF笔试模拟试卷 21答案与解析 1 【正确答案】 D 【试题解析】 一种数据 的逻辑结构根据需要可以表示成多种存储结构,数据的逻辑结构与存储结构不一定一一对应,选项 A错误。计算机的存储空间是向量式的存储结构,但一种数据的逻辑结构根据需要可以表示成多种存储结构,如线性链表是线性表的链式存储结构,数据的存储结构不一定是线性结构,因此选项 B错误。数组一般是顺序存储结构,但利用
14、数组也能处理非线性结构。选项 C错误。由此可知,只有选项 D的说法正确。 2 【正确答案】 A 【试题解析】 二分查找从适用于顺序存储的有序表。 3 【正确答案】 D 【试题解析】 假设线性表的长度为 n,在最坏情况下,冒泡排序和快速排序需要的比较次数为 n(n-1)/2。 4 【正确答案】 D 【试题解析】 程序设计的过程应是先画出流程图,然后根据流程图编制出程序,所以选项 A错误。程序中的注释是为了提高程序的可读性,注释必须在编制程序的同时加入,所以,选项 B和选项 C错误。综上所述,本题的正确答案为选项D。 5 【正确答案】 C 【试题解析】 软件工程学是研究软件开发和维护的普遍原理与技
15、术的一门工程节科,选项 A说法错误。软件工程是指采用工程的概念、原理、技术和方法指导软件的开发与维护,软 件工程学的主要研究对象包括软件开发与维护的技术、方法、工具和管理等方面,选项 B和选项 D的说法均过于片面,选项 C正确。 6 【正确答案】 C 【试题解析】 通常认为,面向对象方法具有封装性、继承性、多态性几大特点。所谓封装就是将相关的信息、操作与处理融合在一个内含的部件中 (对象中 )。简单地说,封装就是隐藏信息。 7 【正确答案】 C 【试题解析】 冒泡排序的基本思想是:将相邻的两个元素进行比较,如果反序,则交换;对于一个待排序的序列,经一趟排序后,最大值的元素移动到最后的位置,其它
16、值较 大的元素也向最终位置移动,此过程称为一道冒泡。对于有 n个数据的序列,共需 n-1趟排序,第 i趟对从 1到 n-i个数据进行比较、交换。冒泡排序的最坏情况是待排序序列逆序,第 1趟比较 n-1次,第 2趟比较 n-2次,依此类推,最后一趟比较 1次,一共进行 n-1趟排序。因此,冒泡排序在最坏情况下的比较次数是 (n-1)+(n-2)+1 ,结果为 n(n-1)/2。 8 【正确答案】 A 【试题解析】 只有选项 A符合多对多联系的条件,因为一个学生可以选修多门课程, 而一门课程又可以由多个学生来选修,所以学生与课程之间的联系是多对多联系。 9 【正确答案】 B 【试题解析】 在面向对
17、象的程序设计中,一个对象是一个可以独立存在的实体。各个对象之间相对独立,相互依赖性小。所以,选项 B应为本题的正确答案。 10 【正确答案】 D 【试题解析】 E-R图中,用图框表示实体、属性和实体之间的联系。用 E-R图不仅可以简单明了地描述实体及其相互之间的联系,还可以方便地描述多个实体集之间的联系和 个实体集内部实体之间的联系。选项 A、选项 B和选项 C的说法都错误,正确答 案是选项 D。 11 【正确答案】 B 【试题解析】 变量有内存变量和字段名变量两种,当这两种类型的变量重名时,在 Visual FoxPro系统默认字段名变量优先。 12 【正确答案】 B 【试题解析】 函数 V
18、ARTYPE(表达式 )用来测试函数内表达式的类型。字母C表示字符型或者备注型。本题测试的是 “X”,这是一个字符型表达式,因此其返回值为字符型。 13 【正确答案】 D 【试题解析】 表格控件的数据源可以为表、别名、提示、查洵、 SQL 语句等,而视图可以说是在数据库表的基 础上创建的一种虚拟表,也可以认为是一种特殊的 SQL语句,所以视图、表及 SQL SELECT语句均可以作为表格控件的数据源。 14 【正确答案】 B 【试题解析】 在 Visual FoxPro中为了建立参照完整性,必须首先建立表之间的联系。在数据库设计器中设计表之间的联系时,要在父表建立主索引,在子表建立普通索引,然
19、后通过父表的主索引和子表的普通索引建立两个表之间的关系。 15 【正确答案】 C 【试题解析】 在 Visual FoxPro中,只有 INSERT命令可在表的中间插入记录。INSERT命令中的 BEFORE 选项如果被省略,将在当前指针的后面插入一条记录,反之在当前记录的前面插入一条空记录。 16 【正确答案】 A 【试题解析】 用户可以为数据库表字段定义规则,规则是逻辑表达式。 17 【正确答案】 B 【试题解析】 函数 LEFT(字符表达式,长度 )的功能是从指定表达式的左端取一个指定长度的子串作为函数值。选项 A的含义是供应商名前两个汉字为“北京 ”。函数 AT(字符表达式 1,字符表
20、达式 2,数值表达式 )的功能是:如果字符表达式 1是字符表达 式 2的子串,则返回字符表达式 1值的首字符在字符表达式 2值中的位置;若不是子串,则返回 0,因此选项 D的含义是;返回供应商名在 “北京 ”字符串中的位置。选项 C为一个错误表达式。选项 B中的运算符是子串包含测试, “北京 ” “供应商名 ”表示 “北京 ”是否是 “供应商名 ”字段的子串,能够与题干中的 LIKE实现同样的功能,为正确答案。 18 【正确答案】 D 【试题解析】 查询就是预先定义好的一个 SQL SELECT语句,在不同的需要场合可以直接或反复使用,查询以扩展名为 .QBR的文件单独保存在磁盘 上,在Vis
21、ual FoxPro中认为此类文件为查询文件。 19 【正确答案】 B 【试题解析】 在 FOR循环中的循环变量 i被初始化为 2,在 FOR语句中又规定了步长 STEP的值为 2,意思为每执行一次循环体, I的值便加 2,因此程序中所有的 I值都为偶数, AA的值为一个累加的数字,所以此题中所求为 1 100中偶数的和。 20 【正确答案】 C 【试题解析】 在 Visual FoxPro中,只有数据库表中的字段才能定义字段的有效性规则,自由表不可以。 21 【正确答案】 D 【试题解析 】 在 Visual FoxPro中创建新类,只能通过类设计器来创建。 22 【正确答案】 C 【试题解
22、析】 在 Visual FoxPro中对参照完整性的删除规则所作的规定是:如果指定参照完整性的删除规则为 “级联 ”,则当删除父表中的记录时,会自动删除子表中所有相关记录。 23 【正确答案】 A 【试题解析】 对 Visual FoxPro中的应用程序进行连编后,一个项目中只能有一个主文件,且主文件只能被视为只读文件。 24 【正确答案】 C 【试题解析】 索引是以独立的索引文件的形 式存在,并根据指定的索引关键字表达式建立。索引文件可以看成索引关键字的值与记录号之间的对照表,也就是说,在该文件中,包含有指向表记录的指针。 25 【正确答案】 B 【试题解析】 视图是一个定制的、在数据库表的
23、基础上创建的一种虚拟逻辑表,视图创建后,保存在数据库中。 26 【正确答案】 B 【试题解析】 要生成应用程序,可以单击项目上的 “连编 ”,并选择 “连编应用程序 ”按钮,则可以生成应用程序 APP文件。 27 【正确答案】 加工 【试题解析】 数据流图是从数据传递和加工的角度, 来刻画数据流从输入到输出的移动变换过程,其中的每一个加工对应一个处理模块。 28 【正确答案】 重复 (或循环 ) 【试题解析】 结构化程序设计包括 3种基本的结构:顺序结构、选择结构和重复结构 (循环结构 )。利用这 3种结构就足以表达出各种其他形式结构的程序设计方法,其中利用循环结构,可以简化大量的程序执行。
24、29 【正确答案】 顺序存储 (顺序方式存储 ) 【试题解析】 二分法查找对表的要求是有序的顺序表,即第一要求是数据元素有序,第二要求是按顺序方式存储。 30 【正确答案】 扇出 【 试题解析】 在结构图中,调用一个给定模块的模块个数称为扇入,一个模块直接调用的其他模块个数称为扇出。 31 【正确答案】 数据库管理系统 【试题解析】 数据库管理系统是数据库的管理机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。 32 【正确答案】 全部 【试题解析】 项目管理器一共有 6个选项卡,其中 “数据 ”、 “文档 ”、 “类 ”、 “代码 ”和 “其他 ”5
25、个选项卡用来分类显示各种文件, “全部 ”选项卡则显示所有的文件,实现对它们的管理。 33 【正确 答案】 主 【试题解析】 自由表不能建立字段级规则和约束等。事实上,数据库表与自由衷相比,数据库表具有以下特点: 数据库表可以使用长表名,在表中可以使用长字段名。 可以为数据库表中的字段指定标题和添加注释。 可以为数据库表的字段指定默认值和输入掩码。 数据库表的字段有默认的控件类。 可以为数据库表规定字段级规则和记录级规则。数据库表支持主关键字、参照完整性和表之间的关联。 支持 INSERT、 UPDATE和 DELETE事件的触发器。 34 【正确答案】 通用型 【试题解析】 Visual F
26、oxPro在打开 “报表设计器 ”窗口的同时也会打开一个 “报表控件 ”工具栏。该工具栏有多个图标按钮,每个按钮有不同的功能。其中 “图片/AcriveX绑定控件 ”按钮的功能是用于显示图片和通用型字段的内容。 35 【正确答案】 Value 【试题解析】 复选框用于标识一个两值状态,如真 (.T.)或假 (.F.)。当处于选中状态时,复选框内显示一个对勾;否则,复选框内为空白。复选框可以通过 Value属性来设置或返回 复选框的状态。 36 【正确答案】 PRIMARY KEY 【试题解析】 在 Visual FoxPro中可以通过 SQL的 CREAT TABLE命令建立表。其中,通过 P
27、RIMARY KEY短语可以为指定字段创建 个主索引,索引标识名与字段名相同。 37 【正确答案】 操作 (或更新 ) 【试题解析】 在 Visual FoxPro中,视图是可以更新的,但是这种更新是否反映在基本表中则取决于视图更新属性的设置。在关系数据库中,视图始终不曾真正地含有数据,它总是原来表的一个窗口。所以,虽然视图可以 像表一样进行各种查询,但是插入、更新、删除操作在视图上却有一定的限制。一般情况下,当一个视图是由单个表导出时可以进行插入和更新操作,但不能进行删除操作;当视图是从多个表导出时,插入、更新和删除操作都不允许进行。 38 【正确答案】 发送 SQL更新 【试题解析】 视图
28、是根据基本表派生出来的,但是在 Visual FoxPro中它已经不完全是操作基本表的窗口。在一个活动周期内视图和基本表已经成为两张表,默认对视图的更新不反映在基本表中,对基本表的更新在视图中也得不到反映。但是在关闭数据库后视图中的数据将 消失,当再次打开数据库时视图从基本表中重新检索数据。所以默认情况下,视图在打开时从基本表中检索数据,然后构成一个独立的临时表供用户使用。为了通过视图能够更新基本表中的数据,需要在视图设计器界面的左下角中勾选 “发送 SQL更新 ”复选框。 39 【正确答案】 INTO 【试题解析】 INSERT命令用于在一个表中添加新记录,然后给新记录的字段赋值。格式为:
29、INSERT INTO 表名 (列名 1,列名 2,.) VALUES (表达式 1,表达式 2,.) 其中, INTO表名指出了要添加新记录的表名;列名 1,列名 2,.是字段名表,插入记录不完整时使用; VALUES指出要输入到新记录的指定字段中的数据值。 如果省略前面的字段名表,将按照表结构中定义的顺序依次指定每个字段的值。添加新记录后,该字段所包含的数值就是 VALUES子句中所包含的数据。 40 【正确答案】 B.课程名称 =“日语 “ 【试题解析】 一般的查询中,别名并不是必须的,但是在自连接查询中,别名是必不可少的。 SQL不仅可以对多个关系实行连接操作,也可以将同一关系与其自身
30、进行连接,这种 连接称为自连接。在可以进行这种自连接操作的关系上,实际存在着一种特殊的递归联系,即关系中的一些元组,根据出自同一值域的两个不同的属性,可以与另外一些元组有一种对应关系 (一对多的联系 )。 41 【正确答案】 HAVING 【试题解析】 在实际的应用中,除了简单的计算查询外,我们还可以加上GROUP BY子句进行分组计算查询。 通常来说,一个计算函数的范围是满足 WHERE子句指定条件的所有记录。当加上 GROUP BY子句后,系统会将查询结果按指定列分成集合组。当一个计算函数和一个 GROUP BY子句一起使用时,计算函数的范围变为每组所有的记录。也就是说,一个结果是由组成一组的每个记录集合产生的。 另外,使用 HAVING子句可以对这些组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中。 本题中,根据学号将学生记录分组,然后利用 SQL的统计函数 COUNT(),统计选修 3门课程以上的学生记录,并利用 SUM()函数将及格科目的分数求和。