计算机二级VisualFoxPro上机考试题库及答案解析105.docx
《计算机二级VisualFoxPro上机考试题库及答案解析105.docx》由会员分享,可在线阅读,更多相关《计算机二级VisualFoxPro上机考试题库及答案解析105.docx(14页珍藏版)》请在冰豆网上搜索。
计算机二级VisualFoxPro上机考试题库及答案解析105
一、选择题
(1)软件是指
A)程序B)程序和文档C)算法加数据结构D)程序、数据与相关文档的完整集合
(2)软件调试的目的是
A)发现错误B)改正错误C)改善软件的性能D)验证软件的正确性
(3)在面向对象方法中,实现信息隐蔽是依靠
A)对象的继承B)对象的多态C)对象的封装D)对象的分类
(4)下列叙述中,不符合良好程序设计风格要求的是
A)程序的效率第一,清晰第二B)程序的可读性好
C)程序中要有必要的注释D)输入数据前要有提示信息
(5)下列叙述中正确的是
A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构
C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对
(6)下列叙述中正确的是
A)数据的逻辑结构与存储结构必定是一一对应的
B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构
C)程序设计语言中的数据一般是顺序存储结构,因此,利用数组只能处理线性结构
D)以上三种说法都不对
(7)冒泡排序在最坏情况下的比较次数是
A)n(n+1)/2B)nlog2nC)n(n-1)/2D)n/2
(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为
A)219B)221C)229D)231
(9)下列叙述中正确的是
A)数据库系统是一个独立的系统,不需要操作系统的支持
B)数据库技术的根本目标是要解决数据的共享问题
C)数据库管理系统就是数据库系统D)以上三种说法都不对
(10)下列叙述中正确的是
A)为了建立一个关系,首先要构造数据的逻辑关系
B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项
C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表
(11)在VisualFoxPro中,通常以窗口形式出现,用以创建和修改表、表单、数据库等应用程序组件的可视化工具称为
A)向导B)设计器C)生成器D)项目管理器
(12)命令?
VARTYPE(TIME())的结果是
A)CB)DC)TD)出错
(13)命令?
LEN(SPACE(3)-SPACE
(2))的结果是
A)1B)2C)3D)5
(14)在VisualFoxPro中,菜单程序文件的默认扩展名是
A)mnxB)mntC)mprD)prg
(15)要想将日期型或日期时间型数据中的年份用4位数字显示,应当使用设置命令
A)SETCENTURYONB)SETCENTURYOFF
C)SETCENTURYTO4D)SETCENTURYOF4
(16)已知表中有字符型字段职称和性别,要建立一个索引,要求首先按职称排序、职称相同时再按性别排序,正确的命令是
A)INDEXON职称+性别TOtttB)INDEXON性别+职称TOttt
C)INDEXON职称,性别TOtttD)INDEXON性别,职称TOttt
(17)在VisualFoxPro中,UnLoad事件的触发时机是
A)释放表单B)打开表单C)创建表单D)运行表单
(18)命令SELECT0的功能是
A)选择编号最小的未使用工作区B)选择0号工作区
C)关闭当前工作区中的表D)选择当前工作区
(19)下列有关数据库表和自由表的叙述中,错误的是
A)数据库表和自由表都可以用表设计器来建立B)数据库表和自由表都支持表间联系和参照完整性
C)自由表可以添加到数据库中成为数据库表D)数据库表可以从数据库中移出成为自由表
(20)有关ZAP命令的描述,正确的是
A)ZAP命令只能删除当前表的当前记录B)ZAP命令只能删除当前表的带有删除标记的记录
C)ZAP命令能删除当前表的全部记录D)ZAP命令能删除表的结构和全部记录
(21)在视图设计器中有,而在查询设计器中没有的选项卡是
A)排序依据B)更新条件C)分组依据D)杂项
(22)在使用查询设计器创建查询时,为了指定在查询结果中是否包含重复记录(对应于DISTINCT),应该使用的选项卡是
A)排序依据B)联接C)筛选D)杂项
(23)在VisualFoxPro中,过程的返回语句是
A)GOBACKB)COMEBACKC)RETURND)BACK
(24)在数据库表上的字段有效性规则是
A)逻辑表达式B)字符表达式C)数字表达式D)以上三种都有可能
(25)假设在表单设计器环境下,表单中有一个文本框且已经被选定为当前对象。
现在从属性窗口中选择Value属性,然后在设置框中输入:
={^2001-9-10}-{^2001-8-20}。
请问以上操作后,文本框Value属性值的数据类型为:
A)日期型B)数值型C)字符型D)以上操作出错
(26)在SQLSELECT语句中为了将查询结果存储到临时表应该使用短语
A)TOCURSORB)INTOCURSORC)INTODBFD)TODBF
(27)在表单设计中,经常会用到一些特定的关键字、属性和事件。
下列各项中属于属性的是
A)ThisB)ThisFormC)CaptionD)Click
(28)下面程序计算一个整数的各位数字之和。
在下划线处应填写的语句是
SETTALKOFF
INPUT"x="TOx
s=0
DOWHILEx!
=0
s=s+MOD(x,10)
ENDDO
?
s
SETTALKON
A)x=int(x/10)B)x=int(x%10)C)x=x-int(x/10)D)x=x-int(x%10)
(29)在SQL的ALTERTABLE语句中,为了增加一个新的字段应该使用短语
A)CREATEB)APPENDC)COLUMND)ADD
(30)(30)~(35)题使用如下数据表:
学生.DBF:
学号(C,8),姓名(C,6),性别(C,2),出生日期(D)
选课.DBF:
学号(C,8),课程号(C,3),成绩(N,5,1)
查询所有1982年3月20日以后(含)出生、性别为男的学生,正确的SQL语句是
A)SELECT*FROM学生WHERE出生日期>={^1982-03-20}AND性别="男"
B)SELECT*FROM学生WHERE出生日期<={^1982-03-20}AND性别="男"
C)SELECT*FROM学生WHERE出生日期>={^1982-03-20}OR性别="男"
D)SELECT*FROM学生WHERE出生日期<={^1982-03-20}OR性别="男"
(31)计算刘明同学选修的所有课程的平均成绩,正确的SQL语句是
A)SELECTAVG(成绩)FROM选课WHERE姓名="刘明"
B)SELECTAVG(成绩)FROM学生,选课WHERE姓名="刘明"
C)SELECTAVG(成绩)FROM学生,选课WHERE学生.姓名="刘明"
D)SELECTAVG(成绩)FROM学生,选课WHERE学生.学号=选课.学号AND姓名="刘明"
(32)假定学号的第3、4位为专业代码。
要计算各专业学生选修课程号为"101"课程的平均成绩,正确的SQL语句是
A)SELECT专业ASSUBS(学号,3,2),平均分ASAVG(成绩)FROM选课
WHERE课程号="101"GROUPBY专业
B)SELECTSUBS(学号,3,2)AS专业,AVG(成绩)AS平均分FROM选课
WHERE课程号="101"GROUPBY1
C)SELECTSUBS(学号,3,2)AS专业,AVG(成绩)AS平均分FROM选课
WHERE课程号="101"ORDERBY专业
D)SELECT专业ASSUBS(学号,3,2),平均分ASAVG(成绩)FROM选课
WHERE课程号="101"ORDERBY1
(33)查询选修课程号为"101"课程得分最高的同学,正确的SQL语句是
A)SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号
AND课程号="101"AND成绩>=ALL(SELECT成绩FROM选课)
B)SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号
AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号="101")
C)SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号
AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号="101")
D)SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND
课程号="101"AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号="101")
(34)插入一条记录到"选课"表中,学号、课程号和成绩分别是""、"103"和80,正确的SQL语句是
A)INSERTINTO选课VALUES("","103",80)
B)INSERTVALUES("","103",80)TO选课(学号,课程号,成绩)
C)INSERTVALUES("","103",80)INTO选课(学号,课程号,成绩)
D)INSERTINTO选课(学号,课程号,成绩)FROMVALUES("","103",80)
(35)将学号为""、课程号为"102"的选课记录的成绩改为92,正确的SQL语句是
A)UPDATE选课SET成绩WITH92WHERE学号=""AND课程号"102"
B)UPDATE选课SET成绩=92WHERE学号=""AND课程号="102"
C)UPDATEFROM选课SET成绩WITH92WHERE学号=""AND课程号="102"
D)UPDATEFROM选课SET成绩=92WHERE学号=""AND课程号="102"
二、填空题
请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。
(1)软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是【1】。
(2)在两种基本测试方法中,【2】测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。
(3)线性表的存储结构主要分为顺序存储结构和链式存储结构。
队列是一种特殊的线性表,循环队列是队列的【3】存储结构。
(4)对下列二叉树进行中序遍历的结果为【4】。
(5)在E-R图中,矩形表示【5】。
(6)如下命令查询雇员表中"部门号"字段为空值的记录
SELECT*FROM雇员WHERE部门号【6】
(7)在SQL的SELECT查询中,HAVING子句不可以单独使用,总是跟在【7】子句之后一起使用。
(8)在SQL的SELECT查询时,使用【8】子句实现消除查询结果中的重复记录。
(9)在VisualFoxPro中修改表结构的非SQL命令是【9】。
(10)在VisualFoxPro中,在运行表单时最先引发的表单事件是【10】事件。
(11)在VisualFoxPro中,使用LOCATEALL命令按条件对表中的记录进行查打,若查不到记录,函数EOF()的返回值应是【11】。
(12)在VisualFoxPro表单中,当用户使用鼠标单击命令按钮时,会触发命令按钮的【12】事件。
(13)在VisualFoxPro中,假设表单上有一选项组:
⊙男⊙女,该选项组的Value属性值赋为0。
当其中的第一个选项按钮"男"被选中,该选项组的Value属性值为【13】。
(14)在VisualFoxPro表单中,用来确定复选框是否被选中的属性是【14】。
(15)在SQL中,插入、删除、更新命令依次是INSERT、DELETE和【15】。
答案
一、选择题
(1)D【解析】软件是程序、数据与相关文档的集合,相对于计算机硬件而言,软件是逻辑产品而不是物理产品,是计算机的无形部分。
(2)B【解析】软件测试与软件调试是两个不同的概念:
软件测试的目的是发现错误,而软件调试的目的是发现错误或导致程序失效的原因,并修改程序以修正错误,调试是测试之后的活动。
(3)C【解析】封装是一种信息屏蔽技术,目的在于将对象的使用者和对象的设计者分开。
用户只能见到对象封装界面上的信息,不必知道实现的细节。
封装一方面通过数据抽象,把相关的信息结合在一起,另一方面也简化了接口。
(4)A【解析】当今主导的程序设计风格是"清晰第一,效率第二"的观点。
结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,而实际应用中,人们更重视程序的可理解性。
(5)A【解析】程序执行的效率与很多因素有关,如数据的存储结构、程序所处理的数据量、程序所采用的算法等。
顺序存储结构和链式存储结构在数据插入和删除操作上的效率就存在差别,其中链式存储结构的效率要高一些。
(6)D【解析】数据的逻辑结构与数据在计算机中的存储方式无关,它用来抽象地反映数据元素之间的逻辑关系,故A)选项错误。
存储结构分为顺序存储结构与链式存储结构,其中顺序存储结构是将逻辑上相邻的数据元素存储在物理上相邻的存储单元里,节点之间的关系由存储单元的相邻关系来决定,它主要用于存储线性结构的数据,故B)选项错误。
数组的存储方式连续是指其在计算机中的存储方式,它可以用来处理非线性结构,故C)选项错误。
(7)C【解析】冒泡排序的基本思想是对当前未排序的全部结点自上而下依次进行比较和调整,让键值较大的结点下沉,键值较小的结点往上冒。
也就是说,每当两相邻结点比较后发现它们的排列与排序要求相反时,就将它们互换。
对n个结点的线性表采用冒泡排序,冒泡排序的外循环最多执行n-1遍。
第一遍最多执行n-1次比较,第二遍最多执行n-2次比较,依次类推,第n-1遍最多执行1次比较。
因此,整个排序过程最多执行n(n-1)/2次比较。
(8)A【解析】在任意一棵二叉树中,若终端结点(叶子)的个数为n1,则度为2的结点数n2=n1-1。
本题中度为0的节点即叶子节点,故总节点数=度为0的节点数+度为1的节点数+度为2的节点数=70+80+69=219。
(9)B【解析】数据库技术的根本目的是要解决数据的共享问题;数据库需要操作系统的支持;数据库管理系统(DatabaseManagementSystem)简称DBMS,对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
它是数据库系统的核心软件。
(10)A【解析】在一个二维表中,水平方向的行称为元组,每一行为一个元组,元组中的每一个分量不能再进行分割,故选项B)错误;对关系的描述称为关系模式,一个关系模式对应一个关系的结构,格式为:
关系名(属性名1,属性名2,厖属性名n),故选项C)错误;一个关系就是一个二维表,故选项D)错误。
(11)B【解析】在VisualFoxPro中,除了用项目管理器来有效组织各种文件之外,还使用了各种向导、设计器和生成器可以更简便、快速、灵活地进行应用程序开发。
其中以窗口形式出现,用以创建和修改表、表单、数据库等应用程序组件的可视化工具称为设计器。
(12)A【解析】VARTYPE(<表达式>)函数用于测试<表达式>的数据类型,返回一个大写字母。
TIME()函数以24小时制、hh:
mm:
ss格式返回当前系统时间,函数值为字符型。
在VisualFoxPro中,字符型数据用C字母来表示。
(13)D【解析】LEN(<字符表达式>)是求字符串长度的函数。
SPACE(<数值表达式>)是空格字符串生成函数,返回由指定数目的空格组成的字符串。
字符表达式"-"的含义是连接前后两个字符串,并将前字符串的尾部空格移动到合并后的新字符串尾部。
因此SPACE
(2)-SPACE(3)运算后的长度仍然是5。
(14)C【解析】菜单定义文件的默认扩展名是.mnx;菜单备注文件的默认扩展名是.mnt;菜单程序文件的默认扩展名是.mpr;执行程序文件的默认扩展名是.prg。
(15)A【解析】在VisualFoxPro中,用环境设置命令SETCENTURYON|OFF来确定是否显示日期表达式当前世纪部分,当设为ON时,以4位数字显示年份,当设为OFF时,以2位数字显示年份。
(16)A【解析】命令方式建立索引文件的格式是:
INDEXON<索引关键字|索引关键字表达式>[TO<单索引文件名>]|TAG<索引标识名>[OF<复合索引文件名>][FOR<条件>][COMPACT][ASCENDING|DESCENDING][UNIQUE|CANDIDATE][ADDITIVE]
本题建立的是复合索引,因此使用表达式"职称+性别"。
(17)A【解析】在VisualFoxPro中,不同的事件会在不同的时期被触发,其中UnLoad事件在释放表单时被触发,Load事件在创建表单时触发,Init在打开表单时触发。
(18)A【解析】在VisualFoxPro中,支持多个工作区,用SELECT命令来表示选择哪个工作区作为当前工作区,SELECT0表示选择编号最小的尚未使用的工作区。
(19)B【解析】VisualFoxPro中的表包括数据库表和自由表,两者都可以通过表设计器来建立,并可以相互转化,但只有数据库表支持表间联系和参照完整性。
(20)C【解析】使用ZAP命令可以物理删除表中的全部记录,不管是否有删除标记。
该命令只是删除全部记录,并没有删除表,执行完该命令后表结构依然存在。
(21)B【解析】查询主要是从表中检索或统计出所需数据,视图不仅具有查询的功能,而且可以改变视图中记录的值,并把更新结果送回到源表中。
所以"更新条件"选项卡只在视图设计器中存在。
(22)D【解析】在查询设计器中,"杂项"选项卡可以指定是否要重复记录(对应于DISTINCT)及在前面的记录(对应于TOP短语)等。
(23)C【解析】VisualFoxPro中过程式的返回语句为RETURN,当执行到RETURN命令时,控制将转回到调用程序,并返回表达式的值,如果RETURN不带表达式,则返回逻辑真.T.。
(24)A【解析】字段的有效性规则由以下部分组成:
规则、信息、默认值。
"规则"是逻辑表达式,"信息"是字符串表达式,"默认值"的类型是由字段的类型确定。
(25)B【解析】两个严格的日期格式数据相减得到两个日期相差的天数,为数值型数据。
(26)B【解析】SQLSELECT的查询结果可以存储入临时表、永久性表和数组等,用INTOCURSOR表示存储到临时表中。
(27)C【解析】在表单设计中,This用来表示当前操作的对象,ThisForm用来表示当前的表单对象,Click用来表示鼠标的单击事件,只有Caption用来表示控件或容器的标题属性。
(28)A【解析】该程序的功能是将一个整数中的各位数字从个位数开始累加起来。
在每次累加的循环中,个位数字被累加后就将该位从整数中删去,这样原来的十位上的数字就变成新的个位上的数字,直到所有位累加完毕。
该程序中s=s+MOD(x,10)语句用来得到个位数上的数字并将其相加,x=int(x/10)语句用来将整数中的个位数字删去。
例如,x=283,第一次循环过后,s=3,x=28,第二次循环过后,s=11,x=2,第三次循环过后s=13,x=0,至此循环结束,得到整数283中各位数字之和。
(29)D【解析】在SQL的ALTERTABLE语句中,使用ADD[COLUMN]短语来增加一个新的字段,其中COLUMN可以省略。
CREATE用来创建一个新的对象,APPEND用来向表中追加记录。
(30)A【解析】题目中要求查询1982年3月20日以后(含)出生、性别为男的学生,要求两个条件同时成立,所以要用AND连接,而1982年3月20日以后出生,则出生日期>={^1982-03-20}。
(31)D【解析】根据题目的要求该查询为联接查询,要查询的数据源于两个表;学生和课程,因此FROM子句后要有两个表名,并以学生.学号=选课.学号AND姓名="刘明"为联接条件。
(32)B【解析】根据题目要求,要把不同专业的学生进行分组并求平均成绩,所以要用到短语GROUPBY,在SELECT语句中,目标字段放在AS之后,"1"表示第一个字段。
(33)D【解析】在所有选项中通过嵌套查询来实现题目的要求,ALL表示所有的结果,ANY表示其实的任何一种结果,最高分应该为成绩>=ALL(XXX),要查询选课号为"101"的同学,所以内外查询中都要用到条件:
课程号="101"。
(34)A【解析】插入语句的格式为:
INSERTINTO数据表名[(字段1[,字段2,匽)]VALUES(表达式1[,表达式2,匽)或者INSERTINTO数据表名FROMARRAY数组名。
第二种格式说明从指定的数组中插入值。
(35)B【解析】UPDATE命令的格式为:
UPDATE数据表名SET列名1=表达式1[,列名2=表达式2匽WHERE筛选条件。
二、填空题
(1)无歧义性【解析】软件需求规格说明书是需求分析阶段的最后成果,是软件开发中的重要文档之一。
包括正确性、无歧义性、完整性、可验证性、一致性、可理解性、可修改性和可追踪性等。
其中最重要的特性是无歧义性,即需求规格说明书应该是精确的、无二义的,需求说明书越精确,则以后出现错误、混淆、反复的可能性越小。
(2)白盒【解析】白盒测试的基本原则是:
保证所测模块中每一独立路径至少执行一次;保证所测模块所有判断的每一分支至少执行一次;保证所测模块每一循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。
按照白盒测试的基本原则,"白盒"法是穷举路径测试。
(3)链式【解析】数据结构包括数据的逻辑结构和存储(物理)结构,其中逻辑结构分为线性结构和非线性结构,存储结构包括顺序结构和链式结构。
在循环队列中,队尾的指针指向对首元素,是队列的链式存储结构。
(4)ACBDFEHGP【解析】二叉树中序遍历的含义是:
首先按中序遍历根结点的左子树,然后访问根结点,最后按中序遍历根结点的右子树,中序遍历二叉树的过程是一个递归的过程。
根据题目中给出的二叉树的结构可知中序遍历的结果是:
ACBDFEHGP。
(5)实体【解析】在E-R图中用矩形表示实体,椭圆形表示属性,菱形表示联系。
(6)ISNULL【解析】查询空值时要使用ISNULL,而=NULL是无效的,因为空值是一个不确实的值,所以不能用"="这样的运算符进行比较。
(7)GROUPBY【解析】HAVING子句总是跟在GROUPBY子句之后,不可以单独使用。
HAVING子句和WHERE子句不矛盾,在查询中是先使用WHERE子句限定元组,然后使用GROUPBY进行分组