1、国家二级 VF 笔试-试卷 98 及答案解析(总分:102.00,做题时间:90 分钟)一、选择题(总题数:32,分数:70.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。_2.下列选项中,不是一个算法的基本特征的是( )。(分数:2.00)A.完整性B.可行性C.有穷性D.拥有足够的情报3.下列数据结构中,属于非线性的是( )。(分数:2.00)A.线性表B.队列C.树D.栈4.下列叙述中错误的是( )。(分数:2.00)A.线性表是由 n 个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前
2、件和后件D.线性表可以是空表5.按照“先进先出”组织数据的数据结构是( )。(分数:2.00)A.队列B.栈C.双向链表D.二叉树6.下列关于线性链表的描述中正确的是( )。(分数:2.00)A.存储空间不一定连续,且各元素的存储顺序是任意的B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且各前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的7.某二叉树共有 60 个叶子结点与 50 个度为 1 的结点,则该二叉树中的总结点数为( )。(分数:2.00)A.148B.169C.182D.1988.下列数据结构中,能用二分法进行查找的
3、是( )。(分数:2.00)A.顺序存储的有序线性表B.结性链表C.二叉链表D.有序线性链表9.最简单的交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序10.对于长度为 n 的线性表,在最坏情况下,下列各种排序法所对应的比较次数中正确的是( )。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/211.结构化程序设计的 3 种基本结构是( )。(分数:2.00)A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移12.通过项目管理器窗口的命令按钮,不能完成的操作是( )
4、。(分数:2.00)A.新建文件B.删除文件C.添加文件D.重命名文件13.函数 MOD(4*7,-24/4)的值是( )。(分数:2.00)A.8B.4C.-8D.-414.要判断数值型变量 Y 是否能够被 8 整除,错误的条件表达式为( )。(分数:2.00)A.INT(Y/8)=Y/8B.MOD(Y,8)=0C.INT(Y/8)=MOD(Y,8)D.MOD(Y,8)=MOD(8,8)15.下列关于数据环境和数据环境中两个表之间关联的陈述中,正确的是( )。(分数:2.00)A.数据环境是对象,关系不是对象B.数据环境不是对象,关系是对象C.数据环境是对象,关系是数据环境中的对象D.数据环
5、境和关系都不是对象16.下列货币型常量的表示中,错误的是( )。(分数:2.00)A.$1234.56B.$1234.567C.$1234.5678D.$1234.5678917.在创建数据库表结构时,为该表中一些字段建立普通索引,其目的是( )。(分数:2.00)A.改变表中记录的物理顺序B.为了对表进行实体完整性约束C.加快数据库表的更新速度D.加快数据库表的查询速度18.连编应用程序能生成的文件是( )。(分数:2.00)Aprg 文件Bexe 文件Cdbc 文件Dpll 文件19.执行 SELECT 0 选择工作区的结果是( )。(分数:2.00)A.退出工作区B.不选择工作区C.选择
6、 0 号工作区D.选择了空闲的最小号工作区20.下列关于自由表的叙述,正确的是( )。(分数:2.00)A.全部是用以前版本的 FoxPro(FoxBASE)建立的表B.可以用 Visual FoxPro 建立,但是不能把它添加到数据库中C.自由表可以添加到数据库中,数据库表也可以从数据库中移出成为自由表D.自由表可以添加到数据库中,但数据库表不可以从数据库中移出成为自由表21.要为当前表所有职工增加 200 元奖金,应该使用的命令是( )。(分数:2.00)A.CHANGE 奖金 WITH 奖金+200B.REPLACE 奖金 WITH 奖金+200C.CHANGE ALL 奖金 WITH
7、奖金+200D.REPLACE ALL 奖金 WITH 奖金+20022.在视图设计器中有,而在查询设计器中没有的选项卡是( )。(分数:2.00)A.排序依据B.更新条件C.分组依据D.杂项23.在 Visual FoxPro 中下列叙述正确的是( )。(分数:2.00)A.利用视图可以修改数据B.利用查询可以修改数据C.查询和视图具有相同作用D.视图可以定义输出去向24.执行下列程序:CLEARDO ARETURNPROCEDURE AS=5DO B?SRETURNPROCEDURE BS=S+10RETURN 程序的运行结果为( )。(分数:2.00)A.5B.10C.15D.程序错误,
8、找不到变量25.设有两个数据库表,父表和子表之间是一对多的联系,为控制父表和子表中数据的一致性,可以设置“参照完整性规则”,要求这个表( )。(分数:2.00)A.在父表连接字段上建立普通索引,在子表连接字段上建立主索引B.在父表连接字段上建立主索引,在子表连接字段上建立普通索引C.在父表连接字段上不需要建立任何索引,在子表连接字段上建立普通索引D.在父表和子表的连接字段上都要建立主索引26.对于只有两种取值的字段,最好使用哪种数据类型( )。(分数:2.00)A.日期型B.字符型C.数值型D.逻辑型27.在表单设计中,This 关键字的含义是指( )。(分数:2.00)A.当前对象的直接容器
9、对象B.当前对象所在的表单C.当前对象D.当前对象所在的表单集28.检索职工表中年龄大于 50 的职工姓名,正确的命令是( )。(分数:2.00)A.SELECT 姓名 WHERE 年龄50B.SELECT 姓名 FROM 职工 FOR 年龄50C.SELECT 姓名 FROM 职工 SET 年龄50D.SELECT 姓名 FROM 职工 WHERE 年龄5029.当变量 X 在奇偶数之间变化时,下列程序的输出结果为( )。CLEARX=0DO WHILE X6IFINT(X/2)=X/2?“CHINA“ENDIF?“中国“X=X+1ENDDO(分数:2.00)A.CHINA 中国 中国 连续
10、显示 3 次B.中国 中国 CHINA 连续显示 3 次C.CHINA 中国 中国 连续显示 2 次D.中国 中国 CHINA 连续显示 2 次30.SQL 用于显示部分查询结果的 TOP 短语,必须与下列哪个短语同时使用才有效( )。(分数:2.00)A.HAVINGB.DISTINCTC.ORDERBYD.GROUPBY31.SQL 语句 DELETE FROM 学生 WHERE 年龄25 的功能是( )。(分数:2.00)A.删除学生表B.删除学生表中的年龄字段C.将学生表中年龄大于 25 的记录逻辑删除D.将学生表中年龄大于 25 的记录物理删除使用下列数据表。“仓库”表 仓库号 所在
11、地 WH2 北京 WH2 上海 WH3 广州 WH4 天津“职工”表 职工号 仓库号 工资 E1 WH1 2100E2 WH2 1500E3 WH3 1350E4 WH1 1850E5 WH3 1900E6 WH1 2000E7 WH4 1450E8 WH2 1200E9 WH1 1600(分数:10.00)(1).检索在“北京”仓库工作的职工的“职工号”和“工资”字段,正确的命令是( )。(分数:2.00)A.SEIECT 职工号,工资 JOIN 仓库,职工; ON 仓库.仓库号=职工.仓库号; AND 仓库.所在地=“北京“B.SELECT 职工号,工资 FROM 仓库,职工; ON 仓库
12、.仓库号=职工.仓库号; AND 仓库.所在地=“北京“C.SELECT 职工号,工资 FROM 仓库,职工; WHERE 仓库.仓库号=职工.仓库号; AND 仓库.所在地=“北京“D.SELECT 职工号,工资 FROM 仓库表,职工表; WHERE 仓库表.仓库号=职工表.仓库号; OR 仓库.所在地=“北京“(2).执行下列 SQL 语句后,职工工资总和是( )。SELECT SUM(工资) FROM 职工 WHERE 仓库号 IN; (SELECT 仓库号 FROM 仓库 WHERE 所在地=“北京“ OR 所在地=“广州“)(分数:2.00)A.2700B.3250C.5950D.
13、语法错误(3).求至少有 4 个职工的每个仓库的工资总和( )。(分数:2.00)A.SELECT 仓库号,COUNT(*),SUM(工资) FROM 职工; WHERE COUNT(*)=4B.SELECT 仓库号,COUNT(*),SUM(工资) FROM 职工; GROUP BY 仓库号 SET COUNT(*)=4C.SELECT 仓库号,COUNT(*),SUM(工资) FROM 职工; GROUP BY 仓库号 HAVING COUNT(*)=4D.SELECT 仓库号,COUNT(*),SUM(工资) FROM 职工; GROUP BY 仓库号 WHERE COUNT(*)=4(
14、4).执行下列 SQL 语句后,显示查询到的仓库号有( )。SELECT DISTINCT 仓库号 FROM 职工 WHERE 工资=ALL; (SELECT 工资 FROM 职工 WHERE 仓库号=“WH3“)(分数:2.00)A.WH1B.WH2C.WH4D.WH1、WH3(5).向“仓库”表中新增一个“人数”字段,数据类型为数值型,宽度为 2,正确的命令语句是( )。(分数:2.00)A.CREATE TABLE 仓库 ALTER 人数 N(2)B.CREATE TABLE 仓库 ADD FIELDS 人数 N(2)C.ALTER TABLE 仓库 ALTER 人数 N(2)D.ALT
15、ER TABLE 仓库 ADD 人数 N(2)二、填空题(总题数:16,分数:32.00)32.填空题(每空)请将每一个空的正确答案写在答题卡上。注意:以命令关键字填空的必须拼写完整。(分数:2.00)_33.在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_34.注释一般分为序言性注释和 1 注释。(分数:2.00)填空项 1:_35.在面向对象方法中,类的实例称为 1。(分数:2.00)填空项 1:_36.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分
16、数:2.00)填空项 1:_37.数据流图的类型有 1 和事务型。(分数:2.00)填空项 1:_38.Visual FoxPro 6.0 的项目文件的扩展名是 1。(分数:2.00)填空项 1:_39.在 Visual FoxPro 中所谓自由表就是不属于任何 1 的表。(分数:2.00)填空项 1:_40.为了判别 LOCATE 或 CONTINUE 命令是否找到了满足条件的记录,可以使用函数 1。(分数:2.00)填空项 1:_41.表格控件的列数由 1 属性指定,该属性的默认值为-1。(分数:2.00)填空项 1:_42.设有学生表(姓名,班级名称),用 SQL 语句检索每个班级的学生
17、总人数的语句是:SELECT 班级名称, 1AS 人数 FROM 学生表 GROUP BY 班级名称(分数:2.00)填空项 1:_43.在 Visual FoxPro 中,视图可以分为本地视图和 1 视图。(分数:2.00)填空项 1:_44.在 Visual FoxPro 中为了通过视图修改基本表中的数据,需要在视图设计器的 1 选项卡下设置有关属性。(分数:2.00)填空项 1:_45.检索学生表中“性别”为“男”的学生记录,将结果保存到文本文件 xb 中,SQL 语句为:SELECT*FROM 学生表 WHERE 性别=“男“ 1 xb(分数:2.00)填空项 1:_46.查询“学生成
18、绩”表中所有不是姓“李”的学生记录,完成下列 SQL 语句:SELECT*FROM 学生成绩 WHERE 姓名 1“李%“(分数:2.00)填空项 1:_47.用 SQL 语句实现将所有教师的奖金提高 10%:UPDATA 教师 1 奖金=奖金*1.1(分数:2.00)填空项 1:_国家二级 VF 笔试-试卷 98 答案解析(总分:102.00,做题时间:90 分钟)一、选择题(总题数:32,分数:70.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。_解析:2.下列选项中,不是一个算法的基本特征的是( )。(分数:2.00)
19、A.完整性 B.可行性C.有穷性D.拥有足够的情报解析:解析:作为一个算法,一般应该具有以下 4 个特征:可行性,即考虑到实际的条件能够达到一个满意的结果;确定性,算法中的第一个步骤都必须是有明确定义的;有穷性,一个算法必须在有限的时间内做完;拥有足够的情报。3.下列数据结构中,属于非线性的是( )。(分数:2.00)A.线性表B.队列C.树 D.栈解析:解析:线性结构是指数据元素只有一个直接前件元素和直接后件元素。线性表是线性结构。栈和队列是指对插入和删除操作有特殊要求的线性表,树是非线性结构。4.下列叙述中错误的是( )。(分数:2.00)A.线性表是由 n 个元素组成的一个有限序列B.线
20、性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件 D.线性表可以是空表解析:解析:线性表是一种线性结构,由 n(n0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一今结点没有后件,其他结点有且只有一个前件和后件,所以 C 是错误的。5.按照“先进先出”组织数据的数据结构是( )。(分数:2.00)A.队列 B.栈C.双向链表D.二叉树解析:解析:队列是一种特殊的线性表,只允许在表的一端插入元素,在表的另一端删除元素,插入元素的一端叫“队尾”,删除元素的一端叫“队头”,先插入的元素先被删除,是按“先进先出”的原则组织数据的。6.下列关于线性链表的描述中正
21、确的是( )。(分数:2.00)A.存储空间不一定连续,且各元素的存储顺序是任意的 B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且各前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的解析:解析:线性表的链式存储结构中的结点空间是动态生成的,它们在内存中的地址可能是连续的,也可能是不连续的。7.某二叉树共有 60 个叶子结点与 50 个度为 1 的结点,则该二叉树中的总结点数为( )。(分数:2.00)A.148B.169 C.182D.198解析:解析:叶子结点总是比度为 2 的结点多一个。所以,具有 60 个叶子结点的二叉树有
22、 59 个度为 2 的结点。总结点数三 60 个叶子结点+59 个度为 2 的结点 +50 个度为 1 的结点:169 个结点。8.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.顺序存储的有序线性表 B.结性链表C.二叉链表D.有序线性链表解析:解析:二分法查找只适用于顺序存储的有序线性表,对于顺序存储的非有序线性表和线性链表,都只能采用顺序查找。9.最简单的交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序 解析:解析:所谓的交换排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序。冒泡排序是一种最简单的交
23、换排序方法,它通过相邻元素的交换,逐步将线性表变成有序。10.对于长度为 n 的线性表,在最坏情况下,下列各种排序法所对应的比较次数中正确的是( )。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/2 解析:解析:在最坏情况下,冒泡排序和快速排序的比较次数都是 n(n-1)/2。11.结构化程序设计的 3 种基本结构是( )。(分数:2.00)A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移解析:解析:程序的 3 种基本控制结构包括:顺序、选择和重复(循环),这 3 种结构就足以表达出各种其他形式的
24、结构。12.通过项目管理器窗口的命令按钮,不能完成的操作是( )。(分数:2.00)A.新建文件B.删除文件C.添加文件D.重命名文件 解析:解析:在项目管理器窗口上有 6 个按钮:新建、添加、修改、浏览(运行)、移去和连编按钮,都不具有重命名文件的功能。13.函数 MOD(4*7,-24/4)的值是( )。(分数:2.00)A.8B.4C.-8D.-4 解析:解析:MOD 函数是求余函数,格式是:MOD(数值表达式 1,数值表达式 2)。功能是:返回两个数值相除后的余数。数值表达式 1是被除数,数值表达式 2是除数。余数的正负号与除数相同。如果被除数与除数同号,那么函数值即为两数相除的余数;
25、如果被除数与除数异号,则函数值为两数相除的余数再加上除数的值。题干中的被除数是-4*7 即-28,除数是-24、4 即-6,被除数与除数同号,所以函数值为两数相除的余数,即-4。14.要判断数值型变量 Y 是否能够被 8 整除,错误的条件表达式为( )。(分数:2.00)A.INT(Y/8)=Y/8B.MOD(Y,8)=0C.INT(Y/8)=MOD(Y,8) D.MOD(Y,8)=MOD(8,8)解析:解析:INT()函数的功能是返回指定数值表达式的整数部分。MOD()函数的功能是返回两个数值相除后的余数。现在假设 Y=16,则 INT(Y/8)=2,Y/8=2,MOD(Y,8)=0,MOD
26、(8,8)=0。因为 INT(Y/8)=2,MOD(Y,8)=0,所以错误的条件表达式为选项 C)。15.下列关于数据环境和数据环境中两个表之间关联的陈述中,正确的是( )。(分数:2.00)A.数据环境是对象,关系不是对象B.数据环境不是对象,关系是对象C.数据环境是对象,关系是数据环境中的对象 D.数据环境和关系都不是对象解析:解析:为表单建立数据环境,可以方便设置控件与数据之间的绑定关系。数据环境中能够包含表单所需要的一些表、视图以及表之间的关联。 数据环境是一个对象,有自己的属性、方法和事件。常用的两个数据环境属性是 AutoOpenTables 和 AutoCloseTables。
27、关系是数据环境中的对象,它有自己的属性、方法和事件。编辑关联主要通过设置关联的属性来完成。16.下列货币型常量的表示中,错误的是( )。(分数:2.00)A.$1234.56B.$1234.567C.$1234.5678D.$1234.56789 解析:解析:货币型常量用来表示货币值,其书写格式与数值型常量类似,但要加一个前置的美元符号($),货币在存储和计算时,采用 4 位小数。如果一个货币型常量多于 4 位小数,那么系统会自动将多余的小数位四舍五入。货币型常量没有科学记数法形式,所以选项 D)是错误的。17.在创建数据库表结构时,为该表中一些字段建立普通索引,其目的是( )。(分数:2.0
28、0)A.改变表中记录的物理顺序B.为了对表进行实体完整性约束C.加快数据库表的更新速度D.加快数据库表的查询速度 解析:解析:在一个表中可以建立多个普通索引、多个唯一索引、多个候选索引,但只能建立一个主索引。一般来说,主索引是用于主关键字字段:候选索引用于那些不作为主关键字但字段值又必须唯一的字段;普通索引用于一般的提高查询速度;唯一索引用于一些特殊的处理程序设计。18.连编应用程序能生成的文件是( )。(分数:2.00)Aprg 文件Bexe 文件 Cdbc 文件Dpll 文件解析:解析:如果程序运行正确,就可以最终连编成一个应用程序文件了。应用程序文件包括项目中所有“包含”文件。应用程序连
29、编结果有两种文件形式。应用程序文件(.app):需要在 Visual FoxPro 中运行;可执行文件(.exe):需要在 Windows 中运行。19.执行 SELECT 0 选择工作区的结果是( )。(分数:2.00)A.退出工作区B.不选择工作区C.选择 0 号工作区D.选择了空闲的最小号工作区 解析:解析:指定工作区的命令是:SELECT nWorkArea| cTableAlias 其中,参数 nWorkArea 是一个大于等于 0 的数字,用于指定工作区号,最小的工作区号是 1,最大的工作区号是 32767,如果这里指定为0,则选择编号最小的可用工作区(即尚未使用的工作区);如果在
30、某个工作区中已经打开了表,若要回到该工作区操作该表,可以使用参数 cTableAlias,该参数是已经打开的表名或表的别名。20.下列关于自由表的叙述,正确的是( )。(分数:2.00)A.全部是用以前版本的 FoxPro(FoxBASE)建立的表B.可以用 Visual FoxPro 建立,但是不能把它添加到数据库中C.自由表可以添加到数据库中,数据库表也可以从数据库中移出成为自由表 D.自由表可以添加到数据库中,但数据库表不可以从数据库中移出成为自由表解析:解析:所谓自由表,就是不属于任何数据库的表,所有由 FoxBASE 或早期版本的 FoxPro 创建的数据库文件 (.dbf)都是自由
31、表。在 Visual FoxPro 中创建表时,如果当前没有打开数据库,则创建的表也是自由表。可以将自由表添加到数据库中,使之成为数据库表;也可以将数据库表从数据库中移出,使之成为自由表。21.要为当前表所有职工增加 200 元奖金,应该使用的命令是( )。(分数:2.00)A.CHANGE 奖金 WITH 奖金+200B.REPLACE 奖金 WITH 奖金+200C.CHANGE ALL 奖金 WITH 奖金+200D.REPLACE ALL 奖金 WITH 奖金+200 解析:解析:可以使用 REPLACE 命令直接用指定表达式或值修改记录,REPLACE 命令的常用格式是: REPLA
32、CE FieldName1 WITH eExpression1 , FieldName2 WITH eExpression2 FOR 1Expression1 该命令的功能是直接利用表达式 eExpression 的值替换字段 FieldName 的值,从而达到修改记录值的目的。该命令一次可以修改多个字段 (eExpression1,eExpression2)的值,如果不使用 FOR 短语,则默认修改的是当前记录;如果使用了 FOR 短语,则修改逻辑表达式 1Expression1 为真的所有记录。根据题意,要为当前表所有职工增加 200 元奖金,应该使用的命令是: REPLACEALL 奖金
33、 WITH 奖金+200。22.在视图设计器中有,而在查询设计器中没有的选项卡是( )。(分数:2.00)A.排序依据B.更新条件 C.分组依据D.杂项解析:解析:在视图设计器界面中,有 7 个选项卡,它们分别是:字段、连接、筛选、排序依据、分组依据、杂项和更新条件;而查询设计器界面中,有 6 个选项卡,它们分别是:字段、连接、筛选、排序依据、分组依据和杂项。所以查询设计器没有“更新条件”选项卡。23.在 Visual FoxPro 中下列叙述正确的是( )。(分数:2.00)A.利用视图可以修改数据 B.利用查询可以修改数据C.查询和视图具有相同作用D.视图可以定义输出去向解析:解析:视图设
34、计器和查询设计器的使用方式几乎完全一样。主要有 3 点不同:查询设计器的结果是将查询以.QPR 为扩展名的文件形式保存在磁盘中;而视图设计完后,在磁盘上找不到类似的文件,视图的结果保存在数据库中。由于视图是可以用于更新的,所以它有更新属性需要设置,为此在视图设计器中多一个“更新条件”选项卡。在视图设计器中没有“查询去向”的问题。24.执行下列程序:CLEARDO ARETURNPROCEDURE AS=5DO B?SRETURNPROCEDURE BS=S+10RETURN 程序的运行结果为( )。(分数:2.00)A.5B.10C.15 D.程序错误,找不到变量解析:解析:程序 A 中把初始
35、值 5 赋给变量 S,然后运行程序 B,程序 B 执行 S=S+10,执行完毕后,变量S 的值为 15,接着返回到程序 A,最后输出。所以程序的运行结果是 15。25.设有两个数据库表,父表和子表之间是一对多的联系,为控制父表和子表中数据的一致性,可以设置“参照完整性规则”,要求这个表( )。(分数:2.00)A.在父表连接字段上建立普通索引,在子表连接字段上建立主索引B.在父表连接字段上建立主索引,在子表连接字段上建立普通索引 C.在父表连接字段上不需要建立任何索引,在子表连接字段上建立普通索引D.在父表和子表的连接字段上都要建立主索引解析:解析:在关系数据库中,参照完整性是一个非常重要的概
36、念。在建立参照完整性之前,首先要建立表之间的联系。最常见的联系是一对多的联系,在关系数据库中通过连接字段来体现和表示。连接字段在父表中是主关键字,即主索引,在子表中是外部关键字,即普通索引。26.对于只有两种取值的字段,最好使用哪种数据类型( )。(分数:2.00)A.日期型B.字符型C.数值型D.逻辑型 解析:解析:逻辑型数据只有逻辑真和逻辑假两个值。逻辑真的常量表示形式有:.T.、.t.、.Y.和.y.逻辑假的常量表示形式有.F.、.T.、.N.和.n.。前后两个句点作为逻辑型常量的定界符是必不可少的,否则被误认为变量名。所以对只有两种取值的字段,最好使用逻辑型数据类型。27.在表单设计中
37、,This 关键字的含义是指( )。(分数:2.00)A.当前对象的直接容器对象B.当前对象所在的表单C.当前对象 D.当前对象所在的表单集解析:解析:在 Visual FoxPro 中,Patent 表示当前对象的直接容器对象,Thisform 表示当前对象所在的表单; This 表示当前对象;Thisformset 表示当前对象所在的表单集。28.检索职工表中年龄大于 50 的职工姓名,正确的命令是( )。(分数:2.00)A.SELECT 姓名 WHERE 年龄50B.SELECT 姓名 FROM 职工 FOR 年龄50C.SELECT 姓名 FROM 职工 SET 年龄50D.SELE
38、CT 姓名 FROM 职工 WHERE 年龄50 解析:解析:简单查询基于一个关系,即仅对一个表进行查询,可以包含简单的查询条件。 SELECT字段名列表FROM表名WHERE查询条件 其中,“字段名列表”指查询结果中包含的字段名,多个字段名之间用半角逗号(,)分隔;“查询条件”是一个逻辑表达式,它是由多个表达式通过逻辑运算符(NOT、AND、OR)连接而成的。关系表达式中可以使用的关系运算符见下表。29.当变量 X 在奇偶数之间变化时,下列程序的输出结果为( )。CLEARX=0DO WHILE X6IFINT(X/2)=X/2?“CHINA“ENDIF?“中国“X=X+1ENDDO(分数:
39、2.00)A.CHINA 中国 中国 连续显示 3 次 B.中国 中国 CHINA 连续显示 3 次C.CHINA 中国 中国 连续显示 2 次D.中国 中国 CHINA 连续显示 2 次解析:解析:DO WHILE-ENDDO 语句的格式为: DO WHILE条件 命令序列 ENDDO 执行该语句时,先判断 DO WHILE 处的循环条件是否成立,如果条件为真,则执行 DO WHILE 与 ENDDO 之间的命令序列(循环体)。当执行到 ENDDO 时,返回到 DO WHILE,再次判断循环条件是否为真,以确定是否再次执行循环体。若条件为假,则结束该循环语句,执行 ENDDO 后面的语句。
40、先将 0 赋给变量 X,使用一个 DO WHILE 循环语句来操作,判断条件是变量 X 是否小于 6,如果大于或等于 6,则退出循环,否则执行循环体。通过 INT(取整函数)取得 X 除以 2 的值的整数部分,判断该整数部分是否等于 X 除以 2 的值,如果相等,则输出“CHINA”,然后输出“中国”,再执行 X=X+1,重复此循环体的操作。所以 X=0 时,INT(X/2)=0,X/2=0,输出“CHINA”,然后输出“中国”;执行 X=X+1,此时 X=1,INT(X/2)=0,X/2=0.5,这两个值不相等,输出“中国”。以此类推,最终结果是“CHINA 中国 中国 ”连续显示 3 次。
41、30.SQL 用于显示部分查询结果的 TOP 短语,必须与下列哪个短语同时使用才有效( )。(分数:2.00)A.HAVINGB.DISTINCTC.ORDERBY D.GROUPBY解析:解析:掌握基本的 SQL 查询语句中,各个短语的含义。TOP 短语用来显示查询结果的部分记录,不能单独使用,必须与排序短语 ORDER BY 一起使用才有效。31.SQL 语句 DELETE FROM 学生 WHERE 年龄25 的功能是( )。(分数:2.00)A.删除学生表B.删除学生表中的年龄字段C.将学生表中年龄大于 25 的记录逻辑删除 D.将学生表中年龄大于 25 的记录物理删除解析:解析:DE
42、LETE 短语是 SQL 的数据操作功能,用来逻辑删除表中符合条件的记录,通过 WHERE 短语指定删除条件。SQLDELETE 删除功能与表操作删除记录功能一样,都只能逻辑删除表中记录,要物理删除,同样需要使用 PACK 命令。使用下列数据表。“仓库”表 仓库号 所在地 WH2 北京 WH2 上海 WH3 广州 WH4 天津“职工”表 职工号 仓库号 工资 E1 WH1 2100E2 WH2 1500E3 WH3 1350E4 WH1 1850E5 WH3 1900E6 WH1 2000E7 WH4 1450E8 WH2 1200E9 WH1 1600(分数:10.00)(1).检索在“北京
43、”仓库工作的职工的“职工号”和“工资”字段,正确的命令是( )。(分数:2.00)A.SEIECT 职工号,工资 JOIN 仓库,职工; ON 仓库.仓库号=职工.仓库号; AND 仓库.所在地=“北京“B.SELECT 职工号,工资 FROM 仓库,职工; ON 仓库.仓库号=职工.仓库号; AND 仓库.所在地=“北京“C.SELECT 职工号,工资 FROM 仓库,职工; WHERE 仓库.仓库号=职工.仓库号; AND 仓库.所在地=“北京“ D.SELECT 职工号,工资 FROM 仓库表,职工表; WHERE 仓库表.仓库号=职工表.仓库号; OR 仓库.所在地=“北京“解析:解析
44、:在 SQL 的简单连接查询中,可以通过 FROM 短语指定要查找的表,表之间要用逗号隔开,然后通过 WHERE 短语指定两表的连接条件,连接字段一般为两表中相同的字段,如果包含其他的筛选条件,要通过 AND 短语将两个条件进行连接。(2).执行下列 SQL 语句后,职工工资总和是( )。SELECT SUM(工资) FROM 职工 WHERE 仓库号 IN; (SELECT 仓库号 FROM 仓库 WHERE 所在地=“北京“ OR 所在地=“广州“)(分数:2.00)A.2700B.3250C.5950 D.语法错误解析:解析:本题 SQL 语句的功能是检索仓库“所在地”在“北京”或“广州
45、”的仓库中,所有职工的工资总和。在于查询中查询的是“所在地”在“北京”或“广州”的“仓库号”信息,然后在主查询中,查找“职工”表中“仓库号”与子查询所查“仓库号”相等的记录,统计这些仓库中所有职工的工资总和,SUM()函数为求和函数。本题中的 m 运算符相当于数据的集合运算符。(3).求至少有 4 个职工的每个仓库的工资总和( )。(分数:2.00)A.SELECT 仓库号,COUNT(*),SUM(工资) FROM 职工; WHERE COUNT(*)=4B.SELECT 仓库号,COUNT(*),SUM(工资) FROM 职工; GROUP BY 仓库号 SET COUNT(*)=4C.S
46、ELECT 仓库号,COUNT(*),SUM(工资) FROM 职工; GROUP BY 仓库号 HAVING COUNT(*)=4 D.SELECT 仓库号,COUNT(*),SUM(工资) FROM 职工; GROUP BY 仓库号 WHERE COUNT(*)=4解析:解析:本题中首先通过 GROUP BY 短语对表记录按“仓库号”字段分组,然后通过 COUNT()函数统计每个组中所包含的记录数,即每个仓库中共有多少名职工,利用 SUM()函数求每个仓库中职工的工资总和;最后限定输出仓库中至少有 4 名职工的记录,输出结果包括“仓库号”、统计的仓库人数和该仓库的职工工资总和。在分组与计算
47、查询语句中,使用 HAVING 子句可以对分组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中,HAVING 子句必须与 GROUP BY 短语同时使用。(4).执行下列 SQL 语句后,显示查询到的仓库号有( )。SELECT DISTINCT 仓库号 FROM 职工 WHERE 工资=ALL; (SELECT 工资 FROM 职工 WHERE 仓库号=“WH3“)(分数:2.00)A.WH1B.WH2C.WH4D.WH1、WH3 解析:解析:本题的 SQL 语句功能是检索有职工工资大于等于仓库号“WH3”中所有职工工资的仓库号。本题中通过子查询检索“WH3”仓库中所有职工的工资,然后在主查询中检索有职工工资大于子查询所查的工资记录,即大于所有 WH3 中所有职工工资的职工所在的仓库号,DISTINCT 短语的功能是去掉查询结果中重复的记录。 在 SQL 语句中可以利用 ANY、ALL 等量词进行查询。基本格式为: 表达式比较运算符ANY|ALL|SOME(子查询) 其中,ANY(任意的)和 SOME(一些)表示只要子查询中存在符合条件的行,结果就成立:而 ALL(所有的)只有子查询中的所有的行都符合条件,结果才成立。(5).向“仓库”表中新增一个“人数”字段,数据类型为数值型,宽度为 2,正确的命令语句是