二级VISUAL FOXPRO笔试-148
(总分100, 做题时间90分钟)
一、选择题

1. 
设有关键码序列(Q,G,M,z,A,N,B,P,X,H,Y,S,T, L,K,E),采用堆排序法进行排序,经过初始建堆后关键码值B在序列中的序号是(    )。

A 1
B 3
C 7
D 9
2. 
在VFP中,关于查询和视图的正确描述是(    )。

A 视图只能查询表但不能更新表
B 查询和视图都是一个存储数据的表
C 查询和视图是同一种文件,只是名称不同
D 查询是一个预先定义好的SQL SELECT语句文件
3. 
显示当前表单程序代码是ThisForm.Show,其中的Show是表单对象的(    )。

A 标题
B 方法
C 属性
D 事件
4. 
在Visual FoxPro的查询设计器中,对应SQL短语DISTINCT的选项卡是(    )。

A 联接
B 排序依据
C 筛选
D 杂项
5. 
下列工具中,不属于结构化分析的常用工具的是(    )。

A 数据流图
B 数据字典
C 判定树
D N-S图
6. 
通过指定字段的数据类型和宽度来限制该字段的取值范围,这属于完整性中的(    )。

A 域完整性
B 字段完整性
C 参照完整性
D 实体完整性
7. 
“项目”菜单的“运行文件”命令用于执行选定的文件,这些文件可以是(    )。

A 查询、视图或表单
B 查询、表单或程序
C 表单、报表和标签
D 以上文件都可以
8. 
线性表常采用的两种存储结构是(    )。

A 散列方法和索引方式
B 链表存储结构和数组
C 顺序存储结构和链式存储结构
D 线性存储结构和非线性存储结构
9. 
删除视图stuvw的命令是(    )。

A DROP stuvw
B DROP VIEW stuvw
C DELETE stuvw
D DELETE VIEW stuvw
10. 
假定一个表单里有一个文本框Textl和一个命令按钮组CommandGroup1。命令按钮组是一个容器对象,其中包含Command1和Command2两个命令按钮。如果要在Command1命令按钮的某个方法中访问文本框的Value属性值,正确的表达式是(    )。

A This.ThisForm.Textl.Value
B This.Parent.Parent.Text1.Value
C Parent.Parent.Text1.Value
D This.Parent.Text1.Value
11. 
打印或预览报表的命令是(    )。

A CREATE REPORT
B DO FORM
C REPORT FORM
D START REPORT
12. 
要为当前打开的“成绩”表中所有的“分数”增加5分,可以使用命令(    )。

A UPDATE成绩WITH分数+5
B CHANGE ALL分数WITH分数+5
C DISPLAY ALL分数WITH分数+5
D REPLACE ALL分数WITH分数+5
13. 
对项目进行连编测试的目的是(    )。

A 对项目中各种程序的引用进行校验
B 对项目中PRG文件进行校验,检查发现其中的错误
C 对项目中各种程序的引用进行校验,检查所有的程序组件是否可用
D 对项目中各种程序的引用进行校验,检查所有的程序组件是否可用,并重新编译过期的文件
14. 
在软件生产过程中,需求信息的来源是(    )。

A 程序员
B 项目经理
C 设计人员
D 软件用户
15. 
软件需求分析阶段的工作,可以分为四个方面:需求获取、编写需求规格说明书、需求评审和(    )。

A 阶段性报告
B 需求分析
C 需求总结
D 都不正确
16. 
视图设计器和查询设计器基本类似,但视图设计器比查询设计器多了(    )。

A “查询输出”选项卡
B “更新条件”选项卡
C “分组依据”选项卡
D “杂项”选项卡
17. 
运算结果是字符串“hao”的表达式是(    )。

A LEFT("nihao",3)
B RIGHT("nihao",3)
C SUBSTR("nihao",3)
D UPPER("hao")
18. 
在VFP中,关于自由表叙述正确的是(    )。

A 自由表不可以加入到数据库中
B 自由表和数据库表是完全相同的
C 自由表不能建立候选索引
D 自由表不能建立字段级规则和约束
19. 
数据库的故障恢复一般是由(    )来执行恢复。

