1、国家二级 VF机试(选择题)模拟试卷 164及答案与解析 一、选择题 1 在结构化方法中,用数据流程图 (DFD)作为描述工具的软件开发阶段是 ( )。 ( A)逻辑设计 ( B)需求分析 ( C)详细设计 ( D)物理设计 2 对序线性表 (23, 29, 34, 55, 60, 70, 78)用二分法查找值为 60的元素时,需要比较次数为 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 3 下列描述中,正确的是 ( )。 ( A)线性链表是线性表的链式存储结构 ( B)栈与队列是非线性结 构 ( C)双向链表是非线性结构 ( D)只有根结点的二叉树是线性结构 4 开发大型
2、软件时,产生困难的根本原因是 ( )。 ( A)大型系统的复杂性 ( B)人员知识不足 ( C)客观世界千变万化 ( D)时间紧、任务重 5 两个或两个以上的模块之间关联的紧密程度称为 ( )。 ( A)耦合度 ( B)内聚度 ( C)复杂度 ( D)连接度 6 下列关于线性表的叙述中,不正确的是 ( )。 ( A)线性表可以是空表 ( B)线性表是一种线性结构 ( C)线性表的所有结点有且仅有一个前件和 后件 ( D)线性表是由 n个元素组成的一个有限序列 7 设有如下关系表: 则下列操作正确的是 ( )。 ( A) T=R S ( B) T=RS ( C) T=RS ( D) T=R S
3、8 以下描述中,不是线性表顺序存储结构特征的是 ( )。 ( A)可随机访问 ( B)需要连续的存储空间 ( C)不便于插入和删除 ( D)逻辑相邻的数据物理位置上不相邻 9 在三级模式之间引入两层映象,其主要功能之一是 ( )。 ( A)使数据与程序具有较高的独立性 ( B)使系统具有较高的通道能力 ( C)保 持数据与程序的一致性 ( D)提高存储空间的利用率 10 下列方法中,属于白盒法设计测试用例的方法的是 ( )。 ( A)错误推测 ( B)因果图 ( C)基本路径测试 ( D)边界值分析 11 下列实体类型的联系中,属于一对多联系的是 ( )。 ( A)学生与课程之间的联系 ( B
4、)学生与体育比赛项目之间的联系 ( C)商品条形码与商品之间的联系 ( D)班级与学生之间的联系 12 在 Visual FoxPro中,可以对项目中的数据、文档等进行集中管理,并可以对项目进行创建和维护的是 ( )。 ( A)向导 ( B)设计器 ( C)项目管理器 ( D)文件编辑器 13 向项目中添加报表,应该使用项目管理器的 ( )。 ( A) “代码 ”选项卡 ( B) “文档 ”选项卡 ( C) “数据 ”选项卡 ( D) “类 ”选项卡 14 下列赋值语句正确的是 ( )。 ( A) STORE 5TO X B ( B) STORE 5,6 TO X,B ( C) X,Y=5 (
5、 D) X=5,Y=6 15 进行字符串比较时,使命令: ?“我们大家 ”=“我们 ”结果为逻辑假的设置是 ( )。 ( A) SET EXACT ON ( B) SET EXACT OFF ( C) SET COLLATE TO“Machine” ( D) SET COLLATE TO”Stroke” 16 下列表达式中结果不是日期型的是 ( )。 ( A) CTOD(“2008 09 01”) ( B) VAL“2008 09 01”) ( C) 08 10 21+365 ( D) DATE() 17 运算结果不是 2010的表达式是 ( )。 ( A) int(2010 9) ( B)
6、round(2010 1, 0) ( C) ceiling(2010 1) ( D) floor(2010 9) 18 假设使用 DIMENSION alT(5)定义了一个一维数组 arr,正确的赋值语句是( )。 ( A) alT=10 ( B) alT10=10 ( C) STORE 10 alT3, alT4, alT5 ( D) y2, y3, y4=10 19 如果在命令窗口执行命令: LIST名称,主窗口中显示: 记录行 名称 1 电视机 2 计算机 3 电扇 线 4 电脑连线 5 电话线 假定名称字段为字符型,宽度为 8,那么下面程序段的输出结果是 ( )。 GO 2 SCAN
7、NEXT 4 FOR LEFT(名称, 2)=“电 ” IF RIGHT(名称, 2)=“线 ” EXIT ENDIF ENDSCAN ?名称 ( A)电视机 ( B)电扇线 ( C)电脑连线 ( D)电话线 20 下列有关过程调用的叙述中,正确的是 ( )。 ( A)被传递的参数是变量,则为引用方式 ( B)被传递的参数是常量,则为传值方式 ( C)被传递的参数是表达式,则为传值方式 ( D)传值方式中形参变量值的改变不会影响实参变量的取值 21 在 Visual FoxPro中,以只读方式打开数据库文件的是 ( )。 ( A) EXCLUSIVE ( B) NOJPDATE ( C) SH
8、ARED ( D) VALIDATE 22 数据库表的字段可以定义默认值,默认值是 ( )。 ( A)逻辑表达式 ( B)字符表达式 ( C)数值表达式 ( D)前 3种都可以 23 在 Visual FoxPro中,与主索引有着相似功能的索引是 ( )。 ( A)候选索引 ( B)惟一索引 ( C)普通索引 ( D)单索引 24 将学生表的 “年龄 ”属性限制在 18 22之间,这属于 ( )。 ( A)实体完整性规则 ( B)参照完整性规则 ( C)域完整性规则 ( D)字段限制规则 25 以下关于自由表的叙述,正确的是 ( )。 ( A)自由表是用以前版本的 FoxPro(FoxBASE
9、)建立的表 ( B)自由表可以用 Visual FoxPro建立,但是不能把它添加到数据库中 ( C)自由表可以添加到数据库中,数据库表也可以从数据库中移出成为自由表 ( D)自由表一旦添加到数据库中,就不能再从数据库中移出 26 在 Visual FoxPro的工作 1区和 3区打开了数据表文件,再接着执行 SELECT 0后,选择工作区的结果是 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 27 查询 “学生 ”表的所有记录并存储于表文件 tablel中的 SQL语句是 ( )。 ( A) SELECT*FROM学生 INTO CURSOR tablel ( B) SE
10、LECT*FROM学生 TO CURSOR tablel ( C) SELECT*FROM学生 INTO DBF tablel ( D) SELECT*FROM学生 TO FABLE tablel 28 找出职工出生日期在 1960年 (含 )以前的职工 “姓名 ”(字段来自 “职工 ”表 ),以及这些职工单位的所在地 (字段来自 “仓库 ”表 ),正确的命令是 ( )。 ( A) SELECT 姓名,所在地 FROM职工; WHERE(YEAR(出生日期 )1:返回指定数值表达式的整数部分。 CEILING():返回大于等于指定数值表达式的最小整数。 FLOOR():返回小于等于指定数值表达
11、式的最大整数。 ROYND(, ):返回指定表达式在指定位置四舍五入后的结果。 本题中, int(2010 9)=2010, round(2010 1, 0)=2010, ceiling(2010 1)=2011,floor(2010 9)=2010。 18 【正确答案】 A 【试题解 析】 在赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的全部数组元素。 数组 arr的定义中只定义了 5个元素,而选项 B)的下标已经超出了数组的数量。 内存变量的赋值有两种格式: 格式 1: STORETO 格式 2: = 功能:计算表达式并将表达式值赋给一个或多个内存变量,格式 2只能给一个变量
12、赋值。 19 【正确答案】 C 【试题解析】 程序中,首先将指针指向第二条记录,然后执行 SCAN循环。SCAN语句的格式是: SCANFORWHILE 循环体 执行该语句时,指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令。题干中的范围是从第 2条记录到第 5条记录。循环条件是 LEFT(名称, 2)=”电 ”,即表示第一个字为 “电 ”字的记录 (因为一个汉字占用两个字符 ),如果满足条件,则进入循环体,接着判断 RIGHT(名称, 2)是否为 “线 ”,如果是则跳出循环体,输出该记录的 “名称 ”;否则记录指针指向下一条记录,重新开始循环。通过分析
13、,第 4条记录恰好符合条件,循环结束,最后显示的是 “电脑连线 ”。 本题要注意的是第 3条记录 “电扇线 ”,因为字段宽度为 8,而 “电扇线 ”只占 6个字节,因此在使用 RIGHT(名称, 2)得到的结果是最后两个空字节,而不是 “线 ”字。 20 【正确答案】 D 【试题解析】 主程序传递参数时采用按值传递和按引用传递两种方式。 按值传递传的是数值,系统会将实参的数值通过计算直接赋值给对应的形参,如果在模块程序中改变了形参的值,将不会影响实参的值。 如果实参是变量,那么传送的不是变量的值,而是变量在内存中的地址。这时实参和形参实际上是同一个变量,只是取了两个不同的变量名,如果在 模块程
14、序中改变形参的值,实参的值将会随之改变,这种方式称为按引用传递。 21 【正确答案】 B 【试题解析】 打开数据库的命令是: OPEN DATABASEfilename I? EXCLtNIVE I SHAREDNLIPDATEVALIDATE 其中, EXCLUSIVE表示以独占方式打开数据库,即不允许其他用户在同一时刻也使用数据库。 SHARED以共享方式打开数据库。 NOLIPDATE指定数据库按只读方式打开。 VALIDATE指定 Visual FoxPro检查在数据库中 引用的对象是否合法。 22 【正确答案】 D 【试题解析】 在数据库表的设计器的 “字段 ”选项卡中,有一组定义字
15、段有效性规则的项目,它们是规则、信息和默认值 3项。其中,规则是逻辑表达式,信息是字符串表达式,默认值的类型则视字段的类型而定。 23 【正确答案】 A 【试题解析】 主索引是指在指定字段或表达式中不允许出现重复值的索引。 候选索引和主索引具有相同的特性,建立候选索引的字段可以看作是候选关键字,所以一个表可以建立多个候选索引。即候选索引像主索引一样要求字段值的惟一性并决定处理记录的 顺序。 惟一索引是为了保持同早期版本的兼容性,它的 “惟一性 ”是指索引项的惟一,而不是字段值的惟一。它以指定字段的首次出现值为基础,选定一组记录,并对记录进行排序。在一个表中可以建立多个惟一索引。 普通索引是可以
16、决定记录的处理顺序,它不仅允许字段中出现重复值,并且索引项中也允许出现重复值。在一个表中可以建立多个普通索引。 24 【正确答案】 C 【试题解析】 域完整性也称为字段有效性规则,在插入或修改字段值时被激活,主要用于数据输入正确性的检验,可以限定字段取值类型和取值范围。实体完整性是保证表中记 录惟一的特性,利用主关键字或候选关键字来实现。参照完整性与表之间的关联有关,它的含义是:当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。 25 【正确答案】 C 【试题解析】 所谓自由表,就是那些不属于任何数据库的表,所有由 FoxBASE或早期版
17、本的 FoxPro创建的数据库文件 ( dbf)都是自由表。在 Visual FoxPro中创建表时,如果当前没有打开数据库,则创建的表也是自由表。可以将自由表添加到数据库中,使之成为数据库表;也可以将数 据库表从数据库中移出,使之成为自由表。 26 【正确答案】 C 【试题解析】 SELECT。 0命令功能是选择编号最小的可用工作区 (即尚未使用的工作区 ),本题中还未使用的最小工作区是 2号工作区。 27 【正确答案】 C 【试题解析】 在 SQL语句中,使用短语 INTOTABLE TableName或 INTO DBF TableName可以将查询结果存放在永久表中,其中 TableN
18、ame是永久表文件名。 28 【正确答案】 D 【试题解析】 选项 A)中缺少查询的 “仓库 ”表,且查询条件 连接有误;选项 B)中同样缺少查询的 “仓库 ”表;选项 C)中查询条件错误,应使用 AND进行条件连接,而不是 OR。 29 【正确答案】 B 【试题解析】 SQL语句中的 ORDER BY短语只能对最终的查询结果进行排序,所以只能在外层查询中排序,不可以在子查询中使用该短语,即不能对内层查询排序。 30 【正确答案】 B 【试题解析】 在 SQL语言中, DELETE是删除记录命令, DROP是删除表命令, CREATE是创建表的命令, SELECT是查询命令。 31 【正确答案
19、】 D 【试题解析 】 类是具有相同属性和相同操作的对象的集合。对每个基类,系统都规定了应具有的属性,指定了可使用方法和驱动事件。同一类产生的不同对象的属性可以分别设置,属性用于描述类的性质、状态,而方法是用于表示对象的行为。 32 【正确答案】 C 【试题解析】 数据环境是对象,有自己的属性、方法和事件。关系是数据环境中的对象,也有自己的属性、方法和事件。可以在数据环境中编辑关系。 33 【正确答案】 B 【试题解析】 在 Visual FoxPro中,利用数据环境,将字段拖到表单中,默认情况下,字符型字段 产生文本框控件;逻辑型字段产生复选框;备注型字段产生编辑框控件;表或视图则产生表格控
20、件。 34 【正确答案】 C 【试题解析】 在 Visual FoxPro中,利用数据环境,将字段拖到表单中,默认情况下,字符型字段产生文本框控件;逻辑型字段产生复选框;备注型字段产生编辑框控件;表或视图则产生表格控件。 35 【正确答案】 B 【试题解析】 复选框用于标记一个两值状态,如真 ( T)或假 ( F )。当处于选中状态时,复选框中显示一个对勾,否则,复选框内为空白。复选框的 Value属性用来指明 复选框的当前状态, O或 F表示未被选中, 1或 T表示被选中, 2或 null表示不确定。该控件最适合用来表示逻辑型字段。 36 【正确答案】 D 【试题解析】 在定义菜单名称时,可
21、以设置菜单项的访问键,方法是在要作为访问键的字符前加上 “ ”两个字符。 37 【正确答案】 B 【试题解析】 选项 A)的命令格式错误,将查询结果保存在数组里应该是: rNTO ARRAY短语。由程序语句 “REPLACE歌手最后得分 WITH a2”中的 “a2”可以看出 a是一个数组名, a2指的是数组 a中的第 2个元素,所以填写的 SQL语句中一定用到了数组 a。而选项 C)和选项 D)中,是将查询结果保存在文本文件中,故可以排除。程序的功能是:在歌手表中,从第一条记录开始,在 temp表中找到与该记录的歌手号相同的记录,并把记录的所有字段保存在数组 a中,由于temp表中只有 “歌
22、手号 ”和 “最后得分 ”两个字段,所以数组 a中有两个元素,第一个是 “歌手号 ”,第二个是 “最后得分 ”,再用 REPLACE命令将歌手表中当前记录中的 “最后得分 ”字段用 a2替换,即填入了 “最后得分 ”。当一条记录处理结束之后, SKIP命令将记录指针指 向歌手表的下一条记录,进行同样的处理,最终将歌手表中的 “最后得分 ”字段填写完毕。 38 【正确答案】 C 【试题解析】 SQL中,删除记录的命令是: DELETE FROM表名 WHERE过滤条件 lAND OR过滤条件 2 39 【正确答案】 A 【试题解析】 COUNT命令统计数据表中的记录个数; SUM对数据表中所有数
23、据值字段进行纵向求和。 题目要求显示 ABC单位的借阅图书的读者人数,本题使用的是嵌套查询语句,内层查询将单位是 “ABC”的读者的借书证号查出来,外层查询根据内层查 询的结果通过对借阅库的操作显示出单位为 ABC的借阅图书的读者。当然有可能有的读者不止借阅过一次书,所有要在 “借书证号 ”前加 DISTINCT命令去掉重复值,求的才是人数,而不是人次数。 40 【正确答案】 B 【试题解析】 要分别求出各个单位查询借阅图书人的读者人次,而单位信息在读者表中,借阅图书的信息在借阅表中,需要通过共同的借书证号属性把两个表联接起来,即将借阅借书证号 =读者借书证号置于 WHERE短语之后。 把同借书号所借阅的图书数目都统计在内,所以不需要使用 DISTlNCT短语去掉重复值; 需要按单位统计借阅图书的读者人次,通过 GROUP BY命令实现按单位分组查询。