1、二级 VISUAL+FOXPRO 笔试-1-2 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:31,分数:70.00)1.下列选项中,不是一个算法的基本特征的是( )。(分数:2.00)A.完整性B.可行性C.有穷性D.拥有足够的情报2.下列数据结构中,属于非线性的是( )。(分数:2.00)A.线性表B.队列C树D栈3.下列叙述中错误的是( )。(分数:2.00)A.线性表是由 n 个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件D.线性表可以是空表4.按照“先进先出”组织数据的数据结构是( )。(分数:2.00)A.队列
2、B栈C.双向链表D.二叉树5.下列关于线性链表的描述中正确的是( )。(分数:2.00)A.存储空间不一定连续,且各元素的存储顺序是任意的B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且各前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的6.某二叉树共有 60 个叶子结点与 50 个度为 1 的结点,则该二叉树中的总结点数为( )。(分数:2.00)A.148B.169C.182D.1987.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.顺序存储的有序线性表B.结性链表C.二叉链表D.有序线性链表8.最简单的
3、交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序9.对于长度为 n 的线性表,在最坏情况下,下列各种排序法所对应的比较次数中,正确的是( )。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/210.结构化程序设计的 3 种基本结构是( )。(分数:2.00)A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移11.下列关于项目及项目中文件的叙述,正确的是( )。(分数:2.00)A.项目中的文件是项目的一部分B.项目中的文件表示该文件与项目建立了一种联系C.删除项目时
4、自动删除项目中所包含的文件D.项目中的各个文件之间是彼此联系的12.假定系统日期是 2008 年 1 月 13 日,则执行命令 PI=MOD(YEAR(DATE()-2000,10)后,PI 的值是( )。(分数:2.00)A.012008B.-8C.8D.013.函数 INT(数值表达式)的功能是( )。(分数:2.00)A.返回数值表达式值的整数部分B.按四舍五入取数值表达式值的整数部分C.返回不小于数值表达式值的最小整数D.返回不大于数值表达式值的最大整数14.下列字符型常量的表示中,错误的是( )。(分数:2.00)A.“12+13“B.“x=y“C.北京D.“等级考试“15.报表的数
5、据源可以是( )。(分数:2.00)A.表、查询或视图B.自由表或其他报表C.数据库表、自由表或查询D.数据库表、自由表、视图或临时表16.为学生表建立普通索引,要求按“学号”字段升序排列,如果学号(C,4)相等,则按成绩(N,3)升序排列,下列语句正确的是( )。(分数:2.00)A.INDEX ON 学号,成绩 TO XHCJB.INDEX ON 学号+成绩 TO XHCJC.INDEX ON 学号,STR(成绩,3) TO XHCJD.INDEX ON 学号+STR(成绩,3) TO XHCJ17.下列属于非容器控件的是( )。(分数:2.00)A.标签B.页框C.命令组D.表格18.关
6、于工作区的概念,下列描述中正确的是( )。(分数:2.00)A.在同一个工作区中只能打开一个表B.在同一个工作区中可以打开多个表C.最小的工作区号是 0D.最大的工作区号是 25519.在 Visual FoxPro 中,对字段设置默认值,下列描述中正确的是( )。(分数:2.00)A.数据库表可以设置字段默认值B.自由表可以设置字段默认值C.自由表和数据库表都可以设置字段默认值D.自由表和数据库表都不能设置字段默认值20.在 Visual FoxPro 中,使用 LOCATE FORexpL命令按条件查找记录,当查找到满足条件的第 1 条记录后,如果还需要查找下一条满足条件的记录,应使用(
7、)。(分数:2.00)A.LOCATE FORexpL命令B.SKIP 命令C.CONTINUE 命令D.GO 命令21.视图设计器中包括的选项卡有( )。(分数:2.00)A.连接、显示、排序依据B.更新条件、排序依据、显示C.显示、排序依据、分组依据D.更新条件、筛选、字段22.关于过程、自定义函数的调用,正确的叙述是( )。(分数:2.00)A.实参与形参的数量必须相等B.当实参的数量少于形参的数量时,多余的形参取逻辑假C.当实参的数量多于形参的数量时,多余的实参被忽略D.选项 B) 和 C) 都正确23.在 Visual FoxPro 中,关于查询和视图的正确描述是( )。(分数:2.
8、00)A.查询是一个预先定义好的 SQL SELECT 语句文件B.视图是一个预先定义好的 SQL SELECT 语句文件C.查询和视图是同一种文件,只是名称不同D.查询和视图都是一个存储数据的表24.要控制两个表中数据的完整性和一致性可以设置“参照完整性”,要求这两个表( )。(分数:2.00)A.是同一数据库存中的两个表B.不同数据库存中的两张表C.两个自由表D.一个是数据库存表,另一个是自由表25.在 Visual FoxPro 中,根据变量的作用域来分,内存变量可分为( )。(分数:2.00)A.局部变量和全局变量B.私有变量和全局变量C.私有变量和局部变量D.私有变量、局部变量和全局
9、变量26.下列关于数据环境及表间关系的说法,正确的是( )。(分数:2.00)A.数据环境是对象,关系不是对象B.数据环境不是对象,关系是对象C.数据环境和关系都不是对象D.数据环境是对象,关系是数据环境中的对象27.在 SQL 语句中,用来创建数据表的 SQL 短语是( )。(分数:2.00)A.CREATE TABLEB.MODIFY TABLEC.ADD TABLED.INSERT TABLE28.如果在命令窗口执行命令:LIST 名称,在主窗口中显示: 记录行 名称 1 电视机 2 计算机 3 电扇线 4 电脑连线 5 电话线 假定名称字段为字符型,宽度为 8,那么下列程序段的输出结果
10、是( )。 GO2 SCAN NEXT 4 FOR LEFT(名称,2)=“电“ IF RIGHT(名称,2)=“线“ EXIT ENDIF ENDSCAN ?名称(分数:2.00)A.电视机B.电扇线C.电脑连线D.电话线29.在 SQL 的数据定义功能中,删除表字段名的命令格式是( )。(分数:2.00)A.ALTER TABLE 数据表名 DELETE COLUMN 字段名B.ALTER TABLE 数据表名 DROP COLUMN 字段名C.ALTER TABLE 数据表名 CANCEL COLUMN 字段名D.ALTER TABLE 数据表名 CUT COLUMN 字段名30.SQL
11、 语句中进行空值运算时,需要使用到的短语是( )。(分数:2.00)A.NULLB.=NULLC.IS NULLD.IS NOT NULL(31)到(35)题使用如下数据表。 “班级”表 班级号 班级名称 人数 11 计算机 200801 班 44 22 计算机 200802 班 50 33 计算机 200803 班 49 44 计算机 200804 班 46 55 计算机 200805 班 48 “学生”表 学号 姓名 性别 年龄 班级号 S1 李志明 男 18 33 S2 万力佳 女 19 11 S3 李凤 女 20 22 S4 赵洪波 男 24 33 S5 刘鹏 男 22 44 S6 王
12、晓晓 女 20 22 S7 张文静 女 22 11 S8 汪菁菁 女 19 44 S9 刘立洋 男 20 11(分数:10.00)(1).有如下 SQL 语句: SELECT 班级名称,姓名 FROM 班级,学生; WHERE 班级.班级号=学生.班级号; AND 年龄=20AND 性别=“男“; ORDER BY 班级名称 DESC 执行该语句后,查询结果中共有几条记录,且第一条记录的学生姓名是( )。(分数:2.00)A.2 刘鹏B.2 刘立洋C.3 刘鹏D.3 刘立洋(2).有如下 SQL 语句: SELECT MAX(人数)FROM 班级 INTO ARRAY temp 执行该语句后(
13、 )。(分数:2.00)A.temp0的内容为 44B.temp0的内容为 50C.temp1的内容为 44D.temp1的内容为 50(3).有如下 SQL 语句: SELECT 班级名称,姓名,性别,年龄 FROM 班级,学生; WHERE 班级.班级号=学生.班级号; AND 姓名 LIKE“李%“; ORDER BY 学生.班级号 该语句的含义是( )。(分数:2.00)A.检索学生表中姓“李”的学生记录,并根据“班级号”分组显示学生的班级名称、姓名、性别和年龄B.检索学生表中不是姓“李”的学生记录,并根据“班级号”分组显示学生的班级名称、姓名、性别和年龄C.检索学生表中姓“李”的学生
14、记录,按“班级号”升序显示学生的班级名称、姓名、性别和年龄D.检索学生表中不是姓“李”的学生记录,按“班级号”升序显示学生的班级名称、姓名、性别和年龄(4).有如下 SQL 语句: SELECT 班级名称 FROM 班级 WHERE NOT EXISTS; (SELECT*FROM 学生 WHERE 班级号=班级.班级号) 执行该语句后,班级名称的字段值是( )。(分数:2.00)A.计算机 200801 班B.计算机 200805 班C.计算机 200801 班和计算机 200805 班D.没有记录(5).将“学生”表中,所有女学生的“年龄”加 1,正确的语句是( )。(分数:2.00)A.
15、UPDATE 学生 FOR 年龄=年龄+1WHERE 性别=“女“B.UPDATE 学生 WHERE 年龄=年龄+1ON 性别=“女“C.UPDATE 学生 SET 年龄=年龄+1WHERE 性别=“女“D.UPDATE 学生 SET 年龄=年龄+1FOR 性别=“女“二、填空题(总题数:15,分数:30.00)31.软件生命周期分为软件定义期、软件开发期和软件维护期,详细设计属于 1 中的一个阶段。 (分数:2.00)32.结构化分析方法是面向 1 进行分析的方法。 (分数:2.00)33.常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示 1 ,用带空心圆的箭头表示传
16、递的是数据。 (分数:2.00)34.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块,其中 1 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。 (分数:2.00)35.诊断和改正程序中错误的工作通常称为 1 。 (分数:2.00)36.页框控件的页面数由 1 属性指定,该属性的默认值为 2。 (分数:2.00)37.为使表单运行时在主窗口中居中显示,应设置表单的 AutoCenter 属性值为 1 。 (分数:2.00)38.在 Visual FoxPro 中,基类的最小事件集包括 1 、ERROR 和 DESTROY。 (分数:2.00)39
17、.在 Visual FoxPro 中,假设先打开了 SDB 数据库文件,接着打开了 SC 数据库文件,先要指定当前数据库为 SDB,应使用命令: 1 DATEABASE TO SDB。 (分数:2.00)40.设置表单的 AlwaysOnTop 属性值为 1 ,可将表单总是位于其他打开窗口之上。 (分数:2.00)41.CTOD(“04-01-01“)+20 的结果是 1 。 (分数:2.00)42.SQL 的 SELECT 语句中,用来定义一个区间范围的特殊运算符是 1 。 (分数:2.00)43.在学生成绩表中,只显示分数最高的前 5 名学生的记录,SQL 语句为:SELECT* 1 5
18、FROM 成绩表ORDER BY 总分 DESC (分数:2.00)44.当前目录下有“成绩表”文件,表中有字段“分数 C(3)”,现要将“分数”字段的宽度由 3 改为 4,则语句为:ALTER TABLE 成绩表 1 。 (分数:2.00)45.在 SQL 语句中,要删除仓库关系中仓库号的字段值是 WH2 的记录,可利用语句: 1 FROM 仓库 WHERE仓库号=“WH2“ (分数:2.00)二级 VISUAL+FOXPRO 笔试-1-2 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:31,分数:70.00)1.下列选项中,不是一个算法的基本特征的是( )。(分数
19、:2.00)A.完整性 B.可行性C.有穷性D.拥有足够的情报解析:解析 作为一个算法,一般应该具有下列 4 个特征:可行性,即考虑到实际的条件能够达到一个满意的结果:确定性,算法中的第一个步骤都必须是有明确定义的;有穷性,一个算法必须在有限的时间内做完:拥有足够的情报。2.下列数据结构中,属于非线性的是( )。(分数:2.00)A.线性表B.队列C树 D栈解析:解析 线性结构是指数据元素只有一个直接前件元素和直接后件元素。线性表是线性结构。栈和队列是指对插入和删除操作有特殊要求的线性表,树是非线性结构。3.下列叙述中错误的是( )。(分数:2.00)A.线性表是由 n 个元素组成的一个有限序
20、列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件 D.线性表可以是空表解析:解析 线性表是一种线性结构,由 n(n0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以选项 C)是错误的。4.按照“先进先出”组织数据的数据结构是( )。(分数:2.00)A.队列 B栈C.双向链表D.二叉树解析:解析 队列是一种特殊的线性表,只允许在表的一端插入元素,在表的另一端删除元素,插入元素的一端叫“队尾”,删除元素的一端叫“队头”,先插入的元素先被删除,是按“先进先出”的原则组织数据的。5.下列关于线性链表
21、的描述中正确的是( )。(分数:2.00)A.存储空间不一定连续,且各元素的存储顺序是任意的 B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且各前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的解析:解析 线性表的链式存储结构中的结点空间是动态生成的,它们在内存中的地址可能是连续的,也可能是不连续的。6.某二叉树共有 60 个叶子结点与 50 个度为 1 的结点,则该二叉树中的总结点数为( )。(分数:2.00)A.148B.169 C.182D.198解析:解析 叶子结点总是比度为 2 的结点多一个。所以,具有 60 个叶子结点
22、的二叉树有 59 个度为 2的结点。总结点数=60 个叶子结点+59 个度为 2 的结点+50 个度为 1 的结点=169 个结点。7.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.顺序存储的有序线性表 B.结性链表C.二叉链表D.有序线性链表解析:解析 二分法查找只适用于顺序存储的有序线性表,对于顺序存储的非有序线性表和线性链表,都只能采用顺序查找。8.最简单的交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序 解析:解析 所谓的交换排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序,冒泡排序是一种最简单
23、的交换排序方法,它通过相邻元素的交换,逐步将线性表变成有序。9.对于长度为 n 的线性表,在最坏情况下,下列各种排序法所对应的比较次数中,正确的是( )。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/2 解析:解析 在最坏情况下,冒泡排序和快速排序的比较次数都是 n(n-1)/2。 知识拓展 所谓冒泡排序,就是将相邻的两个数据比较,如前面的数据大于后面的,则位置互换。这样不停地比较、互换,其实就是把大的数往后排,小的数往前排(就像冒泡一样冒出来了)。10.结构化程序设计的 3 种基本结构是( )。(分数:2.00)A.过程、子程序和分
24、程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移解析:解析 程序的 3 种基本控制结构包括:顺序、选择和重复(循环),这 3 种结构就足以表达出各种其他形式的结构。11.下列关于项目及项目中文件的叙述,正确的是( )。(分数:2.00)A.项目中的文件是项目的一部分B.项目中的文件表示该文件与项目建立了一种联系 C.删除项目时自动删除项目中所包含的文件D.项目中的各个文件之间是彼此联系的解析:解析 在 Visual FoxPro 中,新建或添加的文件并不是项目的一部分。每个文件都是独立存在的,项目所包含的文件只能表示该文件与项目之间存在着一种联系。12.假定系统日期是 200
25、8 年 1 月 13 日,则执行命令 PI=MOD(YEAR(DATE()-2000,10)后,PI 的值是( )。(分数:2.00)A.012008B.-8C.8 D.0解析:解析 DATE()函数返回当前系统日期,由于题干中假定系统日期是 2008 年 1 月 13 日,所以DATE()的返回值是“01/13/08“。 函数 YEAR()的格式是:YEAR(日期表达式|日期时间表达式);功能是:从指定的日期表达式或日期时间表达式中返回年份。函数的返回值为数值型。所以 YEAR(DATE()的返回值为“2008”。 MOD 函数是求余函数,格式是:MOD(数值表达式 1,数值表达式 2);功
26、能是:返回两个数值相除后的余数。数值表达式 1是被除数,数值表达式 2是除数。余数的正负号与除数相同。如果被除数与除数同号,那么函数值即为两数相除的余数;如果被除数与除数异号,则函数值为两数相除的余数再加上除数的值。 所以 MOD(YEAR(DATE0)-2000,10)=MOD(8,10),返回值为 8,所以 PI 的值为 8,即选项 C)。13.函数 INT(数值表达式)的功能是( )。(分数:2.00)A.返回数值表达式值的整数部分 B.按四舍五入取数值表达式值的整数部分C.返回不小于数值表达式值的最小整数D.返回不大于数值表达式值的最大整数解析:解析 求整函数有下列 3 个: 1NT(
27、数值表达式); CEILING(数值表达式): FLOOR(数值表达式)。 INT()返回指定数值表达式的整数部分:CEILING()返回大于或等于指定数值表达式的最小整数;FLOOR()返回小于或等于指定数值表达式的最大整数。14.下列字符型常量的表示中,错误的是( )。(分数:2.00)A.“12+13“B.“x=y“C.北京 D.“等级考试“解析:解析 字符型常量也称为字符串,其表示方法是用半角单引号、双引号或方括号把字符串起来。这里的单引号、双引号或方括号称为定界符。字符常量的定界符必须成对匹配,不能一边用单引号而另一边用双引号。如果某种定界符本身也是字符串内容,则需要用另一种定界符为
28、该字符串定界。15.报表的数据源可以是( )。(分数:2.00)A.表、查询或视图B.自由表或其他报表C.数据库表、自由表或查询D.数据库表、自由表、视图或临时表 解析:解析 报表主要包括两部分内容:数据源和布局。数据源是报表的来源,通常是数据库中的表或自由表,也可以是视图、查询或临时表。视图和查询是对数据库中的数据进行筛选、排序、分组,在定义了一个表、一个视图或查询之后,便可以创建报表。16.为学生表建立普通索引,要求按“学号”字段升序排列,如果学号(C,4)相等,则按成绩(N,3)升序排列,下列语句正确的是( )。(分数:2.00)A.INDEX ON 学号,成绩 TO XHCJB.IND
29、EX ON 学号+成绩 TO XHCJC.INDEX ON 学号,STR(成绩,3) TO XHCJD.INDEX ON 学号+STR(成绩,3) TO XHCJ 解析:解析 利用命令建立多个字段索引时,建立索引的字段之间应用“+”号连接,且字段类型要转换为字符型数据,STR()函数的功能是将数值型数据转换为字符型数据。17.下列属于非容器控件的是( )。(分数:2.00)A.标签 B.页框C.命令组D.表格解析:解析 控件可分为基本控件和容器型控件。基本控件是指不能包含其他控件的控件,如标签、命令按钮、文本框、列表框等;容器型控件是指可包含其他控件的控件,如命令组、选项组、表格、页框等。18
30、.关于工作区的概念,下列描述中正确的是( )。(分数:2.00)A.在同一个工作区中只能打开一个表 B.在同一个工作区中可以打开多个表C.最小的工作区号是 0D.最大的工作区号是 255解析:解析 在 FoxPro 中一直沿用了多工作区的概念,在每个工作区中可以打开一个表(即在一个工作区中不能同时打开多个表),如果在同一时刻需要打开多个表,则只需要在不同的工作区中打开不同的表就可以了。 在工作区的区号中,最小的工作区号是 1,最大的工作区号是 32767。19.在 Visual FoxPro 中,对字段设置默认值,下列描述中正确的是( )。(分数:2.00)A.数据库表可以设置字段默认值 B.
31、自由表可以设置字段默认值C.自由表和数据库表都可以设置字段默认值D.自由表和数据库表都不能设置字段默认值解析:解析 自由表不能建立字段级规则和约束等。事实上,数据库表与自由表相比,数据库表具有下列特点。 数据库表可以使用长表名,在表中可以使用长字段名。 可以为数据库表中的字段指定标题和添加注释。 可以为数据库表的字段指定默认值和输入掩码。 数据库表的字段有默认的控件类。 可以为数据库表规定字段级规则和记录级规则:数据库表支持主关键字、参照完整性和表之间的关联。 支持 INSERT、UPDATE 和 DELETE 事件的触发器。20.在 Visual FoxPro 中,使用 LOCATE FOR
32、expL命令按条件查找记录,当查找到满足条件的第 1 条记录后,如果还需要查找下一条满足条件的记录,应使用( )。(分数:2.00)A.LOCATE FORexpL命令B.SKIP 命令C.CONTINUE 命令 D.GO 命令解析:解析 LOCATE 是按条件定位记录位置的命令,常用的命令格式是: LOCATE FOR 1Expression1 其中,1Expression1 是查询或定位的表达式。 该命令执行后将记录指针定位在满足条件的第 1 条记录上,如果没有满足条件的记录则指针指向文件结束位置。 如果要使指针指向下一条满足 LOCATE 条件的记录,使用 CONTINUE 命令。同样,
33、如果没有记录满足条件,则指针指向文件结束位置。21.视图设计器中包括的选项卡有( )。(分数:2.00)A.连接、显示、排序依据B.更新条件、排序依据、显示C.显示、排序依据、分组依据D.更新条件、筛选、字段 解析:解析 在视图设计器界面中,有 7 个选项卡,它们分别是:字段、连接、筛选、排序依据、分组依据、杂项和更新条件。22.关于过程、自定义函数的调用,正确的叙述是( )。(分数:2.00)A.实参与形参的数量必须相等B.当实参的数量少于形参的数量时,多余的形参取逻辑假 C.当实参的数量多于形参的数量时,多余的实参被忽略D.选项 B) 和 C) 都正确解析:解析 实参可以是常量、变量,也可
34、以是一般形式的表达式。调用模块程序时,系统自动把实参传递给对应的形参。形参的数目不能少于实参的数目,否则系统会产生运行时错误。如果形参数目多于实参的数目,那么多余的形参取初值逻辑假。23.在 Visual FoxPro 中,关于查询和视图的正确描述是( )。(分数:2.00)A.查询是一个预先定义好的 SQL SELECT 语句文件 B.视图是一个预先定义好的 SQL SELECT 语句文件C.查询和视图是同一种文件,只是名称不同D.查询和视图都是一个存储数据的表解析:解析 查询就是预先定义好的一个 SQL SELECT 语句,在不同的需要场合可以直接或反复使用,从而提高效率。查询是从指定的表
35、或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果,诸如浏览器、报表、表、标签等。一般设计一个查询总要反复使用,查询是以扩展名为 qbr 的文件单独保存在磁盘上的,这是一个文本文件,它的主体是 SQLSELECT 语句,另外还有与输出定向有关的语句。24.要控制两个表中数据的完整性和一致性可以设置“参照完整性”,要求这两个表( )。(分数:2.00)A.是同一数据库存中的两个表 B.不同数据库存中的两张表C.两个自由表D.一个是数据库存表,另一个是自由表解析:解析 在建立参照完整性之前,首先要建立表之间的联系。最常见的联系是一对多的联系,即在父表中是主索引,在子表中建立普通索
36、引,这要求两个表必须是同一数据库存中的两个表。25.在 Visual FoxPro 中,根据变量的作用域来分,内存变量可分为( )。(分数:2.00)A.局部变量和全局变量B.私有变量和全局变量C.私有变量和局部变量D.私有变量、局部变量和全局变量 解析:解析 程序设计离不开变量,一个变量除了类型和取值之外,还有一个重要的属性就是它的作用域。变量的作用域指的是变量在什么范围内是有效或能够被访问的。在 Visual FoxPro 中,若以变量的作用来分,内存变量可分为全局变量、私有变量和局部变量。26.下列关于数据环境及表间关系的说法,正确的是( )。(分数:2.00)A.数据环境是对象,关系不
37、是对象B.数据环境不是对象,关系是对象C.数据环境和关系都不是对象D.数据环境是对象,关系是数据环境中的对象 解析:解析 数据环境就是表单要处理的数据的存放场所,为表单设置数据环境是为了更好地对数据进行处理。数据环境是一个对象,有自己的属性、方法和事件。27.在 SQL 语句中,用来创建数据表的 SQL 短语是( )。(分数:2.00)A.CREATE TABLE B.MODIFY TABLEC.ADD TABLED.INSERT TABLE解析:解析 在 Visual FoxPro 中,SQL 不但具有查询功能和操作功能,同时也具有定义功能,其中定义一个新的数据表可以通过 CREAT TAB
38、LE 命令建立。28.如果在命令窗口执行命令:LIST 名称,在主窗口中显示: 记录行 名称 1 电视机 2 计算机 3 电扇线 4 电脑连线 5 电话线 假定名称字段为字符型,宽度为 8,那么下列程序段的输出结果是( )。 GO2 SCAN NEXT 4 FOR LEFT(名称,2)=“电“ IF RIGHT(名称,2)=“线“ EXIT ENDIF ENDSCAN ?名称(分数:2.00)A.电视机B.电扇线C.电脑连线 D.电话线解析:解析 首先将指针指向第二条记录,然后执行 SCAN 循环。SCAN 语句的格式是: SCAN范围)FOR条件 1WHILE条件 2 循环体 执行该语句时,
39、指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令。题干中的循环条件是 LEFT(名称,2)=“电“,即表示第一个字为“电”字的记录(因为一个汉字占用两个字符),所以指针指向了第 3 条记录,即“电扇线”的记录。接着判断 RIGHT(名称,2)是否为“线”,即最后一个字为“线”,如果是则跳出循环体,而第三条记录不符合条件,则继续执行循环体,指针指向第四条记录,判断 RIGHT(名称,2)为“线”,所以循环结束,最后显示的是“电扇线”。 本题要注意的是第 3 条记录“电扇线”,因为字段宽度为 8,而“电扇线”只占 6 个字节,因此在使用RIGHT(名称,2)
40、得到的结果是最后两个空字节,而不是“线”字。29.在 SQL 的数据定义功能中,删除表字段名的命令格式是( )。(分数:2.00)A.ALTER TABLE 数据表名 DELETE COLUMN 字段名B.ALTER TABLE 数据表名 DROP COLUMN 字段名 C.ALTER TABLE 数据表名 CANCEL COLUMN 字段名D.ALTER TABLE 数据表名 CUT COLUMN 字段名解析:解析 删除表中的字段、默认值、合法值限定和索引的格式为: ALTER TABLE表名 DROPCOLUMN字段名 1 DROP DEFAULTDROP CHECK DROP PRIMA
41、RY KEY DROP UNIQUE TAG标识名 1 DROP FOREIGN KEY TAG标识名 2SAVE 其中,DROPCOLUMN字段名表示从指定表中删除指定的字段;DROP DEFAULT 表示删除默认值;DROP CHECK 表示删除该表的合法值限定;DROP PRIMARY KEY 表示删除主索引:DROP UNIQUE TAG标识名 1表示删除候选索引;DROP FOREIGN KEY TAG标识名 2表示删除外索引(外部关键字),取消与父表的关系,SAVE 子句将保存该索引。30.SQL 语句中进行空值运算时,需要使用到的短语是( )。(分数:2.00)A.NULLB.=
42、NULLC.IS NULL D.IS NOT NULL解析:解析 进行空值查询时,要使用 IS NULL,而=NULL 是无效的,因为空值不是一个确定的值,所以不能使用“=”这样的运算符进行比较。(31)到(35)题使用如下数据表。 “班级”表 班级号 班级名称 人数 11 计算机 200801 班 44 22 计算机 200802 班 50 33 计算机 200803 班 49 44 计算机 200804 班 46 55 计算机 200805 班 48 “学生”表 学号 姓名 性别 年龄 班级号 S1 李志明 男 18 33 S2 万力佳 女 19 11 S3 李凤 女 20 22 S4 赵
43、洪波 男 24 33 S5 刘鹏 男 22 44 S6 王晓晓 女 20 22 S7 张文静 女 22 11 S8 汪菁菁 女 19 44 S9 刘立洋 男 20 11(分数:10.00)(1).有如下 SQL 语句: SELECT 班级名称,姓名 FROM 班级,学生; WHERE 班级.班级号=学生.班级号; AND 年龄=20AND 性别=“男“; ORDER BY 班级名称 DESC 执行该语句后,查询结果中共有几条记录,且第一条记录的学生姓名是( )。(分数:2.00)A.2 刘鹏B.2 刘立洋C.3 刘鹏 D.3 刘立洋解析:解析 本题 SQL 语句的功能是检索每个班级中年龄大于等
44、于 20 岁的男同学,查询结果中包含该学生所在的班级名称及姓名,查询结果为按“班级名称”降序排序,其中,ORDER BY 短语的功能是对查询结果进行排序,DESC 是按降序方式排序。(2).有如下 SQL 语句: SELECT MAX(人数)FROM 班级 INTO ARRAY temp 执行该语句后( )。(分数:2.00)A.temp0的内容为 44B.temp0的内容为 50C.temp1的内容为 44D.temp1的内容为 50 解析:解析 SQL 不仅有一般的检索功能,而且还有计算方式的检索,利用 MAX()函数可以计算指定列中的最大值。本题的 SQL 语句功能是检索“班级”表中人数
45、最多的班级,将数值输出到数组 temp 中,其中INTO ARRAY 表示将结果输出到指定的数组中。注意:数组的下标是从 1 开始的,而不是从 0 开始。(3).有如下 SQL 语句: SELECT 班级名称,姓名,性别,年龄 FROM 班级,学生; WHERE 班级.班级号=学生.班级号; AND 姓名 LIKE“李%“; ORDER BY 学生.班级号 该语句的含义是( )。(分数:2.00)A.检索学生表中姓“李”的学生记录,并根据“班级号”分组显示学生的班级名称、姓名、性别和年龄B.检索学生表中不是姓“李”的学生记录,并根据“班级号”分组显示学生的班级名称、姓名、性别和年龄C.检索学生
46、表中姓“李”的学生记录,按“班级号”升序显示学生的班级名称、姓名、性别和年龄 D.检索学生表中不是姓“李”的学生记录,按“班级号”升序显示学生的班级名称、姓名、性别和年龄解析:解析 该 SQL 语句的功能是,检索学生表中姓“李”的学生记录,要求显示该生的班级名称、姓名、性别和年龄,并按“班级号”升序排序。这里的 LIKE 是字符匹配运算符,“%”是通配符,表示与若干个任意字符匹配;另外,L-EN 以使用“-”通配符表示与一个任意字符匹配。ORDER BY 是排序短语,默认的排序方式是按升序排序。(4).有如下 SQL 语句: SELECT 班级名称 FROM 班级 WHERE NOT EXIS
47、TS; (SELECT*FROM 学生 WHERE 班级号=班级.班级号) 执行该语句后,班级名称的字段值是( )。(分数:2.00)A.计算机 200801 班B.计算机 200805 班 C.计算机 200801 班和计算机 200805 班D.没有记录解析:解析 该 SQL 语句的功能是,查找还没有学生记录的班级名称。在“学生”表中暂时还没有“计算机 200805 班”学生的记录,所以查询结果为“计算机 200805 班”。EXISTS 是谓词,EXISTS 或NOTEXISTS 是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。(5).将“学生”表中,所有女学生的“年龄”加
48、1,正确的语句是( )。(分数:2.00)A.UPDATE 学生 FOR 年龄=年龄+1WHERE 性别=“女“B.UPDATE 学生 WHERE 年龄=年龄+1ON 性别=“女“C.UPDATE 学生 SET 年龄=年龄+1WHERE 性别=“女“ D.UPDATE 学生 SET 年龄=年龄+1FOR 性别=“女“解析:解析 SQL 的数据更新命令格式: UPDATE表名SET 列名 1=表达式 1,列名 2=表达式 2. WHERE条件表达式 一般使用 WHERE 子句指定条件,以更新满足条件的一些记录的字段值,并且一次可以更新多个字段;如果不使用 WHERE 子句,则更新全部记录。二、填
49、空题(总题数:15,分数:30.00)31.软件生命周期分为软件定义期、软件开发期和软件维护期,详细设计属于 1 中的一个阶段。 (分数:2.00)解析:软件开发解析 软件生命周期分为 3 个时期共 8 个阶段:软件定义期(问题定义、可行性研究和需求分析)、软件开发期(系统设计、详细设计、编码和测试)、软件维护期(即运行维护阶段)。32.结构化分析方法是面向 1 进行分析的方法。 (分数:2.00)解析:数据流解析 结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。33.常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示 1 ,用带空心圆的箭头表示传递的是数据。 (分数:2.00)解析:模块解析 矩形表示的是