1、国家二级 VF笔试模拟试卷 146及答案与解析 1 按照 “先进后出 ”原则组织数据的数据结构是 ( )。 ( A)队列 ( B)栈 ( C)双向链表 ( D)叉树 2 常采用的两种存储结构是 ( )。 ( A)顺序存储结构和链式存储结构 ( B)散列方法和索引方式 ( C)链表存储结构和数组 ( D)线性存储结构和非线性存储结构 3 树是结点的集合,它的根结点的数目是 ( )。 ( A)有且只有 1个 ( B) 1或多于 1 ( C) 0或 1 ( D)至少有 2个 4 已知一个有序线性表为 (13, 18, 24, 35, 47, 50, 62, 83, 90, 115, 134)当用二分
2、法查找值为 90的元素时,查找成功的比较次数为 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 9 5 结构化程序设计主要强调的是 ( )。 ( A)程序的规模 ( B)程序的效率 ( C)程序设计语言的先进性 ( D)程序的易读性 6 结构化程序设计的核心和基础是 ( )。 ( A)结构化分析方法 ( B)结构化设计方法 ( C)结构化设计理论 ( D)结构化编程方法 7 在面向对象方法中, ( )描述的是具有相似属性与操作 的一组对象。 ( A)属性 ( B)事件 ( C)方法 ( D)类 8 需求分析阶段的任务是 ( )。 ( A)软件开发方法 ( B)软件开发工具 ( C
3、)软件开发费用 ( D)软件系统功能 9 有下列二叉树,对此二叉树前序遍历的结果为 ( )。 ( A) ACFXDBEYZ ( B) ABEFXYZCD ( C) ABCDEFXYZ ( D) ABDYECFXZ 10 设 R是一个 2元关系, S是一个 3元关系,则下列运算中正确的是 ( )。 ( A) R-S ( B) RS ( C) RS ( D) R S 11 关于内存变量的调用,下列说法正确的是 ( )。 ( A)私有变量只能被本层模块程序调用 ( B)私有变量能被本层模块和下层模块程序调用 ( C)局部变量不能被本层模块程序调用 ( D)局部变量能被本层模块和下层模块程序调用 12
4、 在关系运算中,查找满足一定条件的元组,相关的运算称为 ( )。 ( A)选择 ( B)投影 ( C)连接 ( D)扫描 13 在 Visual FoxPro 6.0中修改数据库、表单、报表等的可视化工具是 ( ); ( A)向导 ( B)设计器 ( C)生成器 ( D)项目管理器 14 命令 ?的作用是 ( )。 ( A)向用户提问的提示符 ( B)可输出两个表达式的值 ( C)从当前光标处显示表达式的值 ( D)只能显示变量的值 15 打开一个名为 XM的项目文件,然后通过命令方式新建一个数据库文件,则该数据库文件 ( )。 ( A)存在于当前打开的项目文件 XM中 ( B)不存在于当前打
5、开的项目文件 XM中,必须单独添加 ( C)不存在于当前打开的项目文件 XM中,但与项目文件建立了联系 ( D)以上说法均不正确 16 执行下列程序; SET TALK OFF STORE 0 TO X,Y DO WHILE X 6 X=X+Y Y=Y+2 ENDDO ? X,Y SET TALK ON RETURN 在屏幕上显示的输出结果是 ( )。 ( A) 8 8 ( B) 6 8 ( C) 4 6 ( D) 6 6 17 在 DO WHILE.ENDDO循环结构中, LOOP命令的作用是 ( )。 ( A)终止程序的运行 ( B)退出循环,返回程序开 始处继续执行 ( C)转到 DO
6、WHILE语句行,开始下一次循环 ( D)终止本次循环,将控制转到本循环结构 ENDDO后面的第一条语句继续执行 18 当前目录下有 XUESH .dbf和 CHJI .dbf两个表文件,要求查找同时选修了课程号为 “9801”和 “9802”的学生姓名,下列 SQL语句的空白处应填入的语句为 ( )。 SELECT姓名 FROM XUESH, CHJI; WHERE XUESH学号 =CHJI学号; AND课程号 =“9801”; AND姓名 _ (SELECT 姓名 FROM XUESH,CHJI; WHERE XUESH学号 =CHJI学号; AND课程号 =“9802”) ( A) I
7、N ( B) EXITS ( C) LIKE ( D) ALL 19 SQL语句中, SELECT命令中的 JOIN是用来建立表间的联系短语,连接条件应出现在下列哪个短语中 ( )。 ( A) WHERE ( B) ON ( C) HAVING ( D) INNER 20 打开一个数据库的命 令是 ( )。 ( A) USE ( B) USEDATABASE ( C) OPEN ( D) OPENDATABASE 21 测试数据库记录指针是否指向数据库末尾所使用的函数是 ( )。 ( A) BOF() ( B) EOF() ( C) RSCCOUNT() ( D) RECNO() 22 删除视
8、图 STUDENT的命令是 ( )。 ( A) DELETE STUDENT VIEW ( B) DELETE STUDETN ( C) DROP STUDENT VIEW ( D) DROPVIEW STUDENT 23 有下列 SQLSELECT语句: SELECT*FROM工资表 WHERE基本工资=3000 AND基本工资 =1000 下列与该语句等价的是 ( )。 ( A) SELECT*FROM工资表 WHERE基本工资 BETWEEN 1000 AND 3000 ( B) SELECT*FROM工资表 WHERE基本工资 BETWEEN 3000 ANDl000 ( C) SEL
9、ECT*FROM工资表 WHERE基本工资 FROM 1000 INTO 3000 ( D) SELECT*FROM工资表 WHERE基本工资 FROM 3000 INTO 1000 24 在 Visual FoxPro中,表单 (Form)是指 ( )。 ( A)窗口界面 ( B)数据库查询的清单 ( C)各种文件的清单 ( D)表中记录的清单 25 在表单设计阶段,下列说法不正确的是 ( )。 ( A)拖动表单上的对象,可以改变该对象在表单上的位置 ( B)拖动表单上对象的边框,可以改变该对象的大小 ( C)通过设置表单上对象的属性,可以改变对象的大小和位置 ( D)表单上的对象一旦建立,
10、其位置和大小均不能改变 26 在运行表单时,下 列有关表单事件的引发次序叙述正确的是 ( )。 ( A) DESTROYINITLOAD ( B) DESTROYLOADINIT ( C) INITDESTROYLOAD ( D) LOADINITDESTROY 27 有学生表和班级表文件,检索哪些班级中至少有一个学生的总分是大于 700的,正确的命令是 ( )。 ( A) SELECT 班级名称 FROM 班级表 WHERE 班级号 IN; SELECT 班级号 FROM 学生表 WHERE 总分 700 ( B) SELECT 班级名 称 FROM 班级表 WHERE 班级号 IN; (S
11、ELECT 班级号 FROM 学生表 WHERE 总分 700) ( C) SELECT 班级名称 FROM 班级表 WHERE 学号 IN; SELECT 学号 FROM 学生表 WHERE 总分 700 ( D) SELECT 班级名称 FROM 班级表 WHERE学号 IN; (SELECT 学号 FROM 学生表 WHERE 总分 700) 28 SQL查询语句中,要将结果输入到一个临时表中,应选择的子句是 ( )。 ( A) TOFILE ( B) INTO ARRAY ( C) INTO CURSOR ( D) INTO TABLE 29 要从字符串 “中国海南省 ”中取出子串 “
12、海南省 ”,应该使用函数 ( )。 ( A) SUBSTR(“中国海南省 ”, 3, 3) ( B) SUBSTR(“中国海南省 ”, 5, 2) ( C) SUBSTR(“中国海南省 ”, 5, 3) ( D) SUBSTR(“中国海南省 ”, 5, 6) 30 算法复杂度主要包括时间复杂度和【 】复杂度。 31 某二叉树中度为 2的结点有 16个,则该二叉树中有【 】个 叶子结点。 32 把对象的数据和相应的方法程序、属性、事件代码捆绑包装在一起,就称为【 】。 33 面向数据流的设计方法是把【 】映射成软件结构。 34 模块本身的内聚是模块独立性的度量因素之一。在 7类内聚中,最强内聚为
13、【 】。 35 计算机算法指的是 _。 36 01/01/05的数据类型是【 】型 37 函数 Int(Len(“123.4567“)的结果是【 】。 38 修改本地视图的命令是【 】视图名。 39 自由表不能建立【 】索引。 40 要设定职工工资有效性规则在 1000至 4000元之间,当输入的数值不在此范围内时,则给出错误信息。要完成此功能,我们必须定义【 】。 41 在 SQL查询中, HAVING语句的作用是指【 】。 42 在显示结果时,只需要显示满足条件的前几个记录,则必须使用短语【 】。 43 要求利用 SQL语句对学生表中所有记录按 “年龄 ”字段进行升序查询,语句为: SEL
14、ECT * FROM 学生表【 】年龄 44 若要从学生表中检索出籍贯为北京且性别为男的所有学员,则用 SQL语句表达为: SELECT * FROM 学生表 WHERE 籍贯 =“北京 “【 】性别 =“男 “ 45 激活菜单的命令短语是【 】。 国家二级 VF笔试模拟试卷 146答案与解析 1 【正确答案】 B 【试题解析】 栈是一种特殊的线性表,其插入和删除运算都只在线性表的一端进行,而另一端是封闭的进行插入、删除的一端称为栈顶,封闭的一端称为栈底。栈顶元素是最后被插入的元素,而栈底元素是最后被删除的栈,是按先进后出的原则组织数据的。 2 【正确答案】 A 【试题解析】 线性表的存储通常
15、要用两种存 储结构,顺序存储结构和链式存储结构。 3 【正确答案】 C 【试题解析】 树具有明显的层次关系,即树是一种层次结构。在树结构中,根结点在第一层上。当树为非空时,树中有且只有一个根结点,当树为空时树中根结点的数目为 0。 4 【正确答案】 B 【试题解析】 根据二分法查找法需要两次, 首先将 90与表中间的元素 50进行比较,由于 90大于 50,所以在线性表的后半部分查找: 第二次比较的元素是后半部分的中间元素,即 90,这时两者相等,即查找成功。 5 【正确答案】 D 【试题解析】 程 序不光是编写完就结束了,为了测试和维护程序,往往还有其他人阅读和跟踪程序,因此程序设计的风格应
16、该强调简单和清晰,即程序的易读性, “清晰第一,效率第二 ”。 6 【正确答案】 C 【试题解析】 结构化程序设计的核心和基础是结构化设计理论,其中包括:结构化分析方法、结构化设计方法和结构化编程方法。 7 【正确答案】 D 【试题解析】 类 (calss)描述的是具有相似属性与操作的一组对象,而一个具体对象则是其对应类的一个实例。 8 【正确答案】 D 【试题解析】 需求分析是软件定义时期 的最后一个阶段,它的基本任务就是详细调查现实世界耍处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。 9 【正确答案】 D 【试题解析】 对二又树的前序遍历是指:
17、先访问根结点,然后访问左子树,最后访问右于树,并且,在访问左、右子树时,先访问根结点,再依次访问其左,右子树。 记住 3种遍历的顺序: 前序,访问根 按前序遍历左子树 按前序遍历右于树; 中序,按中序遍历左子树 访问根 按中序遍历右子树; 后序,按后序遍历左子树 按后序遍历右子树 访问根 10 【正确答案】 B 【试题解析】 关系的交 ()、并 ( )和差 (-)运算要求两个关系是同元的,显然作为二元的 R和三元 S只能做笛卡儿积运算。 11 【正确答案】 B 【试题解析】 在程序中直接使用 (没有通过 PUBLIC和 LOCAL命令事先声明 )而由系统自动隐含建立的变量都是私有变量。私有变量
18、的作用域是建立它的模块及其下属的各层模块。局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用。当建立它的模块程序运行结束时,局部变量自动释放,局部变量用LOCAL命令建立。 12 【正确答案】 A 【试题解析】 专门的关系运算包括:选择、投影和连接。选择是指从关系中找出满足条件的元组;投影是从关系中指定若干个属性组成新的关系;连接是将两个关系模式拼接成一个更宽的关系模式,生成的关系中包含满足连接条件的元组。 13 【正确答案】 B 【试题解析】 为了更好地完成软件的开发,在 Visual FoxPro6.0中引入了 “向导 ”、 “设计器 ”、 “生成器 ”等面向象的设计工具。其中,
19、设计器用于修改数据库、表单、报表等。 14 【正确答案】 C 【试题解析】 表达式 值的显示育两种格式 格式 1; ?表达式表 格式2; ?表达式表 功能:计算表达式中的各表达式并输出各表达式值。 不管有没有指定表达式表,格式 1都会轴出 个回车换行符。如果指定了表达式表,各表达式值将在下一行的起始处输出格式 2不会输出回车换行符,各表达式值在当前行的光标所在处直接输出。 15 【正确答案】 B 【试题解析】 在 Visual FoxPro中,只有通过项目中 “新建 ”按钮建立的文件,才属于当前项目。通过命令方式新建的文件,即使当前窗口有项目管理器打开,该新建的 数据库文件,也不属于任何项目,
20、与项目也没有任何联系。 16 【正确答案】 D 【试题解析】 DO WHlLE-ENDDO语句的格式: DO WHILE条件 命令序列 ENDDO 执行该语句时,先判断 DO WHILE处的循环条件是否成立,如果条件为真,则执行 DO WHILE与 ENDDO之间的命令序列 (循环体 )。当执行到ENDDO时,返回到 DO WHILE,再次判断循环条件是否为真,以确定是否再次执行循环体若条件为假,则结束该循环语句,执行 ENDDO后面的语句。 先将0赋给两个变量 x和 Y,使 用一个 DO WHILE循环语句来操作,判断条件是变量x是否小于 6,如果大于或等于 6,则退出循环,否则执行循环体,
21、执行 X=X+Y,X=0,再执行 Y=Y+2后, Y=2,重复此循环体的操作。题干中的循环步骤及结果见下表。 X, Y最终的显示值都是 6。 17 【正确答案】 C 【试题解析】 在循环语句的循环体中还可以出现两条特殊的命令: LOOP和EXIT。这两条命令会影响循巧语句的正常执行流程。在 DO WHlLE-ENDD0语句中: 如果循环体包含 LOOP命令,那么当遇到 LOOP时,就结束循环体 的本次执行,不再执行其后面的语句,而是转回 DO WHILE处重新判断条件: 如果循环体包含 EXIT命令,那么当遇到 EXIT时,就结束循环语句的执行,转回执行EXIT后面的语句。 18 【正确答案】
22、 A 【试题解析】 本小题为 SQL的嵌套查询,通过内层查找符合条件的记录集合,再通过外层查询检索该集合中相同的记录值,使用的特殊运算符为 IN(包含运算 )。 ANY、 ALL和 SOME是量词,其中 ANY和 SOME是同义词,在进行比较运算时只要于查询中有一行能使结果为真,则结果为真:而 ALL则要求于查询中的 所有行都使结果为真时,结果才为真。 EXITS是谓词, EXITS和 NOT EXITS是用来检查在于查询中是否有结果返回 (即存在元组或不存在元组 )。 19 【正确答案】 B 【试题解析】 从 SELECT标准语句的完整语法格式中抽出与连接运算相关的语法格式如下; SELEC
23、T FROM数据库表 1 INNER JOIN数据库表 2 ON连接条件 WHERE 其中, INNER JOIN等价于 JOIN,为普通的连接,在 Visual FoxPro中称为内部连接; ON连接条件指 定两个进行表连按的条件字段。 20 【正确答案】 D 【试题解析】 在数据库中建立表或使用数据库中的表时,都必须首先打开数据库与建立数据库类似,常用的 打开敷据库方式有 3种。 在项目管理器中打开数据库。 从 “打开 ”对话框打开数据库。 用命令打开数据库。 一般情况下,在 Visual FoxPro开发环境下交互操作时使用前两种方法,在应用程序中使用命令的方法 。打开数据库的命令是 O
24、PEN DATABASE,具体语法格式如下, OPEN DATABASEFileName|?) EXCLUSIVE|SHARE NOUPDATE VALIDATE 其中, FileName是指要打开的数据库名,如果不指定或使用问号,则显示 “打开 ”对话框; EXCLUSIVE 是指以独占方式打开数据库,不允许其他用户在同一时刻也使用该数据库;SHARE是指以共享方式打开数 据库,允许其他用户在同一时刻也使用读数据库 r NOUPDATE是指定数据库按只读方式打开,不允许修改数 据库; VALIDATE是指定 Visual FoxPro检查在数据库中引用的对象是否合法。 21 【正确答案】 B
25、 【试题解析】 函数 BOF()的格式是 BOF(工作区号 |表别名 ),功能是测试当前表文件 (或缺省自变量 )或指定表文件中的记录指针是否指向文件首,若是就返回逻辑真,否则返回逻辑假。表文件首是指第一条记录的前面位置。 函数EOF()的格式是 EOF(工作区号 |表别名 )如功能是测试表文件中的记录指针是否指向文件尾,若是就返回逻辑真,否则返回逻辑假。表文件尾是指最后一条记录的后面 位置。 函数 RECCOUNT()格式是 RECCOUNT(工作区号 |表别名 ),功能是返回当前表文件或指定表文件的记录个数。 函数 RECNO()格式是 RECNO(工作区号 |表别名 ),功能是返回当前表
26、文件或指定表文件中当前记录的记录号。 22 【正确答案】 D 【试题解析】 视图由于是从表中派生出采的,所以不存在修改结构的问题,但视图可以被删除。删除视图的命令格式是: DROP VIEW视图名。 23 【正确答案】 A 【试题解析】 SQL查询语句中特殊运算 BETWEEN.AND.的含义为 “ 和 之间 ”,意思为 “ 和 之间 ”相当于逻辑与运算中的 (A =AND =13 ,其中 A)B),选项 B)中数值放置错误,选项 C)和选项 D)语句错误。 24 【正确答案】 A 【试题解析】 表单 (Form)是 Visual FoxPro提供的用于建立应用程序界面的最主要界面之一。表单内
27、可以包含命令按钮、文本框、列表框等各种界面元素,产生标准的窗口或对话框。 25 【正确答案】 D 【试题解析】 在表单设计器环境下,可以对表单中的控件进行诸如移动、复制、布局等操作,也可以为控件设置 Tab键顺序。 选定控件,然后用鼠标将控件可以拖动到需要的位置。拖动控件四周的某个控点可以改变控件的宽度和高度,也可以在控件的属性对话框中设置相应的属性来改变控件的大小和位置。 26 【正确答案】 D 【试题解析】 INIT事件在对象建立时引发在表单对象的 INIT事件引发之前,将先引发它所包含的控件对象的 INIT事件; LOAD事件在表单对象建立之前引发,即运行表单时,先引发表单的 LOAD事
28、件,再引发表单的 INIT事件;DESTROY事件在对象释放时引发。 27 【正确答案】 B 【试题解析】 本题是关于 3QL嵌套查询语句的使用,通过内层的查询所有总分大于 700的学号集合,然后从班级关系中检索元组的学号属性值在该集合中的每个元组。注意内层嵌套的查询语句要用圆括号括起来。 28 【正确答案】 C 【试题解析】 使用短语 INTO CURSOR CumorName可以将查询结果存放到临时数据库中,其中 Ckusor Name是临时文件名。该短语产生的临时文件是一个只读的 dbf文件,当查询结束后该临时文件是当前文件,可以像 般的 dbf文件一样使用,但仅是可读 ,当关闭文件时该
29、文件将自动被删除。 INTO ARRAY是存放到数组, INTO TABLE是存放到数据表, TO FILE是存放到文本文件。 29 【正确答案】 D 【试题解析】 SUBSTR为取于串函数。格式是 SUBSTR(字符表达式,起始位置 ,长度 ),功能是 SUBSTR()从 指定表达式值的指定起始位置取指定长度的子串作为函数值。在 SUBSTR()函数中,若缺省第 3个自变量 长度,则函数从指定位置 直取到最后一个字符。 由于一个汉字占用两个字符,再根据该函数的功能,选 项 A)和 C)的结果都是乱码,选项 B)的结果是 “ 海 ”,选项 D)的结果是 “海南省 ”。 30 【正确答案】 空间
30、 【试题解析】 衡量一个算法的好差主要涉及到时间复杂度和空间复杂度。 31 【正确答案】 17 【试题解析】 根据二叉树结点计算公式 n0+n1+n2=1+n1+2*n2n0=n2+1 ,其中n0为叶子结点个数, n1为有一个子树的结点个数, n2为有两个子树的结点个数。 32 【正确答案】 封装 【试题解析】 把对象的数据和相应的方法程序、属性、事件代码捆绑包装在一起,就 称为封装。面向对象最主要的特点为封装、继承、多态。 33 【正确答案】 信息流 【试题解析】 面向数据流的设计方法的目的是给出设计软件结构的一个系统化的途径。在软件工程的需求分析阶段,信息流是一个主要考虑的问题,常用数据流
31、图描绘信息在系统中加工和流动的情况。面向数据流的设计方法定义了一些不同的映射,利用这些映射,可以把数据流图变换成软件结构。 34 【正确答案】 功能性内聚 【试题解析】 模块内聚要做到尽量高的内聚,内聚有 7种类型,它们之间的内聚度从弱到强排列为:偶然性内聚、逻辑性内聚、 时间性内聚、过程性内聚、通信性内聚、顺序性内聚和功能性内聚。 35 【正确答案】 C 【试题解析】 算法的定义是用来解决某一特定类型问题的有限运算序列。 36 【正确答案】 字符型 【试题解析】 字符型常量的定界符号有单引号、双引号和中括号,日期型常量的定界符号是大括号,这点考生应该区分开来。 37 【正确答案】 8 【试题
32、解析】 Len()函数是用来调试字符串长度的函数, Int()函数是用来求整的函数。本题中 Len()函数所测的字符串长度为 8,因此 Int的求整值仍然是 8。 38 【正确答案】 a 【试题解析】 修改本地视图的命令是 “MODIFY VIEW视图名 ”,创建视图的命令是 “CREATE VIEW视图名 ”,打开视图的命令是 “USE VIEW视图名 ”。 39 【正确答案】 主 【试题解析】 在 Visual FoxPro中,主索引和候选索引都是用来保证记录唯一性的,但自由表只能建立候选索引,不能建立主索引,只有数据库表才能建立主索引。 40 【正确答案】 域完整性 【试题解析】 域的完
33、整性也称作字段有效性规则,定义域的完整性,可以通过指定不同的宽 度说明不同范围数值的数据类型,从而可以限定字段的取值类型和取值范围。 41 【正确答案】 分组查询的条件 【试题解析】 GROUP BY子句用来将查询结果中的行按一个或多个列的值分组,而 HAVING子句则用于指定在查询结果中的各组必须满足的条件,进一步限定分组必须满足的条件。 42 【正确答案】 TOP 【试题解析】 在 SQL中,可以根据需要显示查询结果中的前几个记录,利用TOP短语可以实现此功能,格式为 TOP记录数 PERCENT。如果使用PERCENT,则记录数的值为 0.01 99.99之间的一个实数,表示显示前百分之几的记录。 43 【正确答案】 ORDER BY 【试题解析】 在 SQL中,可以对查阅结果进行排序,排序短语为 ORDER BY,系统默认为升序 (ASC);如果要降序排列,则需要加 DESC短语。 44 【正确答案】 AND 【试题解析】 逻辑运算可以用 AND、 OR、 NOT等表示,其中 AND表示且,OR表示或, NOT表示不是。 45 【正确答案】 ACTIVE 【试题解析】 激活菜单都使用命令短语 ACTIVE,基本的命令格式为: ACTIVE MENU菜单名或者 ACTIVE POPUP菜单名。