1、国家二级(VF)机试-试卷 4 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.算法空间复杂度是指( )。(分数:2.00)A.算法执行过程中所需要的存储空间B.算法程序中的指令一共有多少条C.算法程序所占的存储空间的大小D.算法程序的大小2.以下关于队列的叙述中正确的是( )。(分数:2.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进后 m(fIlo)的线性表D.队列是先进先出(FIFO)的线性表3.在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。(分数:2.00)A.快速排序B.堆排序C.冒泡排序D.
2、归并排序4.在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( )。(分数:2.00)A.语句B.命令C.调用程序D.消息5.以下叙述中,正确的是( )。(分数:2.00)A.软件就是程序的集合B.软件包括程序和文档、C.软件应包括程序清单及结果D.软件就是文件6.程序流程图(DFD)中的“口”代表的是( )。(分数:2.00)A.加工步骤B.数据流C.控制流D.组成关系7.概要设计使用的工具是( )。(分数:2.00)A.系统结构图B.程序流程图C.PAD 图D.数据流图(DFD 图)8.软件测试的正确过程是( )。 a验收测试 b集成测试 c单元测试 d系统测试(分数:2.
3、00)A.a、b、c、dB.d、c、b、aC.b、a、d、cD.C、b、a、d9.以下关于数据库系统的叙述中正确的是( )。(分数:2.00)A.数据库系统消除了冗余B.数据库系统减少了数据冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统管理数据快10.用二维表结构表示实体与实体间联系的数据模型是( )。(分数:2.00)A.网状模型B.层次模型C.面向对象模型D.关系模型11.在 Visual FoxPro 中,设计器用以创建表、表单、数据库、查询和报表等应用程序组件的可视化工具通常以( )形式出现。(分数:2.00)A.命令行B.窗口C.工具栏D.项目管理器12.
4、在 Visual FoxPro r 中,执行下列命令后,当前打开的数据库文件名是( )。Number=“5” File=“File”+Number USE&File(分数:2.00)A.FileNumberB.&FileC.file5D.DataBaseFile13.执行下列程序后,结果会在屏幕上显示( )。 strl=“Computer” strl=stuff(strl,4,5,“pany”)?strl(分数:2.00)A.ComputerB.CompanyC.puterD.strlpany14.在逻辑运算中,以下运算符的结果不是逻辑型的是( )。(分数:2.00)A.NOTB.ANDC.O
5、RD.MOD15.以下表达式中返回值是 56 的是( )。(分数:2.00)A.INT(5512)B.CEILING(5512)C.FLOOR(5512)D.ROUND(5512,0)16.执行以下命令之后,输出结果是( )。 SET EXACT OFF X=“m” ?IIF(“M”=X,X-“ore”,X+“any”)(分数:2.00)A.MoreB.moreC.ManyD.many17.可以在 BROWSE 浏览窗口中,按 CTRL+T 键实现记录的( )操作。(分数:2.00)A.逻辑删除和逻辑恢复B.物理恢复和逻辑恢复C.物理删除和物理恢复D.物理删除和逻辑删除18.在所有索引中,不允
6、许出现重复值的索引是( )。(分数:2.00)A.主索引B.主索引和唯一索引C.主索引和候选索引D.主索引、候选索引和唯一索引19.在数据库中,建立商品表时,将价格字段值限制在 10 元到 100 元的约束属于( )。(分数:2.00)A.实体完整性约束B.域完整性约束C.参照完整性约束D.自定义完整性约束20.用 SQL 语句创建基本表时,实现参照完整性规则应使用( )。(分数:2.00)A.约束子B.外键子句C.检查子句D.主键子句21.由基本形式 SELECT-FROM-WHERE 组成语句的功能是( )。(分数:2.00)A.数据查询B.数据定义C.数据操纵D.数据控制22.当前工资表
7、中有 100 条记录,当前记录号为 10,用 MAX 命令计算工资最大值时,若缺省范围短语条件,则系统将( )。(分数:2.00)A.只计算当前记录的工资值B.计算 10 条记录的最大工资值C.计算后 90 条记录的最大工资值D.计算全部记录的最大工资值23.将查询结果存储到临时表的 SQL SELECT 格式是( )。(分数:2.00)A.TO FILEB.INTO CURSORC.INTO DBFD.INTO ARRAY24.关于 INSERT-SQL 语句描述正确的是( )。(分数:2.00)A.可以向表中插入若干条记录B.在表中任何位置插入一条记录C.在表尾插入一条记录D.在表头插入一
8、条记录25.以下方法中,能够真正从表中删除记录的是( )。(分数:2.00)A.直接用 DELETE 命令B.直接用 ZAP 命令C.yI 己用 DELETE 命令,再用 PACK 命令D.先用 PACK 命令,再用 DELETE 命令26.在 Visual FoxPro 中扣,为了建立一个数据库表,我们可以在打开的( )对话框中完成。(分数:2.00)A.表设计器B.数据库设计器C.表达式生成器D.代码生成器27.执行 SQL 语句:DROP VIEW MyView 的结果是( )。(分数:2.00)A.创建 MyView 视图B.删除查询 MyViewC.删除视图 MyViewD.删除临时
9、表 MyView28.视图不能单独存在,它必须依赖于( )。(分数:2.00)A.视图B.数据库C.数据表D.查询29.现有一程序文件 myprojectprg,执行这个程序的命令是( )。(分数:2.00)A.OPEN myprojectprgB.RUN Project myprojectprgC.DO FORM myprojeetprgD.DO myprojectprg30.下列程序实现的功能是( )。 USE 奖牌表 DO WHILE NOT EOF()IF 奖牌数=10 SKlP LOOP ENDIF DISPLAY SKIP ENDDO USE(分数:2.00)A.显示所有奖牌数多于
10、或等于 10 的记录B.显示所有奖牌数少于 10 的记录C.显示第一条奖牌数多于或等于 10 的记录D.显示第一条奖牌数少于 10 的记录31.参数的传递可以按值传递或引用传递,也可以使用( )的将地址传递给过程或函数。(分数:2.00)A.命令 SET UDFPARMS TO VALUEB.在变量前面加上符号“&”C.在变量前面加上符号“”D.括号将变量括起来32.下面表单及控件常用事件中,与鼠标操作有关的是( )。(分数:2.00)A.ClickB.DblCliekC.RightClickD.以上 3 项都是33.不可以作为文本框控件数据来源的是( )。(分数:2.00)A.日期型字段B.
11、备注型字段C.数值型字段D.内存变量34.表单中的复选框控件属性中,用于表示当前选中状态的属性是( )。(分数:2.00)A.SelectedB.CaptionC.ValueD.Enabled35.下列关于报表的说法中,正确的是( )。(分数:2.00)A.报表必须是多栏报表B.报表的数据源不可以是视图C.报表的数据源可以是临时表D.必须设置报表的数据源36.“图书”表中有字符型字段“图书号”。要求用 SQL DELETE 命令将图书号以字母 A 开头的图书记录全部打上删除标记,正确的命令是( )。(分数:2.00)A.DELETE FROM 图书 FOR 图书号 LIKE“A”B.DELET
12、E FROM 图书 WHILE 图书号 LIKE“A”C.DELETE FROM 图书 WHERE 图书号=“A*”D.DELETE FROM 图书 WHERE 图书号 LIKE“A”37.将当前表单从内存中释放的正确语句是( )。(分数:2.00)A.ThisFonnDropB.ThisFormDestoryC.ThisFormReleaseD.ThisFormRefresh38.设 X=“11”,Y=“1122”,下列表达式结果为假的是( )。(分数:2.00)A.NOT(X=Y)AND(X$Y)B.NOT(X$Y)OR(=Y)D.NOT(X$Y)39.在 Visual FoxPro 中,
13、容器层次中的对象引用属性 parent 的含义是指( )。(分数:2.00)A.当前对象所在的表单集B.当前对象所在的表单C.当前对象的直接容器对象D.当前对象40.在 SQL SEILECI 语句中,下列与 INTO DBF 等价的短语是( )。(分数:2.00)A.INTO MENUB.INTOFORMC.INTOTABLED.INTO FlLE二、基本操作题(总题数:1,分数:2.00)41.在考生文件夹下的数据库 rate 中完成下列操作: 1将自由表 rate_exchange 和 currency_sl 添加到rate 数据库中。 2为表 rate_exchange 建立一个主索引
14、,表 currency_sl 建立一个普通索引(升序),两个索引的索引名和索引表达式均为“外币代码”。 3为表 currency_sl 设定字段的有效性,规则为:“持有数量=10 SKlP LOOP ENDIF DISPLAY SKIP ENDDO USE(分数:2.00)A.显示所有奖牌数多于或等于 10 的记录B.显示所有奖牌数少于 10 的记录 C.显示第一条奖牌数多于或等于 10 的记录D.显示第一条奖牌数少于 10 的记录解析:解析:题中语句是对表中各条记录执行循环,查找奖牌数少于 10 的记录。31.参数的传递可以按值传递或引用传递,也可以使用( )的将地址传递给过程或函数。(分数
15、:2.00)A.命令 SET UDFPARMS TO VALUEB.在变量前面加上符号“&”C.在变量前面加上符号“” D.括号将变量括起来解析:解析:在 Visual FoxPro 中,参数的传递可以是值传递或者是引用传递,也可以仅仅传给变量的地址,这样可以利用函数的副作用。在 Visual FoxPro 中,参数按地址传递时,应在变量前加“”。32.下面表单及控件常用事件中,与鼠标操作有关的是( )。(分数:2.00)A.ClickB.DblCliekC.RightClickD.以上 3 项都是 解析:解析:题中选项 A、B、C 分别对应鼠标的单击、双击和右击。33.不可以作为文本框控件数
16、据来源的是( )。(分数:2.00)A.日期型字段B.备注型字段 C.数值型字段D.内存变量解析:解析:文本框是 Visual FoxPro 是一种常用的控件。用户利用它可以在内存变量、数组元素或非备注型字段中输入或编辑数据。所有标准的 Visual FoxPro 编辑功能,如剪切、复制和粘贴,在文本框内都可使用。文本框一般包含一行数据。文本框可以编辑任何类型的数据,如字符型、数值型、逻辑型、日期型或日期时间型等。34.表单中的复选框控件属性中,用于表示当前选中状态的属性是( )。(分数:2.00)A.SelectedB.CaptionC.Value D.Enabled解析:解析:Enable
17、d 属性:用来指定复选框能否响应用户引发的事件。 Value 属性:用来指明复选框的当前状态。 Caption 属性:指定显示在复选框旁边的文字。35.下列关于报表的说法中,正确的是( )。(分数:2.00)A.报表必须是多栏报表B.报表的数据源不可以是视图C.报表的数据源可以是临时表 D.必须设置报表的数据源解析:解析:报表包括行报表、列报表、一对多报表、多栏报表;报表的数据源是可以不设置的,报表的数据源可以是表、查询、视图或临时表。36.“图书”表中有字符型字段“图书号”。要求用 SQL DELETE 命令将图书号以字母 A 开头的图书记录全部打上删除标记,正确的命令是( )。(分数:2.
18、00)A.DELETE FROM 图书 FOR 图书号 LIKE“A”B.DELETE FROM 图书 WHILE 图书号 LIKE“A”C.DELETE FROM 图书 WHERE 图书号=“A*”D.DELETE FROM 图书 WHERE 图书号 LIKE“A” 解析:解析:SQL 从表中删除数据的命令格式如下: DELETE FROM 表名WHERE 条件 正确答案为:DELETE FROM 图书 WHERE 图书号 LIKE“A”。这里的 LIKE 是字符串匹配运算符,通配符“”表示 0 个或多个字符。37.将当前表单从内存中释放的正确语句是( )。(分数:2.00)A.ThisFo
19、nnDropB.ThisFormDestoryC.ThisFormRelease D.ThisFormRefresh解析:解析:表单的释放语句是 ThisFormRelease(或 Release。ThisForm)。其中 A)和 B)选项中的语句不存在,而 D)选项中的含义是刷新表单,并不是题目要求的释放表单。38.设 X=“11”,Y=“1122”,下列表达式结果为假的是( )。(分数:2.00)A.NOT(X=Y)AND(X$Y)B.NOT(X$Y)OR(=Y)D.NOT(X$Y) 解析:解析:=、$、=是关系运算符,=是字符串精确比较,$是子串包含测试,=表示大于等于,X$Y 的值为T
20、,NOT(X$Y)的值为F。39.在 Visual FoxPro 中,容器层次中的对象引用属性 parent 的含义是指( )。(分数:2.00)A.当前对象所在的表单集B.当前对象所在的表单C.当前对象的直接容器对象 D.当前对象解析:解析:parent 是对象的一个属性,属性值为对象引用,指向该对象的直接容器对象。This、ThisFrom 和 ThisFromSet 是三个关键字,分别表示当前对象、当前表单和当前表单集。40.在 SQL SEILECI 语句中,下列与 INTO DBF 等价的短语是( )。(分数:2.00)A.INTO MENUB.INTOFORMC.INTOTABLE
21、 D.INTO FlLE解析:解析:INTO DBF 与 lNTO TABLE 等价,而选项 D 中 INTO FILE 是将记录存储到扩展名为TXT 文件中,选项 A 和 B 有语法错误。二、基本操作题(总题数:1,分数:2.00)41.在考生文件夹下的数据库 rate 中完成下列操作: 1将自由表 rate_exchange 和 currency_sl 添加到rate 数据库中。 2为表 rate_exchange 建立一个主索引,表 currency_sl 建立一个普通索引(升序),两个索引的索引名和索引表达式均为“外币代码”。 3为表 currency_sl 设定字段的有效性,规则为:
22、“持有数量0”,在“信息”栏中输入“持有数量不能为 0”。 (4)单击“打开”按钮,打开考生文件夹中的表单 test_form,修改命令按钮“登录”的 Enable 属性为“T-真(默认)”,保存表单。)解析:三、简单应用题(总题数:1,分数:2.00)42.打开考生文件夹下的 DB 数据库,完成如下简单应用: 1编写一个名为 FOURPRG 的程序,根据表TABA 中所有记录的 a,b,c 三个字段的值,计算各记录的一元二次方程的两个根 x1 和 x2,并将两个根x1 和 x2 写到对应的字段 x1 和 x2 中,如果无实数解,在 note 字段中写入“无实数解”。提示:平方根函数为 SQR
23、T();程序编写完成后,运行该程序计算一元二次方程的两个根。注意:一元二次方程公式如下: (分数:2.00)_正确答案:(正确答案:(1)操作步骤 新建程序 four,并输入以下命令: *“four”程序文件中的代码* CLOS ALL USE TABA SCAN IF A0 AND B*B-4*A*C=0 REPLxl WITH(-B+SQRT(B*B-4*A*C)(2*A),x2 WITH(-B-SQRT(B*B-4*A*C)(2*A) ELSE REPL NOTE WITH“无实数解” ENDIF ENDSCAN * 最后保存运行程序。 (2)操作步骤 步骤 1:打开表单“testA”。
24、 步骤 2:按 Shift 的同时选中“查询”和“退出”两个按钮,然后在属性窗口设定它们的Height 属性为 30,Width 属性为 80,在系统菜单中选择“格式”“对齐”“顶边对齐”。 步骤 3:在“查询”按钮的 Click 事件中输入下列代码。 *“three”程序文件中的代码* SELECT*: FROM TABA; WHERE TABAnote=“无实数解”; INTO TABLE TABDdbf * 步骤 4:在“退出”命令按钮的 Click 事件中输入“ThisFormRelease”。保存并运行表单。)解析:四、综合应用题(总题数:1,分数:2.00)43.设计名为 myst
25、ock 的表单(控件名、文件名均为 mystock)。表单的标题为“股票持有情况”。表单中有两个文本框(Text1 和 Text2)和 3 个命令按钮“查询”(名称为 Command1)、“退出”(名称为 Command2)和“清空”(名称为 Command3)。 运行表单时,在文本框 Text1 中输入某一股票的汉语拼音,然后单击“查询”按钮,则 Text2 中会显示出相应股票的持有数量,并计算相应股票的浮亏信息追加到 stock_fk表中,计算公式是浮亏金额=(现价-买入价)持有数量。 单击“清空”按钮可物理删除表 stock_fk 的全部记录。 单击“退出”按钮则关闭表单。请运行表单,单
26、击“清空”按钮后,依次查询 qlsh、shjc 和bggf 的股票持有数量,同时计算浮亏金额。(分数:2.00)_正确答案:(正确答案:步骤 1:单击常用工具栏中的“新建”按钮,文件类型选择“表单”,打开表单设计器。单击常用工具栏中的“保存”按钮,在弹出“保存”对话框中输入“mystock”即可。 步骤 2:在“表单设计器-mystocksex”中,在“属性”的 Caption 处输入“股票持有情况”,在 Name 处输入“mystock”。 步骤 3:在“表单设计器-mystockscx”中,添加两个文本眶(“Text1”和“Text2”)。在“表单设计器-mystocksex”中,添加 3
27、 个命令按钮,单击第 1 个命令按钮在“属性”的 Caption 处输入“查询”,单击第 2 个命令按钮在“属性”的 Cap!ion 处输入 “清空”,单击第 3 个命令按钮在“属性”的 Caption 处输入“退出”按钮。 步骤 4:双击“查询”命令按钮,在“Command1Click”编辑窗口中输入命令组,接着关闭编辑窗口。 pinyin=alltrim(thisformtext1value) open database!stock llSe!stock_name locate for 汉语拼音=pinyin if found() SELECT 持有数量,股票简称; FROM stock_
28、s1,stock_name; wHERE 汉语拼音=pinyin and stock_s1,股票代码=stock_name股票代码; INTO array a thisformtext1value=a2 thisformtext2value=a1 else wait“没有查询到,请重输”window timeout 2 endif 步骤 5:双击“清空”命令按钮,在“Command2click”编辑窗口中输入命令组,接着关闭编辑窗口。 thisformtext1value:=“ thisformtext2value=“ 步骤 6:双击“退出”命令按钮,在“Command3click”编辑窗口中输入“ThisformRelease”,接着关闭编辑窗口。 步骤 7:运行表单,并按题要求进行查询。)解析: