1、国家二级 VF笔试-试卷 120及答案解析(总分:104.00,做题时间:90 分钟)一、选择题(总题数:36,分数:72.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。(分数:2.00)_2.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是( )。(分数:2.00)A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA3.下列叙述中正确的是( )。(分数:2.00)A.循环队列有队头和队尾两个指针,因此,循环队列是
2、非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定4.在长度为 n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。(分数:2.00)A.O(n)B.O(n2)C.O(log2n)D.O(n log2n)5.下列叙述中正确的是( )。(分数:2.00)A.顺序存储结构的存储空间一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D
3、.链式存储结构比顺序存储结构节省存储空间6.数据流图中带有箭头的线段表示的是( )。(分数:2.00)A.控制流B.事件驱动C.模块调用D.数据流7.在软件开发中,需求分析阶段可以使用的工具是( )。(分数:2.00)A.N-S图B.DFD图C.PAD图D.程序流程图8.在面向对象方法中,不属于“对象”基本特点的是( )。(分数:2.00)A.一致性B.分类性C.多态性D.标识唯一性9.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。(分数:2.00)A.一对一B.一对多C.多对一D.多对多10.在数据管理技术发展的 3个阶段中,数据共享最好的是( )。(分数:2.00)A.人工管理
4、阶段B.文件系统阶段C.数据库系统阶段D.3个阶段相同11.有 3个关系 R、S 和 T如下: (分数:2.00)A.笛卡儿积B.交C.并D.自然连接12.以下不属于 SQL数据操作命令的是( )。(分数:2.00)A.MODIFYB.INSERTC.UPDATED.DELETE13.执行命令“INDEX on 姓名 TAG index name”建立索引后,下列叙述错误的是( )。(分数:2.00)A.此命令建立的索引是当前有效索引B.此命令所建立的索引将保存在 IDX文件中C.表中记录按索引表达式升序排序D.此命令的索引表达式是“姓名”,索引名是“index name”14.报表的数据源可
5、以是( )。(分数:2.00)A.表或视图B.表或查询C.表、查询或视图D.表或其他报表15.在 Visual FoxPro中,打开数据库的命令是( )。(分数:2.00)A.OPFN DATABASE数据库名B.USE数据库名C.USE DATABASE数据库名D.OPEN数据库名16.“项目管理器”的“运行”按钮用于执行选定的文件,这些文件可以是( )。(分数:2.00)A.查询、视图或表单B.表单、报表和标签C.查询、表单或程序D.以上文件都可以17.在指定了段或表达式中不允许出现重复值的索引是( )。(分数:2.00)A.惟一索引B.惟一索引和候选索引C.惟一索引和主索引D.主索引和候
6、选索引18.下列程序段执行以后,内存变量 y的值是( )。 x=34567 y=0 DO WHILE x0 y=x%10+y*10 X=int(x/10) ENDDO(分数:2.00)A.3456B.34567C.7654D.7654319.不允许记录中出现重复索引值的索引是( )。(分数:2.00)A.主索引B.主索引、候选索引和普通索引C.主索引和候选索引D.主索引、候选索引和惟一索引20.在 Visual FoxPro的查询设计器中“筛选”选项卡对应的 SQL短语是( )。(分数:2.00)A.WHEREB.JOINC.SETD.ORDER BY21.下面关于类、对象、属性和方法的叙述中
7、,错误的是( )。(分数:2.00)A.类是对一类相似对象的描述,这些对象具有相同种类的属性和方法B.属性用于描述对象的状态,方法用于表示对象的行为C.基于同一个类产生的两个对象可以分别设置自己的属性值D.通过执行不同对象的同名方法,其结果必然是相同的22.在下面的 Visual FoxPro表达式中,运算结果不为逻辑真的是( )。(分数:2.00)A.EMPTY(SPACE(0)B.LIKE(xy*,xyz)C.AT(xy,abexyZ)D.ISNULL(.NULL.)23.SQL的数据操作语句不包括( )(分数:2.00)A.INSERTB.UPDATEC.DELETED.CHANGE24
8、.假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“张三” (字符型,宽度为 6)。在命令窗口输入并执行如下命令: 姓名=姓名-“您好“ ? 姓名 那么主窗口中将显示( )。(分数:2.00)A.张三B.张三 您好C.张三您好D.出错25.有一学生表文件,且通过表设计器已经为该表建立了若干普通索引。其中一个索引的索引表达式为姓名字段,索引名为 XM。现假设学生表已经打开,且处于当前工作区中,那么可以将 L述索引设置为当前索引的命令是( )。(分数:2.00)A.SET INDEX TO 姓名B.SET INDEX TO XMC.SET ORDER TO 姓名D.SET ORDER T
9、O XM26.假设在表单设计器环境下,表单中有一个文本框且已经被选定为当前对象。现在从属性窗口中选择Value属性,然后在设置框中输入:2001-9-10-2001-8-20。请问以上操作后,文本框 Value属性值的数据类型为( )。(分数:2.00)A.日期型B.数值型C.字符型D.以上操作出错27.在 Visual FoxPro中,关于视图的正确叙述是( )。(分数:2.00)A.视图与数据库表相同,用来存储数据B.视图不能同数据库表进行连接操作C.在视图上不能进行更新操作D.视图是从一个或多个数据库表导出的虚拟表28.以下所列各项属于命令按钮事件的是( )。(分数:2.00)A.Par
10、entB.ThisC.ThisFormD.Click29.如果在命令窗口执行命令:LIST 名称,主窗口中显示: 记录号 名称 1 电视机 2 计算机 3 电话线 4 电冰箱 5 电线 假定名称字段为字符型、宽度为 6,那么下面程序段的输出结果是( )。 G02 SCAN NEXT 4 FOR LEFT(名称,2)=“电“ IF RIGHT(名称,2)=“线“ EXIT ENDIF ENDSCAN ? 名称(分数:2.00)A.电话线B.电线C.电冰箱D.电视机30.查淘金额最大的 10%的订单信息。正确的 SQL语句是( )。(分数:2.00)A.SELECT*TOP l0 PERCENT
11、FROM 订单B.SELECTTOP 10%*FROM 订单 ORDER BY 金额C.SELECT*TOP l0 PERCENT FROM 订单 ORDER BY 金额D.SELECTTOP l0 PERCENT*FROM 订单 ORDER BY 金额 DESC31.查询订单数在 3个以上、订单的平均金额 200元以上的职员号。正确的 SQL语句是( )。(分数:2.00)A.SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)3 AND AVG 金额200B.SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(
12、*)3 AND AVG(金额)200C.SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)3 WHERE AVG(金额)200D.SELECT 职员号 FROM 订单 GROUP BY 职员号 WHERE COUNT(*)3 AND AVG 金额20032.显示 2005年 1月 1日后签订的订单,显示订单的订单号、客户名以及签订日期。正确的 SQL语句是( )。(分数:2.00)A.SELECT 订单号,客户名,签订日期 FROM订单 JOIN客户 ON 订单.客户号=客户.客户号 WHERE 签订日期2005-1-1B.SELECT 订单号,客户
13、名,签订日期 FROM 订单 JOIN 客户 WHERE 订单.客户号=客户.客户号 AND 签订日期,2005-1-1)C.SELECT 订单号,客户名,签订日期 FROM 订单,客户 WHERE 订单.客户号=客户.客户号 AND 签订日期2005-1-1D.SELECT订单号,客户名,签订日期 FROM 订单,客户 ON 订单.客户号=客户.客户号 AND 签订日期2005-l-133.显示没有签订任何订单的职员信息(职员号和姓名),正确的 SQL语句是( )。(分数:2.00)A.SELECT 职员.职员号,姓名 FROM 职员 JOIN 订单 ON 订单.职员号=职员.职员号 GRO
14、UP BY 职员.职员号 HAVING COUNT(*)=0B.SELECT 职员职员号,姓名 FROM 职员 LEFT JOIN 订单 ON 订单.职员号=职员.职员号 GROUP BY 职员.职员号 HAVING COUNT(*)=0C.SELECT 职员号,姓名 FROM 职员 WHERE 职员号 NOT IN(SELECT 职员号 FROM 订单)D.SELECT 职员.职员号,姓名 FROM 职员 WHERE 职员.职员号(SELECT 订单.职员号 FROM订单)34.有以下 SQL语句: SELECT 订单号,签订日期,金额 FROM 订单,职员 WHERE 订单.职员号=职员.
15、职员号 AND 姓名=“李二“ 与如上语句功能相同的 SQL语句是( )。(分数:2.00)A.SELECT 订单号,签订日期,金额 FROM 订单 WHERE EXISTS (SELECT*FROM 职员 WHERE 姓名=“李二“)B.SELECT 订单号,签订日期,金额 FROM 订单 WHERE EXISTS(SELECT*FROM 职员 WHERE 职员号=订单.职员号 AND姓名=“李二“)C.SELECT 订单号,签订日期,金额 FRM 订单 WHERE IM (SELECT 职员号 FROM 职员 WHERE 姓名=“李二“)D.SELECT 订单号,签订日期,金额 ROM 订
16、单 WHERE IN(SELECT 职员号 FROM 职员 WHERE 职员号=订单.职员号 AND 姓名=“李二“)35.从订单表中删除客户号为“1001”的订单记录,正确的 SQL语句是( )。(分数:2.00)A.DROP FROM 订单 WHERE 客户号=“1001“B.DROP FROM 订单 FOR 客户号=“1001“C.DELETE FROM 订单 WHERE 客户号=“1001“D.DELETE FROM 订单 FOR 客户号=“1001“36.将订单号为“0060”的订单金额改为 169元,正确的 SQL语句是( )。(分数:2.00)A.UPDATE订单 SET 金额=
17、169 WHERE 订单号=“0060“B.UPDATE 订单 SET 金额 WITH l69 WHERE 订单号=“0060“C.UPDATE FROM订单 SET 金额=169 WHERE 订单号=“0060“D.UPDATE FROM订单 SET 金额 WITH l69 WHERE 订单号=“0060“二、填空题(总题数:16,分数:32.00)37.填空题(每空)请将每一个空的正确答案写在答题卡上。注意:以命令关键字填空的必须拼写完整。(分数:2.00)_38.在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,并且每一个 1 实际上对应一个处理模块。(分数:2.00)填空
18、项 1:_39.结构化程序设计的 3种基本结构分别是顺序、选择和 1。(分数:2.00)填空项 1:_40.二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是 1。(分数:2.00)填空项 1:_41.一个模块直接调用的其他模块个数称为 1。(分数:2.00)填空项 1:_42.数据库系统中实现各种数据管理功能的核心软件是 1。(分数:2.00)填空项 1:_43.项目管理器中,用于显示应用程序中所有文件的是“ 1”选项卡。(分数:2.00)填空项 1:_44.自由表与数据库表相比较,在数据库中可以建立 1 索引,而在自由表中不能建立。(分数:2.00)填空项 1:_45.“报
19、表控件”工具栏中的“图片/ActiveX 绑定”控件用于显示图片和 1 字段的内容。(分数:2.00)填空项 1:_46.在 Visual FoxPro中,用来确定复选框是否被选中的属性是 1。(分数:2.00)填空项 1:_47.利用 SQL语句的定义功能,建立一个学生表文件,其中为学号建立主索引,年龄的默认值为 18,语句格式为:CREATE TABLE 学生(;学号 C(5) 1;年龄 I DEFAULT 18)(分数:2.00)填空项 1:_48.通过 Visual FoxPro的视图,不仅可以查询数据库表,还可以 1 数据库表。(分数:2.00)填空项 1:_49.为了通过视图更新基
20、本表中的数据,需要在视图设计器界面的左下角选中 1 复选框。(分数:2.00)填空项 1:_50.使用 SQL语句实现将一条新的记录插入“学生”表中:INSERT 1 学生(学号,姓名)VALUES(“9801“,“李峰“)(分数:2.00)填空项 1:_51.当前目录下有“选课表”文件,要求查找既选修了“计算机”,又选修了“日语”的学生号,则语句为:SELECT A.学号 FROM 选课表 A,选课表 B; WHERE A.学号子 B.学号 AND; A.课程名称=“计算机“ AND 1(分数:2.00)填空项 1:_52.在成绩表中,检索选修 3门以上课程的学生及格学科的总成绩。成绩表中包
21、含学号、姓名、课程名和成绩 4个字段。请将下列 SQL语句补充完整。SELECT 学号,SUM(成绩) FROM 成绩表; WHERE 成绩=60; GROUP BY 学号; 1COUNT(*)=3(分数:2.00)填空项 1:_国家二级 VF笔试-试卷 120答案解析(总分:104.00,做题时间:90 分钟)一、选择题(总题数:36,分数:72.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。(分数:2.00)_解析:2.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元
22、素出栈的顺序是( )。(分数:2.00)A.12345ABCDEB.EDCBA54321 C.ABCDEl2345D.54321EDCBA解析:解析:本题考查的是栈的概念。栈是一种先进后出的队列,所以将元素1、2、3、4、5、A、B、C、D、E 依次入栈,出栈的顺序则正好相反为 E、D、C、B、A、5、4、3、2、1。故本题应该选择 B。3.下列叙述中正确的是( )。(分数:2.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数
23、是由队头指针和队尾指针共同决定 解析:解析:本题考查的是循环队列的概念。循环队列是一种线形结构,所以选项 A不正确;在循环队列中,插入元素需要移动队尾指针,取出元素需要移动队头指针,因此选项 B和 C均不正确;循环队列中元素的个数是由队头和队尾指引共同决定的是正确的,故应该选择 D。4.在长度为 n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。(分数:2.00)A.O(n)B.O(n2)C.O(log2n) D.O(n log2n)解析:解析:本题考查的是二分查找法。对于长度为 n的有序线性表,在最坏情况下,二分查找只需要比较 10g2n次。所以本题应该选择 C。5.下列叙述中
24、正确的是( )。(分数:2.00)A.顺序存储结构的存储空间一定是连续的,链式存储结构的存储空间不一定是连续的 B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间解析:解析:本题考查的是顺序存储结构和链式存储结构。链式存储结构既可用于表示线性结构,也可用于表示非线性结构,所以选项 B和 C不正确;链式存储结构比顺序存储结构每个元素多了一个或多个指针域,比顺序存储结构要多耗费一些存储空间,所以选项 D也不止确。所以,本题中只有选项 A是正确的。6.数据流图中带有箭头的线段表示的是( )。(
25、分数:2.00)A.控制流B.事件驱动C.模块调用D.数据流 解析:解析:本题考查的是数据流图的基本概念。数据流图(DFD)是结构化分析中常用的一种工具,它的图形元素主要有 4种;以圆圈表示加工;以带有箭头的线段表示数据流;以上下两条横线表示存储文件;以矩形表示源。故本题应该选择 D。7.在软件开发中,需求分析阶段可以使用的工具是( )。(分数:2.00)A.N-S图B.DFD图 C.PAD图D.程序流程图解析:解析:本题考查的是需求分析。在需求分析阶段常使用的工具有:数据流图(DFD)、数据字典(DD)、判定树和判定表。故本题应该选择 B。8.在面向对象方法中,不属于“对象”基本特点的是(
26、)。(分数:2.00)A.一致性 B.分类性C.多态性D.标识唯一性解析:解析:本题考查的是对象的基本特点。对象具有标识唯一性、分类性、多态性、封装性和模块独立性好这 5个基本特点,所以本题应该选择 A。9.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。(分数:2.00)A.一对一B.一对多 C.多对一D.多对多解析:解析:本题考查的是数据模型。题目已给出“一间宿舍可住多个学生”,那么一个学生能不能住多间宿舍呢?答案肯定是否定的。所以本题的宿舍和学生之间的联系是一对多。故本题应该选择 B。10.在数据管理技术发展的 3个阶段中,数据共享最好的是( )。(分数:2.00)A.人工管理
27、阶段B.文件系统阶段C.数据库系统阶段 D.3个阶段相同解析:解析:本题考查的是数据管理技术的发展。在人工管理阶段,数据无共享,数据冗余度大:文件系统阶段,数据共享性差,数据冗余度还是很大;到数据库系统阶段,数据共享性大了,数据冗余度变小。所以本题应该选择 C。11.有 3个关系 R、S 和 T如下: (分数:2.00)A.笛卡儿积B.交C.并D.自然连接 解析:解析:本题考查的是数据库的关系代数运算。R 表中有两个域 A、B,有两条记录(也叫元组),分别是(m,1)和(n,2);S 表中有两个域 B、C,有两条记录(1,3)和(3,5)。注意观察表 T,它包含了 R和 S两个表的所有域 A、
28、B、C,但只包含 1条记录(m,1,3),这条记录是由 R表的第 l条记录和 S表的第 1条记录组合而成的,两者的 B域值正好相等。上述运算恰恰符合关系代数的自然连接运算规则。因此,本题的正确答案为选项 D。12.以下不属于 SQL数据操作命令的是( )。(分数:2.00)A.MODIFY B.INSERTC.UPDATED.DELETE解析:解析:SQL 是结构化查询语言的简称,在 Visual FoxPro 中所对应的操作有数据查询、数据定义和数据操作,而对应数据操作的命令有 INSERT、UPDATE 和 DELETE3种。13.执行命令“INDEX on 姓名 TAG index na
29、me”建立索引后,下列叙述错误的是( )。(分数:2.00)A.此命令建立的索引是当前有效索引B.此命令所建立的索引将保存在 IDX文件中 C.表中记录按索引表达式升序排序D.此命令的索引表达式是“姓名”,索引名是“index name”解析:解析:执行命令建立索引以后,此命令建立的索引即为当前有效索引,系统默认按升序排列,但此命令并没有创建索引文件,因而其建立的索引不会保存在 IDX文件中。14.报表的数据源可以是( )。(分数:2.00)A.表或视图 B.表或查询C.表、查询或视图D.表或其他报表解析:解析:报表的数据源可以是自由表、数据库表或视图。15.在 Visual FoxPro中,
30、打开数据库的命令是( )。(分数:2.00)A.OPFN DATABASE数据库名 B.USE数据库名C.USE DATABASE数据库名D.OPEN数据库名解析:解析:打开数据库的命令为 OPEN DATABASE。16.“项目管理器”的“运行”按钮用于执行选定的文件,这些文件可以是( )。(分数:2.00)A.查询、视图或表单B.表单、报表和标签C.查询、表单或程序 D.以上文件都可以解析:解析:在项目管理器中不能运行的文件是视图或报表。17.在指定了段或表达式中不允许出现重复值的索引是( )。(分数:2.00)A.惟一索引B.惟一索引和候选索引C.惟一索引和主索引D.主索引和候选索引 解
31、析:解析:主索引是对主关键字建立的索引,字段中不允许有重复值。候选索引也是不允许在指定字段和表达式中出现重复值的索引。惟一索引和普通索引允许关键字值的重复出现。18.下列程序段执行以后,内存变量 y的值是( )。 x=34567 y=0 DO WHILE x0 y=x%10+y*10 X=int(x/10) ENDDO(分数:2.00)A.3456B.34567C.7654D.76543 解析:解析:在此程序中,首先为将变量 X和 Y分别赋值为 34567和 0,然后进入循环。而%表示取余数,则 34567%10的结果为 7,并将其赋值给 Y,接下来将 X值除 10取整后的值(3456)赋值给
32、 X,此时 X值0,再次进行循环。此时 Y值为 7,执行 Y=X%10+Y*10语句后,Y 值为 76,而 X值经除 10取整后,为345再次进行循环,以此类推,直至 X值等于 0时退出循环,此时 Y值为 76543。19.不允许记录中出现重复索引值的索引是( )。(分数:2.00)A.主索引B.主索引、候选索引和普通索引C.主索引和候选索引 D.主索引、候选索引和惟一索引解析:解析:在 Visual FoxPro 中,不允许记录中出现重复索引值的索引是主索引和候选索引。20.在 Visual FoxPro的查询设计器中“筛选”选项卡对应的 SQL短语是( )。(分数:2.00)A.WHERE
33、 B.JOINC.SETD.ORDER BY解析:解析:在查询设计器中,与“筛选”选项卡对应的 SQL短语是 WHERE。21.下面关于类、对象、属性和方法的叙述中,错误的是( )。(分数:2.00)A.类是对一类相似对象的描述,这些对象具有相同种类的属性和方法B.属性用于描述对象的状态,方法用于表示对象的行为C.基于同一个类产生的两个对象可以分别设置自己的属性值D.通过执行不同对象的同名方法,其结果必然是相同的 解析:解析:类是具有相同属性和相同操作的对象的集合。对每个基类,系统都规定了应具有的属性,指定了可使用方法和驱动事件。同一类产生不同对象的属性可以分别设置,属性也称特性,用于描述类的
34、性质、状态;而方法是用于表示对象的行为。22.在下面的 Visual FoxPro表达式中,运算结果不为逻辑真的是( )。(分数:2.00)A.EMPTY(SPACE(0)B.LIKE(xy*,xyz)C.AT(xy,abexyZ) D.ISNULL(.NULL.)解析:解析:选项 A中,EMPRY()函数为“空”值测试函数,根据指定表达式的运算结果是否为“空”值,返回逻辑真“.T.”或逻辑假“.F.”。而 SPACE()函数为空格字符串生成函数,由于其所带参数为“0”,也就是说生成一个长度为 0的空格,则此值为“空”,所以 EMPTY()函数返回值为“真”。选项 B中,LIKE()函数为字符
35、串匹配函数,比较两个字符串对应位置上的字符,若所有对应字符都相匹配,函数返回逻辑真“.T.”,否则返回逻辑假“.F.”,在此题中,两字符串匹配,则返回值为“.T.”。选项 C中,AT()函数为求子串位置函数,AT()的函数返回值为数值型,是第一个字符串在第二个字符串中所在的位置,故返回值不为逻辑真,符合题意。选项 D中,ISNULL()函数为空值测试函数,用来判断一个表达式的运算结果是否为 NULL值,若是 NULL值返回逻辑真“.T.”,否则返回逻辑假“.F.”,此答案中“.null”值为空,所以返回值为逻辑真“.T.”。23.SQL的数据操作语句不包括( )(分数:2.00)A.INSER
36、TB.UPDATEC.DELETED.CHANGE 解析:解析:SQL 的操作功能主要包括数据的插入(INSERT)、更新(UPDATE)和删除(DELETE)3 个方面的内容。24.假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“张三” (字符型,宽度为 6)。在命令窗口输入并执行如下命令: 姓名=姓名-“您好“ ? 姓名 那么主窗口中将显示( )。(分数:2.00)A.张三 B.张三 您好C.张三您好D.出错解析:解析:题干中“姓名”为字段变量,对内存变量赋值方式对字段变量是无效的,因此显示“姓名”字段变量的值时显示的是当前指针指向的记录的值。25.有一学生表文件,且通过表设计
37、器已经为该表建立了若干普通索引。其中一个索引的索引表达式为姓名字段,索引名为 XM。现假设学生表已经打开,且处于当前工作区中,那么可以将 L述索引设置为当前索引的命令是( )。(分数:2.00)A.SET INDEX TO 姓名B.SET INDEX TO XMC.SET ORDER TO 姓名D.SET ORDER TO XM 解析:解析:本题使用排除法,选项 A和选项 C中出现的“姓名”是字段名而不是索引名,可排除;选项B是打开索引文件命令:选项 D为把 XM设置为当前索引,所以为正确答案。26.假设在表单设计器环境下,表单中有一个文本框且已经被选定为当前对象。现在从属性窗口中选择Valu
38、e属性,然后在设置框中输入:2001-9-10-2001-8-20。请问以上操作后,文本框 Value属性值的数据类型为( )。(分数:2.00)A.日期型B.数值型 C.字符型D.以上操作出错解析:解析:两个日期型常量相减,所得出的结果为两个日期之间所相差的天数,为一个数值性结果,所以选项 B为正确答案。27.在 Visual FoxPro中,关于视图的正确叙述是( )。(分数:2.00)A.视图与数据库表相同,用来存储数据B.视图不能同数据库表进行连接操作C.在视图上不能进行更新操作D.视图是从一个或多个数据库表导出的虚拟表 解析:解析:视图始终不真正含有数据,它总是原始数据表的一个窗口,
39、是一个虚拟表,故选项 A错误;可以使用视图从表中提取一组记录,并改变这些记录的值,把更新结果送回到基本表中,故选项 C错误;选项 B之所以错误,是因为视图可以与数据库表进行连接操作。28.以下所列各项属于命令按钮事件的是( )。(分数:2.00)A.ParentB.ThisC.ThisFormD.Click 解析:解析:Parent 属性,属性值为对象引用,用来指向当前对象的直接容器对象,一般用于页框等控件中;而 This和 ThisForm 关键字用来表示当前对象和当前表单,只能用在方法代码或事件代码中。而Click事件是由鼠标单击对象时引发,属于命令按钮事件。29.如果在命令窗口执行命令:
40、LIST 名称,主窗口中显示: 记录号 名称 1 电视机 2 计算机 3 电话线 4 电冰箱 5 电线 假定名称字段为字符型、宽度为 6,那么下面程序段的输出结果是( )。 G02 SCAN NEXT 4 FOR LEFT(名称,2)=“电“ IF RIGHT(名称,2)=“线“ EXIT ENDIF ENDSCAN ? 名称(分数:2.00)A.电话线 B.电线C.电冰箱D.电视机解析:解析:分析此程序如下: G02:将指针指向数据表中第二条记录,即“名称”为“计算机”的记录。 SCAN NEXT 4 FOR LEFT (名称,2)=“电“:SCAN 循环语句一般用于处理表中记录。语句可指明
41、需处理的记录范围及应满足的条件。语句格式为: SCAN范围FOR条件 1WHILE条件 2 循环体 执行该语句时,记录指针自动、依次地在当前表的指定范围内满足条件的记录下移动,对每一条记录执行循环体内的命令。 而该循环语句的条件是“LEFT(名称,2)“电“”,则表示要查找“名称”字段左侧前两个字符(一个汉字)为“电”的记录。所以,指针将指向记录 3。 IF RIGHT(名称,2) “线”EXIT ENDIF 此段程序判断当前记录“名称”字段中右侧前两个字符(一个汉字)是否为“线”,如果是,则使用 EXIT语句退出循环。记录 3符合条件,则循环终止。 ? 名称:在屏幕上显示当前记录中的“名称”
42、字段,该字段内容为“电话线”。 设有如下说明,请回答(29)(35)小题: 有如下 3个表: 职员.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)30.查淘金额最大的 10%的订单信息。正确的 SQL语句是( )。(分数:2.00)A.SELECT*TOP l0 PERCENT FROM 订单B.SELECTTOP 10%*FROM 订单 ORDER BY 金额
43、C.SELECT*TOP l0 PERCENT FROM 订单 ORDER BY 金额D.SELECTTOP l0 PERCENT*FROM 订单 ORDER BY 金额 DESC 解析:解析:本题查询金额最大的 10%的订单;应该是按金额从高向低降序排列,显示前面 10%,只有选项 D中的 SQL语句满足题意。31.查询订单数在 3个以上、订单的平均金额 200元以上的职员号。正确的 SQL语句是( )。(分数:2.00)A.SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)3 AND AVG 金额200B.SELECT 职员号 FROM 订单 G
44、ROUP BY 职员号 HAVING COUNT(*)3 AND AVG(金额)200 C.SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)3 WHERE AVG(金额)200D.SELECT 职员号 FROM 订单 GROUP BY 职员号 WHERE COUNT(*)3 AND AVG 金额200解析:解析:查询订单的平均金额 200元以上,用平均函数表示为 AVG (金额)200,故可排除选项 A和选项 D;订单数在 3个以上和订单的平均金额 200元以上两个条件要同时满足是逻辑“与”关系,故选项B正确。32.显示 2005年 1月 1日后签
45、订的订单,显示订单的订单号、客户名以及签订日期。正确的 SQL语句是( )。(分数:2.00)A.SELECT 订单号,客户名,签订日期 FROM订单 JOIN客户 ON 订单.客户号=客户.客户号 WHERE 签订日期2005-1-1 B.SELECT 订单号,客户名,签订日期 FROM 订单 JOIN 客户 WHERE 订单.客户号=客户.客户号 AND 签订日期,2005-1-1)C.SELECT 订单号,客户名,签订日期 FROM 订单,客户 WHERE 订单.客户号=客户.客户号 AND 签订日期2005-1-1D.SELECT订单号,客户名,签订日期 FROM 订单,客户 ON 订
46、单.客户号=客户.客户号 AND 签订日期2005-l-1解析:解析:显示 2005年 1月 1日后签定订单,表示方法为:签定日期2005-1-1,故排除选项 C和选项 D。两个表使用 JOIN连接,连接条件使用 ON,故选项 A为正确答案。33.显示没有签订任何订单的职员信息(职员号和姓名),正确的 SQL语句是( )。(分数:2.00)A.SELECT 职员.职员号,姓名 FROM 职员 JOIN 订单 ON 订单.职员号=职员.职员号 GROUP BY 职员.职员号 HAVING COUNT(*)=0B.SELECT 职员职员号,姓名 FROM 职员 LEFT JOIN 订单 ON 订单
47、.职员号=职员.职员号 GROUP BY 职员.职员号 HAVING COUNT(*)=0C.SELECT 职员号,姓名 FROM 职员 WHERE 职员号 NOT IN(SELECT 职员号 FROM 订单) D.SELECT 职员.职员号,姓名 FROM 职员 WHERE 职员.职员号(SELECT 订单.职员号 FROM订单)解析:解析:显示没有签订任何订单的职员信息等价于显示订单表中不存在的职员信息。只有选项 C符合查询条件。34.有以下 SQL语句: SELECT 订单号,签订日期,金额 FROM 订单,职员 WHERE 订单.职员号=职员.职员号 AND 姓名=“李二“ 与如上语句功能相同的 SQL语句是( )。(分数:2.00)A.SELECT 订单号,签订日期,金额 FROM 订单 WHERE EXISTS (SELECT*FROM 职员 WHERE 姓名=“李二“)B.SELECT 订单号,签订日期,金额 FROM 订单 WHERE EXISTS(SELECT*FROM 职员 WHERE 职员号=订单.职员号 AND姓名=“李二“) C.SELECT 订单号,签订日期,金额 FRM 订单 WHERE