A 电脑用户
B 数据库恢复机制
C 数据库管理员
D 系统普通用户
20. 
设有职工表(其中包含字段:职工号,仓库号,工资),查询仓库号是“CK1”的职工信息,并按工资降序排序,正确的SQL命令是(    )。

A SELECT*FROM职工表WHERE仓库号="CK1"ORDER BY工资DESC
B SELECT*FROM职工表WHILE仓库号="CK1"ORDER BY工资ASC
C SELECT*FROM职工表WHERE仓库号="CK1"ORDER BY工资ASC
D SELECT*FROM职工表WHERE仓库号="CK1"GROUP BY工资DESC
21. 
如果要运行SMENU.MPR文件,正确的命令是(    )。

A DO MENU SMENU
B DO SMENU.MPR
C RUN MENU SMENU
D RUN SMENU.MPR
22. 
下列选项中,不属于数据模型所描述的内容的是(    )。

A 数据类型
B 数据操作
C 数据结构
D 数据约束
到(35)题使用如下的“外汇名”表和“持有数”表:
   “外汇名”表:
   外币代码    外币名称    现钞买入价    现钞卖出价    基准价
   13          欧元        958.640 0     985.2300       996.5400
   28          英镑        1220.9700      1330.2200     1287.4565
   37          法郎         592.7650      618.1305       612.5910
   26          加元         516.4110      531.4280       519.8690
   15          美元         811.5410      817.8900       815.6650
   “持有数”表:
   姓名    外币代码    持有数量
   李巡芬    37         30000.00
   张武奇    13         1000.00
   陆凭凭    15         3000.00
   陆凭凭    37         4000.00
   张武奇    15         2200.00
   林诗诗    26         2000.20
   李巡芬    26         30000.00
   张武奇    28         3000.00
   陆凭凭    26         3000.00
   陆凭凭    13         4000.00
   张武奇    26         18000.00

23. 
查询持有外币种类在4种以上人员的姓名,及持有的种类数量,并按种类数量升序排列,数量相同时,则按姓名降序排列,下列语句正确的是(    )。
SELECT姓名,COUNT(*)AS外币种类FROM持有数;
   GROUP BY姓名HAVING COUNT(*)>=4;
   ORDER BY外币种类,姓名DESC
SELECT姓名,COUNT(*)AS外币种类FROM持有数;
   GROUP BY姓名HAVING COUNT(*)>=4;
   ORDER BY COUNT(*),姓名DESC
SELECT姓名,COUNT(*)AS外币种类FROM持有数;
   GROUP BY姓名HAVING COUNT(*)>=4;
   ORDERBY外币种类AND姓名DESC
SELECT姓名,COUNT(*)AS外币种类FROM持有数;
   GROUP BY姓名HAVING COUNT(*)>=4;
   ORDER BY外币种类+姓名DESC
24. 
计算出“陆凭凭”所持有的全部外币相当于人民币的价值数量,下列语句正确的是(    )。
   (某种外币相当于人民币数量的计算公式:人民币价值数量=该种外币的“现钞买入价”*该种外币“持有数量”)
SELECT SUM(现钞买入价*持有数量)AS人民币价值;
   FROM持有数,外汇名;
   WHERE外汇名.外币代码=持有数.外币代码;
   AND姓名="陆凭凭"
SELECT SUM(现钞买入价*持有数量)AS人民币价值;
   FROM持有数,外汇名;
   WHERE外汇名.外币代码=持有数.外币代码;
   FOR姓名="陆凭凭"
SELECT COUNT(现钞买入价*持有数量)AS人民币价值;
   FROM持有数,外汇名;
   WHERE外汇名.外币代码=持有数.外币代码;
   AND姓名="陆凭凭"
SELECT COUNT(现钞买入价*持有数量1 AS人民币价值;
   FROM持有数,外汇名;
   WHERE外汇名.外币代码=持有数.外币代码;
   FOR姓名="陆凭凭"
25. 
将“外汇名”表美元和英镑的基准价下调1%,下列SQL语句正确的是(    )。
UPDATE外汇名FOR基准价=基准价*0.99;
   WHERE外币名称="美元"OR外币名称="欧元"
UPDATE外汇名SET基准价=基准价*0.99;
   WHERE外币名称="美元"OR外币名称="欧元"
UPDATE外汇名SET基准价=基准价*0.99;
   WHERE外币名称="美元"AND外币名称="欧元"
UPDATE外汇名FOR基准价=基准价*0.99;
   WHERE外币名称="美元"AND外币名称="欧元"
26. 
删除“持有数”表中所有外币名称为“法郎”的记录,下列SQL语句正确的是(    )。
DELETE FROM持有数;
   WHERE持有数.外币代码=外汇名.外币代码;
   AND外币名称="法郎"
DELETE FROM持有数,外汇名;
   WHERE持有数.外币代码=外汇名.外币代码;
   AND外币名称="法郎"
DELETE FROM持有数WHERE外币代码IN;
   (SELECT外币代码FROM外汇名WHERE外币名称="法郎")
DELETEFROM持有数WHERE外币代码IN;
   SELECT外币代码FROM外汇名WHERE外币名称="法郎"
27. 
设n=STR(-123.456,6,2),则n的值等于(    )。

A -123.45
B -123.46
C -123.5
D -123.4
28. 
在创建数据库表结构时,为该表中一些字段建立普通索引,其目的是(    )。

A 改变表中记录的物理顺序
B 为了对表进行实体完整性约束
C 加快数据库表的更新速度
D 加快数据库表的查询速度
29. 
对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为(    )。

A 并运算
B 交运算
C 差运算
D 积运算
30. 
要关闭当前处于打开状态的类库文件mylib,可以使用命令(    )。

A RELEASE CLASSLIB mylib
B RELEASE CLASS mylib
C CLOSE CLASS mylib
D CLOSE CLASSLIB mylib
31. 
与“SELECT*FROM歌手WHERE NOT(最后得分>9.00OR最后得分<8.00)”等价的语句是(    )。

A SELECT*FROM歌手WHERE最后得分BETWEEN 9.00 AND 8.00
B SELECT*FROM歌手WHERE最后得分>=8.00 AND最后得分<=9.00
C SELECT*FROM歌手WHERE最后得分>9.00 OR最后得分<8.00B)
32. 
对建立良好的程序设计风格,下面描述正确的是(    )。

A 程序应简单、清晰、可读性好
B 符号名的命名只要符合语法
C 充分考虑程序的执行效率
D 程序的注释可有可无
33. 
下面关于过程调用的陈述中,正确的是(    )。

A 实参与形参的数量必须相等
B 当实参的数量多于形参的数量时,多余的实参被忽略
C 当形参的数量多于实参的数量时,多余的形参取逻辑假
D 选项B) 和
34. 
如果要为控件设置焦点,则下列属性值是真(.T.)的是(    )。

A Enabled和Cancel
B Enabled和Visible
C Default和Cancel
D Visible和Cancel
35. 
在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(    )。

A 需求分析
B 详细设计
C 软件设计
D 概要设计
二、填空题

1. 
在面向对象方法中,______描述的是具有相似属性与操作的一组对象。

2. 
在最坏情况下,堆排序需要比较的次数为______。

3. 
数据库系统的三级模式分别为______模式、内模式与外模式。

4. 
软件开发环境是全面支持软件开发全过程的______集合。

5. 
关系代数是关系操作语言的一种传统表示方式,它以集合代数为基础,它的运算对象和运算结果均为______。

6. 
在Visual FoxPro中,常量$280的数据类型是______。

7. 
为了判断LOCATE命令是否找到了满足条件的记录,可以使用函数______。

8. 
数据库表之间的关联是通过主表的______索引和子表的普通索引实现的。

9. 
将SQL的查询结果如果要追加到文本文件的尾部,应使用______短语加以说明。

10. 
查询“学生”表中所有姓“张”的学生记录,完成下列SQL语句:
   SELECT*FROM学生成绩WHERE姓名______"张%\

11. 
在VFP中,使用SQL的CREATE TABLE语句建立数据库表时,使用______定义默认值。

12. 
建立远程视图必须首先建立与远程数据库的______。

13. 
组合框有两种形式:下拉组合框和下拉列表框。通过设置______属性可选择想要的形式。

14. 
下列命令将“学生”表的“年龄”字段名删除:
   ALTER TABLE学生______COLMN年龄

15. 
为表单建立了快捷菜单MYMENU,调用快捷菜单的命令代码DO mymenu.mpr WITH THIS应该放在表单的______事件中。

答题卡