1、国家二级( VF)机试模拟试卷 6及答案与解析 一、选择题 1 下列方法中,不属于软件调试方法的是( )。 ( A)回溯法 ( B)强行排错法 ( C)集成测试法 ( D)原因排除法 2 选项中,不属于模块间耦合的是( )。 ( A)内容耦合 ( B)异构耦合 ( C)控制耦合 ( D)数据耦合 3 特征中不是面向对象方法的主要特征的是( )。 ( A)多态性 ( B)标识惟一性 ( C)封装性 ( D)耦合性 4 在数据库设计中,将 E-R图转换成关系数据模型的过程属于( )。 ( A)需求分析阶段 ( B)概念设计阶段 ( C)逻辑设计阶段 ( D)物理设计阶段 5 在一棵二又树上,第 5
2、层的结点数最多是( )。 ( A) 8 ( B) 9 ( C) 15 ( D) 16 6 有关数据库的描述,正确的是( )。 ( A)数据库设计是指设计数据库管理系统 ( B)数据库技术的根本目标是要解决数据共享的问题 ( C)数据库是一个独立的系统,不需要操作系统的支持 ( D)数据库系统中,数据的物理结构必须与逻辑结构一致 7 要从字符串 “全国计算机等级考试 ”中取出子 串 “等级考试 ”,应该使用函数( )。 ( A) SUBSTR(“全国计算机等级考试 “, 6, 4) ( B) SUBSTR(“全国计算机等级考试 “, 6, 8) ( C) SUBSTR(“全国计算机等级考试 “,
3、 11, 4) ( D) SUBSTR(“全国计算机等级考试 “, 11, 8) 8 关系数据库的任何检索操作所涉及的 3种基本运算不包括( )。 ( A)连接 ( B)比较 ( C)选择 ( D)投影 9 关于项目及项目中文件的叙述,不正确的是( )。 ( A)项目中的文件与项目文件分别保存在独立的物 理文件中 ( B)项目中的文件表示该文件与项目建立了一种联系 ( C)删除项目时自动删除项目中所包含的文件 ( D)通过项目可以方便地对项目中的文件进行操作 10 在 VFP中,创建的新类可以被保存在类库文件中,其扩展名为( )。 ( A) prg ( B) VCX ( C) pjx ( D)
4、 .SCX 11 在 Visual FoxProqt中有如下内存变量的赋值语句: X=2008-08-08 8: 00: 00 AM) Y= y Z=12 34 执行上 述语句之后,内存变量的 X、 Y、 Z的数据类型为( )。 ( A) D、 L、 C ( B) T、 L、 C ( C) D、 C、 N D ( D) T、 C、 N 12 设 X=”123”, Y=“1234“,则下列表达式中值为 .T.的是( )。 ( A) XSY ( B) AT(X, Y)=0 ( C) X=Y ( D) X=Y 13 执行以下程序,显示的结果是( )。 a=foxpro b= i=LEN(a) DO
5、WHILE i=1 b=b+SUBSTR(a, i, 1) i=i-1 ENDDO ?b ( A) profox ( B) foxpro ( C) orpxof ( D)程序错误 14 执行下列程序: CLEAR DO PROGl RETtJRN PROCEDUE PROG 1 X=2 DO PROG2 ?X RETURN PROCEDUE PROG2 X=X+3 RETURN 程序的运行结果为( )。 ( A) 2 ( B) 3 ( C) 5 ( D) F 15 使用 SQL语句将学生表 S中年龄 (AGE)大于 30岁的记录删除,正确的命令是( )。 ( A) DELETE FOR AGE
6、30 ( B) DELETE FROM S WHERE AGE30 ( C) DELETE S FOR AGE30 ( D) DELETE S WHERE AGE30 16 DBMS的含义是 ( )。 ( A)数据库系统 ( B)数据库管理系统 ( C)数据库管理员 ( D)数据库 17 有关 PACK命令的描述,正确的是( )。 ( A) PACK命令能物理删除当前表的当前记录 ( B) PACK命令能删除当前表的带有删除标记的记录 ( C) PACK命令能删除当前表的全部记录 ( D) PACK命令能删除表的结构和全部记录 18 可以在添加、更改或删除记录时自动维护索引的索引是( )。 (
7、 A)非结构化复合索引文件 ( B)结构化复合索引文件 ( C)单一索引文件 (IDX) ( D)复合索引文件 (CDX) 19 设有两个数据库表,父表和子表之间是一对多的联系,为控制父表和子表中数据的一致性,可以设置 “参照完整性规则 ”,要求( )。 ( A)在父表连接字段上建立普通索引,在子表连接字段上建立主索引 ( B)在父表连接字段上建立主索引,在子表连接字段上建立普通索引 ( C)在父表连接字段上不需要建立任何索引,在子表连接字段上建立普通索引 ( D)在父表和子表的连接字段上都要建立主索引 20 在 VFP中,下列关于表的叙述正确的是( )。 ( A)在数据库表和自由表中,都不能
8、为表的字段指定默认值和输入掩码 ( B)在数据库表和自由表中,都能为表中的字段指定标题和添加注释 ( C)在自由表中,能使用长表名和长字段名 ( D) 在数据库表中,能给表中的字段定义有效性规则和默认值 21 假设当前 xs和 cj表之间建立了临时联系,要取消两表间的联系,可使用( )。 ( A) DELETE REL,ATION ( B) DELETE RELATION xsTO cj ( C) SET RELATION TO ( D) SET RELATION xs TO cj 22 假设 “教师 ”表中有 C型字段 “姓名 ”,要求将姓 “李 ”的教师记录全部打上删除标记,可以使用 SQ
9、L命令( )。 ( A) DELETE FROM教师 FOR姓名 =李 ( B) DELETE FROM教师 WHERE姓名 =李 ( C) DELETE FROM教师 FOR姓名 =李 ( D) DELETE FROM教师 WHERE姓名 LIKE李 23 对于 “关系 ”的描述,正确的是 ( A)同一个关系中允许有完全相同的元组 ( B)在一个关系中元组必须按关键字升序存放 ( C)在一个关系中必须将关键字作为该关系的第一个属性 ( D)同一个关系中不能出现相同的属性名 24 如果要创建一个 3级分组报表,第一级分组是 “部门 ”(字符型 ),第二级分组是“性 别 ”(字符型 ),第三级分
10、组是 “基本工资 ”(数值型 ),当前索引的索引表达式应当是( )。 ( A)部门 +性别 +基本工资 ( B)性别 +部门 +STR(基本工资 ) ( C) STR(基本工资 )+性别 +部门 ( D)部门 +性别 +STR(基本工资 ) 25 如果想在运行表单时,向 TEXT2中输入字符,回显字符显示的是 “*号,则可以在 Forml的 Init事件中加入语句( )。 ( A) FORM1 FEXT2 PASSWORDCHAR=“* ( B) FORM1 TEXT2 PASSWORD=“* ( C) THISFORM TEXT2 PASSWORD=“* ( D) THISFORM TEXT
11、2 PASSWORDCHAR=“* 26 页框控件也称作选项卡控件,在一个页框中可以有多个页面,页面个数的属性是( )。 ( A) Page ( B) ButtonCount ( C) PageCount ( D) ColumnCoum 27 以下属于容器类控件的是( )。 ( A)表单 ( B)标签 ( C)文本框 ( D)组合框 28 有关列表框和组合框的叙述中,正确的是( )。 ( A)列表框可以设置多重选择,而组合框不可以 ( B)组合框可以设置多重选择,而列表框不可以 ( C)列表框和组合框都可以设置成多重选择 ( D)列表框和组合框都不可以设置成多重选择 29 下列关于视图的说法中
12、,不正确的叙述是( )。 ( A)视图与表具有相同的特性,可以用来存储数据 ( B)利用视图可以对数据进行更新 ( C)视图与数据表可以进行连接操作 ( D)视图是根据一个或多个表派生的虚拟表 30 如果数据环境设计器中有多个关联的表,若要删除某个表,则与之关联的表与被删除表之间的关系 将 ( A)不再存在 ( B)可能存在 ( C)仍然存在 ( D)以上都对 31 在 SQL语句中,为了避免查询到重复记录,可用( )。 ( A) DISTNCT ( B) HAVING ( C) INTO ( D) EXCEPT 32 SQL的 SELECT语句中,用来定义一个区间范围的特殊运算符是 ( )。
13、 ( A) IN ( B) BETWEENAND ( C) EXISTS ( D) UNION 32 职员 dbf:职员号 C(3),姓名 C(6),性别 C(2),组号 N(1),职务 C(10) 客户 dbf:客户号 C(4),客户名 C(36),地址 C(36),所在城市 C(36) 订单 dbf订单号 C(4),客户名 C(4),职员号 C(3),签订日期 D,金额 N(6 2) 33 查询金额最大的 10订单的信息,正确的 SQL语句是( )。 ( A) SELECT*TOP 10 PERCENT FROM订单 ( B) SELECTTOP 10 *FROM订单 ORDERBY金额
14、DESC ( C) SELECT*TOP 10PERC: ENTFROM订单 ORDER BY金额 ( D) SELECTTOP 10 PER*ENT木 FROM订单 ORDER BY金额 DESC 34 查询订单数在 3个以上、订单的平均金额在 200元以上的职员号,正确的 SQL语句是( )。 ( A) SELECT职员号 FROM订单 GROUP BY职员号 HAVING COUNT(*)3 AND AVG金额 200 ( B) SELECT职员号 FROM订单 GROUPBY职员号 HAVING COUNT(*)3 AND AVG(金额 )200 ( C) SELECT职员号 FROM
15、订单 GROUBY职员号 HAVING COUNT(*)3 WHERE AVG(金额 )200 ( D) SELECT职员号 FROM订单 GROUP BY职员号 WHERE COUNT(*)3 AND AVG金额 200 35 查询 2005年 1月 1日后签订的订单,显示订单的订单号、客户名以及签订日期,正确的 SQL语句是( )。 ( A) SELECT订单号,客户名,签订日期 FROM订单 JOIN客户: ON订单客户号 =客户客户号 WHERE签订日期 人 2005-1-1 ( B) SELECT订单号,客户名,签订日期 FROM订单 JOIN客户; WHERE订单客户号 =客户客户
16、号 AND签订 日期 2005-1-1 ( C) SELECT订单号,客户名,签订日期 FROM订单, 客户; WHERE订单客户号 =客户客户号 AND签订 日期 ENDDO 执行该语句时,先判断 DO WHILE处的循环条件是否成立,如果条件为真,则执行 DO WHILE与 ENDDO之间的 (循环体 )。当执行到 ENDDO时,返回到 DOWHILE,再次判断循环条件是否为真,以确定是否再次执行循环体。若条件为假,则结束该循环语句,执行 ENDDO后面的语句。 13 【正确答案】 C 【试题解析】 先将 a和 b分别赋值,变量 i使用 L,EN函数取得字符串变量 a的长度,该变量包含 6
17、个字母,所以它的长度为 6,即 i=6;接着使用一个 DO WHII。 E循环语句来操作,判断条件是变量 i是否大于等于 1,如果小于 1,则退出循环,否则执行循环体,此时 SUBSUR(“foxpro“,6, 1)的值为 “o”(从 “foxpro”字符串的第 6位开始取一位字符 );执行 i=i 1后, i=5,第一次循环结束;重复此循环体的操作,变量 b的值依次为 o、 or、 orp、 orpx、 orpxo、 orpxof,最后 iWHERE。 16 【正确答案】 B 【试题解析】 本题是对数据库系统中几个基本概念的考查。 DBMS是 Database Management Syst
18、em的缩写,表示数据库管理系统。数据库系统的缩写是 DBS (Database System),数据库管理员的缩写是 DBA(Database Administrator),数据库的缩写是 DB(Database)。因此选项 B为正确答案。 17 【正确答案】 B 【试题解析】 PACK命 令的作用是:物理删除当前表中有删除标记的记录。 18 【正确答案】 B 【试题解析】 与表名相同的结构化复合索引在打开表时都能够自动打开,并且在添加、更改或删除记录时自动维护索引,但是对于非结构索引 (包括单一索引文件、非默认名的 cdx索引 )必须在使用之前打开索引文件。 19 【正确答案】 B 【试题解
19、析】 在设置两个数据表的参照完整性之前,要先设置两个表的联系,在父表的连接字段上建立主索引,在子表的连接字段上建立普通索引。 20 【正确答案】 D 【试题解析】 在数据库表中, 可以为表的字段指定默认值、输入掩码、有效性规则、标题和添加注释,也可以使用长表名和长字段名;而在自由表中,不具备数据库表的这些特点。 21 【正确答案】 C 22 【正确答案】 D 【试题解析】 在 SQL的 WHRER子句的条件表达式中,字符串匹配的运算符是LIKE,通配符 “ ”表示 0个或多个字符,另外还有一个通配符 “”表示一个字符。 23 【正确答案】 D 【试题解析】 本题考查考生对关系的理解。选项 A、
20、 B、 C都是错误的,同一个关系中,不允许有完全相同的元组,其元组的顺序是任意的,另 外,关系的属性次序与是否为关键字无关,因此可以得出答案为选项 D。 24 【正确答案】 D 【试题解析】 STR()的功能是将数值表达式的值转换成字符串,本题中的 “+”是字符串连接符,将 3个字段表达式按分组的级别顺序连接在一起,构成多重索引,实现多级分组。 25 【正确答案】 D 【试题解析】 文本框控件的 PASSWORDCHAR属性用来指定文本框内是显示用户输入的字符、占位符,还。是用来指定用作占位符的字符。本题所要指定口令文本框的占位符为 “*,因此应使用 PASSWORDCHAR属性。 THISF
21、ORM表示当前表单。 26 【正确答案】 C 【试题解析】 页框控件中页面个数的属性是 PageCount。 Page属性是一个数组,用于存取页框中的某个页对象; ButtonCount属性可用于指定选项组或命令按钮组中按钮的数目; ColumnCount属性指定表格的列数,也即一个表格对象所包含的列对象数目。 27 【正确答案】 A 【试题解析】 容器类控件可以包容其他的控件或容器,例如表单、表格、页框等;标签、文本框和组合框都属于非容器类控件。 28 【正确答案】 A 【试题解析】 列表框提供一组条目,用户可以从中选择一个或多个条目。组合框也是用于提供一组条目供用户从中选择,但只有一个条目
22、是可见的,并且不提供多重选择的功能。 29 【正确答案】 A 【试题解析】 视图是根据一个或多个基本表派生出来的,所以把它叫做虚拟表。在关系数据库中,视图始终不曾真正地含有数据,它总是原来表的一个窗口。在视图中,不但可以进行查询,还可以对数据表进行更新。视图可以与表进行连接操作。 30 【正确答案】 A 【试题解析】 VFP将定义的子类保存在扩展名为 VCX的可视类库文件中,一个类库文件中可以保存多个自定义了类。 p唱是程序文件扩展名, pjx是项目文件扩展名, SCX是表单文件扩展名。 31 【正确答案】 A 【试题解析】 如果要去掉查询结果中的重复值,只需要使用 DISTINCT短语。 3
23、2 【正确答案】 B 【试题解析】 SQL语句中可包含特殊运算符,其中用来定义一个区间范围的运算符是 BETWEENAND 。 33 【正确答案】 D 【试题解析】 本题要查询金额最大的 10订单的信息,应该是按金额从高到低降序排列,另外只需 要满足条件的前若干记录,应使用 TOP短语,再使用PERCENT短语,显示结果中前百分之几的记录。 34 【正确答案】 B 【试题解析】 查询订单的平均金额在 200元以上,可用平均函数为 AVG(金额 )200表示,故可排除选项 A)和选项 D);订单数在 3个以上和订单的平均金额200元以上两个条件都是分组限定条件,须放在 HAvING子句中。 35
24、 【正确答案】 A 36 【正确答案】 B 【试题解析】 如果存在,则在外查询的订单表中找到该职员号对应的订单号、签订日期和金额;然后依次类推,在 订单表中从第二条记录中取出当前职员号,再在内查询中进行判断,直到将订单表中的所有记录都处理完毕。 37 【正确答案】 C 38 【正确答案】 B 【试题解析】 算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。算法的有穷性是指一个算法必须在执行有限的步骤以后结束。 39 【正确答案】 B 【试题解析】 二叉树是由 n0个结点的有限集合构成,此集合或者为空集,或者由一个根结点及两棵互不相交的左右子树组成,并且左右子树都是二叉树。二叉树可以是空
25、集合,根可以有空的左子树或空的右子树 。二叉树不是树的特殊情况,它们是两个概念。 二叉树具有如下两个特点: 非空二叉树只有一个根结点。 每一个结点最多有两棵予树,且分别称为该结点的左子树与右子树。 40 【正确答案】 B 【试题解析】 栈的操作原则为后进先出。选项 B)中出栈顺序可按 “A进, B进,B出, C进, D进, D出, C出, A出 ”实现。 二、基本操作题 41 【正确答案】 单击工具栏上的 打开 按钮,在弹出的 打开 对话框中选择文件类型为 “表单 ”,选中 “formtest”表单后单击 确定 按钮,将在表 单设计器中打开“formtest”表单。 (1)单击表单, 属性 窗
26、口中,设置 “Caption”为 “考试系统 ”。 (2)单击 表单控件 中的 “标签 ”按钮,再单击表单,在表单上添加一个标签控件(Label1),在 属性 窗口中设置 “Caption”属性为 “欢迎使用考试系统 ”, “forecolor”属性设置为 “255, 255, 0”。 (3)单击 表单控件 中的 “计时器 ”控件,再单击表单,向表单内添加一个计时器控件。在 属性 窗口设置 “Name”为 “Timerfor”。 (4)单击计时器, 在 属性 窗口将计时器控件 Timerfor的 “Interval”属性值设置为“200”。 三、简单应用题 42 【正确答案】 步骤 1:单击工
27、具栏的 新建 按钮,打开 新建 对话框。在 文件类型 中选择 “表单 ”,单击 新建文件 ,打开表单设计器新建表单。单击 表单控件 窗口中的 “选项按钮组 ”,再单击表单,添加 “选项按钮组 ”控件。用同样的方式添加“复选框 ”和两个 “命令按钮 ”。 步骤 2:单击表单,在 属性 窗口中设置 “Name”为 “myform2”, “Caption”为 “数据浏览及维护 ”。右击选项按钮 组选择 “编辑 ”,单击 “option1”,在 属性 窗口中设置“Caption”为 “职工 ”;单击 “option2”,在 属性 窗口中设置 “Caption”为 “订单 ”。再单击复选框按钮,在 属性
28、 窗口中设置 “Caption”为 “保存记录 ”。单击第一个按钮(Command1),在 属性 窗口中设置 “Caption”为 “确定 ”。单击第二个按钮(Command2),在 属性 窗口中设置 “Caption”为 “关闭 ”。 步骤 3:右击 确定 按钮,编写命令按钮的 Click事件代码。 IF ThisForm.CheCk1.Value=1 IF ThisForm.OptionGroup1.Value=1 SELECT *FROM 职工 INTO TABLE TEMP.DEF ELSE SELECT *FROM 订单 INTO TABLE TEMP.DBF ENDIF ELSE
29、IF ThisForm.OPTIONGROUP1.VALUE=1 SELECT *FROM 职工 ELSE SELECT *FROM 订单 ENDIF ENDIF 右 击 关闭 按钮,编写命令按钮的 Click事件代码 ThisForm.ReleaSe 步骤 4:单击工具栏的 保存 按钮,将其命名为 myform2,右击表单选择 “执行表单 ”,运行表单即可。 四、综合应用题 43 【正确答案】 步骤 1:单击工具栏上的 新建 按钮,在 新建 对话框的 文件类型 中选择表,单击 新建文件 。在弹出的 创建 对话框中输入表名 “newcj”,单击保存 按钮,打开表设计器。 步骤 2:在表设计器中
30、逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击 确定 按钮, 此时系统会弹出一个对话框询问 “现在输入数据记录吗 ?”,单击否 按钮。 步骤 3:单击工具栏 新建 按钮,在弹出的 新建 对话框 文件类型 中选择 “菜单 ”,单击 新建文件 ,在弹出的对话框中选择 菜单 按钮,打开菜单设计器。在菜单设计器 “菜单名称 ”列的文本框中输入 “考试测试 ”, “结果 ”下拉框中选择为 “子菜单 ”,单击 创建 按钮进入下级菜单设计,在 “菜单名称 ”列的第 1、 2行文本框中依次输入子菜单名 “统计 ”和 “返回 ”,将两个子菜单的 “结果 ”都设置为 “过程 ”,分别单击两个子菜单行的
31、创建 命令按钮,打开过程编 辑框编写过程代码。 步骤 4:两个子菜单的过程代码如下。 统计: SELECT XS.民族, AVG(CJ.语文 ) AS 语文平均分, AVG(CJ.数学 ) AS 数学平均分 FROM XS; INNER JOIN CJ ON XS.学号 =CJ.学号 ; WHERE XS.民族 =“汉 “ INTO ARRAY ARR INSERT INTO NEWCJ FROM ARRAY ARR SELECT XS.民族, AVG(CJ.语文 ) AS 语文平均分, AVG(CJ.数学 ) AS 数学平均分 FROM XS; INNER JOIN CJ ON XS.学号
32、=CJ.学号 ; WHERE XS.民族 !=“汉 “ INTO ARRAY ARR INSERT INTO TABLE NEWCJ FROM ARRAY ARR UPDATE NEWCJ SET 民族 =其他 WHERE 民族 !=“汉 “ 返回 SET SYSMENU TO DEFAULT 步骤 5:选择菜单栏 显示 常规选项 ,在弹出的 常规选项 对话框 位置 区域选中 “追加 ”单选项。单击 确定 按钮,单击工具栏的 保存 按钮。 步骤 6:选择 菜单 生成 ,在 生成菜单 对话框中选择生成的菜单保存的位置,单击 生成 按钮生成一个可执行的菜单文件。选择菜单栏 程序 运行 ,在弹出的 运行 对话框中选择 “smenu.mpr”,单击 运行 按钮。最后执行 “统计 ”和 “返回 ”菜单命令。