二级VISUAL+FOXPRO真题.docx
《二级VISUAL+FOXPRO真题.docx》由会员分享,可在线阅读,更多相关《二级VISUAL+FOXPRO真题.docx(24页珍藏版)》请在冰点文库上搜索。
![二级VISUAL+FOXPRO真题.docx](https://file1.bingdoc.com/fileroot1/2023-5/15/1ad58eae-e454-462a-a4b3-3263c65cba5d/1ad58eae-e454-462a-a4b3-3263c65cba5d1.gif)
二级VISUAL+FOXPRO真题
2007年9月二级VisuaIFoxPro笔试试卷
一、选择题
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
(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)nlog2n
C)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)在SOLSELECT语句中为了将查询结果存储到临时表应该使用短语
A)TOCURSORB)INTOCURSOR
C)INTODBFD)TODBF
(27)在表单设计中,经常会用到一些特定的关键字、属性和事件。
下列各项中属于属性的是
A)ThisB)ThisFormC)CaptionD)Click
(28)下面程序计算一个整数的各位数字之和。
在下划线处应填写的语句是
SETTALKOFF
INPUT"X=Y"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)~(35)题使用如下数据表:
学生.DBF:
学号(C,8),姓名(C,6),性别(C,2),出生日期(D)
选课.DBF:
学号(C,8),课程号(C,3),成绩(N,5,1)
(30)查询所有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成绩>=ANY(SELECT成绩FROM选课WHERE课程号="101")
D)SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号="101"AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号="101")
(34)插入一条记录到“选课”表中,学号、课程号和成绩分别是“02080111”、“103”和80,正确的SQL语句是
A)INSERTINTO选课VALUES("02080111","103",80)
B)INSERTVALUES("02080111","103",80)TO选课(学号,课程号,成绩)
C)INSERTVALUES("02080111","103",80)INTO选课(学号,课程号,成绩)
D)INSERTINTO选课(学号,课程号,成绩)FROMVALUES("02080111","103",80)
(35)将学号为“02080110”、课程号为“102”的选课记录的成绩改为92,正确的SQL语句是
A)UPDATE选课SET成绩WITH92WHERE学号="02080110"AND课程号="102"
B)UPDATE选课SET成绩=92WHERE学号="02080110"AND课程号="102"
C)UPDATEFROM选课SET成绩WITH92WHERE学号="02080110"AND课程号="102"
D)UPDATEFROM选课SET成绩=92WHERE学号="02080110"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】。
2007年9月二级VisualFoxPro笔试试卷答案和解析
一、选择题
(1)[答案]D
[解析]本题考查软件的定义。
软件是计算机系统中与硬件相互依存的另一部分,它包括程序、相关数据及其说明文档的总和。
因此,本题正确答案是选项D。
(2)[答案]B
[解析]本题考查软件工程调试。
调试与测试是两个不同的过程,有着根本的区别:
调试是一个随机的、不可重复的过程,它用于隔离和确认问题发生的原因,然后修改软件来纠正问题:
测试是一个有计划的,可以重复的过程,它的目的是为了发现软件中的问题。
因此,软件调试的目的是为了改正软件中的错误。
本题的正确答案是选项B。
(3)[答案]C
[解析]通常认为,面向对象方法具有封装性、继承性、多态性几大特点。
就是这几大特点,为软件开发提供了一种新的方法学。
封装性:
所谓封装就是将相关的信息、操作与处理融合在一个内含的部件中(对象中)。
简单地说,封装就是隐藏信息。
这是面向对象方法的中心,也是面向对象程序设计的基础。
继承性:
子类具有派生它的类的全部属性(数据)和方法,而根据某一类建立的对象也都具有该类的全部,这就是继承性。
继承性自动在类与子类间共享功能与数据,当某个类作了某项修改,其子类会自动改变,子类会继承其父类所有特性与行为模式。
继承有利于提高软件开发效率,容易达到一致性。
多态性:
多态性就是多种形式。
不同的对象在接收到相同的消息时,采用不同的动作。
例如,一个应用程序包括许多对象,这些对象也许具有同一类型的工作,但是却以不同的做法来实现。
不必为每个对象的过程取一过程名,造成复杂化,可以使过程名复用。
同一类型的工作有相同的过程名,这种技术称为多态性。
经过上述分析可知,在面向对象方法中,实现信息隐蔽是依靠对象的封装。
正确答案是选项C。
(4)[答案]A
[解析]本题考查软件工程的程序设计风格。
软件在编码阶段,力求程序语句简单、直接,不能只为了追求效率而使语句复杂化。
除非对效率有特殊的要求,程序编写要做到清晰第一、效率第二。
人们在软件生存期要经常阅读程序,特别是在软件测试和维护阶段,编写程序的人和参与测试、维护的入都要阅读程序,因此要求程序的可读性要好。
正确的注释能够帮助读者理解程序,可为后续阶段进行测试和维护提供明确的指导。
所以注释不是可有可无的,而是必须的,它对于理解程序具有重要的作用。
I/O信息是与用户的使用直接相关的,因此它的格式应当尽可能方便用户的使用。
在以交互式进行输入/输出时,要在屏幕上使用提示符明确提示输入的请求,指明可使用选项的种类和取值范围。
经过上述分析可知,选项A是不符合良好程序设计风格要求的。
(5)[答案]A
[解析]本题考查程序效率。
程序效率是指程序运行速度和程序占用的存储空间。
影响程序效率的因素是多方面的,包括程序的设计、使用的算法、数据的存储结构等。
在确定数据逻辑结构的基础上,选择一种合适的存储结构,可以使得数据操作所花费的时间少,占用的存储空间少,即提高程序的效率。
因此,本题选项A的说法是正确的。
(6)[答案]D
[解析]本题考查数据结构的基本知识。
数据之间的相互关系称为逻辑结构。
通常分为四类基本逻辑结构,即集合、线性结构、树型结构、图状结构或网状结构。
存储结构是逻辑结构在存储器中的映象,它包含数据元素的映象和关系的映象。
存储结构在计算机中有两种,即顺序存储结构和链式存储结构。
顺序存储结构是把数据元素存储在一块连续地址空间的内存中;链式存储结构是使用指针把相互直接关联的节点链接起来。
因此,这两种存储结构都是线性的。
可见,逻辑结构和存储结构不是一一对应的。
因此,选项A和选项B的说法都是错误的。
无论数据的逻辑结构是线性的还是非线性的,只能选择顺序存储结构或链式存储结构来实现存储。
程序设计语言中,数组是内存中一段连续的地址空间,可看作是顺序存储结构。
可以用数组来实现树型逻辑结构的存储,比如二叉树。
因此,选项C的说法是错误的。
(7)[答案]C
[解析]冒泡排序的基本思想是:
将相邻的两个元素进行比较,如果反序,则交换;对于一个待排序的序列,经一趟排序后,最大值的元素移动到最后的位置,其它值较大的元素也向最终位置移动,此过程称为一趟冒泡。
对于有n个数据的序列,共需n-1趟排序,第i趟对从1到n-i个数据进行比较、交换。
冒泡排序的最坏情况是待排序序列逆序,第1趟比较n-1次,第2趟比较n-2次,依此类推,最后一趟比较1次,一共进行n-1趟排序。
因此,冒泡排序在最坏情况下的比较次数是(n-1)+(n-2+...+1,结果为n(n-1)/2。
本题的正确答案是选项C。
(8)[答案]A
[解析]本题考查数据结构中二叉树的性质。
二叉树满足如下一条性质,即:
对任意一棵二叉树,若终端结点(即叶子结点)数为n0,而其度数为2的结点数为n2,则n0=n2+1。
根据这条性质可知,若二叉树中有70个叶子结点,则其度为2的结点数为70-1,即69个。
二叉树的总结点数是度为2、度为1和叶了结点的总和,因此,题目中的二叉树总结点数为69+80+70,即219。
因此,本题的正确答案是选项A。
(9)[答案]B
[解析]本题考查数据库系统的基本概念和知识。
数据库系统除了数据库管理软件之外,还必须有其他相关软件的支持。
这些软件包括操作系统、编译系统、应用软件开发工具等。
对于大型的多用户数据库系统和网络数据库系统,还需要多用户系统软件和网络系统软件的支持。
因此,选项A的说法是错误的。
数据库可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。
因此,数据库具有为各种用户所共享的特点。
不同的用户可以使用同一个数据库,可以取出它们所需要的子集,而且容许子集任意重叠。
数据库的根本目标是要解决数据的共享问题。
因此,选项B的说法是正确的。
通常将引入数据库技术的计算机系统称为数据库系统。
一个数据库系统通常由五个部分组成,包括相关计算机的硬件、数据库集合、数据库管理系统、相关软件和人员。
因此,选项C的说法是错误的。
因此,本题的正确答案是选项B。
(10)[答案]C
[解析]本题考查数据库的关系模型。
关系模型的数据结构是一个“二维表”,每个二维表可称为一个关系,每个关系有一个关系名。
表中的一行称为一个元组:
表中的列称为属性,每一列有一个属性名。
表中的每一个元组是属性值的集合,属性是关系二维表中最小的单位,它不能再被划分。
关系模式是指一个关系的属性名表,即二维表的表框架。
因此,选项C的说法是正确的。
(11)[答案]B
[解析]VisualFoxPro的设计器是创建和修改应用系统各种组件的可视化工具。
利用不同的设计器可以创建表、表单、数据库、查询和报表,其中包括表设计器、查询设计器、视图设计器、表单设计器、报表设计器、数据库设计器及数据环境设计器等等。
所以选项B为正确答案。
(12)[答案]A
[解析]函数VARTYPE()的用法如下:
VARTYPE(<表达式>[,<逻辑表达式>]):
测试<表达式>的类型,返回一个大写字母,函数返回值为字符犁。
字母含义如下表所示。
返回字母
数据类型
返回字母
数据类型
C
字符型或备注型
G
通用型
N
数值型、整型、浮点型或双精度型
D
日期型
Y
货币型
T
日期时间型
L
逻辑型
X
Null值
O
对象型
U
未定义
函数TIME()返回系统当前时间,返回值为字符型,所以?
VARTYPE(TIME())的返回值为“C”,选项A为正确答案。
(13)[答案]D
[解析]本题考察字符表达式的运算。
字符表达式由字符串运算符将字符型数据连接起来组成,其运算结果仍为字符型数据。
字符运算符有两种:
(1)+:
前后两个字符串首尾连接形成一个新的字符串。
(2)-:
连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。
在本题中,SPACE(3)产生一个具有3个空格的字符串,而SPACE
(2)产生具有2个空格的字符串,两个字符串相减,根据运算规则,产生一个具有5个空格的字符串。
LEN()函数测试字符串的长度,所以返回值为5,选项D为正确答案。
(14)[答案]C
[解析]本题考查VisualFoxPro菜单程序文件的扩展名。
在VisualFoxPro中,使用“菜单设计器”所定义的菜单保存在.MNX文件中,系统会根据菜单定义文件,生成可执行的菜单程序文件,其扩展名为.MPR,因此答案C正确;选项B为程序文件;选项D为程序文件。
(15)[答案]A
[解析]本题考察在VisualFoxPro的环境设置命令,SetCenturyOn表示日期按照世纪格式显示,也就是日期型或日期时间型数据中的年份使用4位数字显示,故选项A正确,选项B是关闭世纪格式显示的命令,选项C与选项D均为错误命令。
(16)[答案]A
[解析]本题考察在VisualFoxPro中创建表索引的概念。
索引是根据指定的索引关键字表达式建立的,使用命令方式创建索引的格式如下:
INDEXON<索引关键字表达式>TO<单索引文件>|TAG<标识名>[OF<独立复合索引文件名>],[FOR<逻辑表达式>][COMPACT][ASCENDING|DESCENDING][UNIQUE][ADDITIVE],其中关键字表达式,可以是单一字段名,也可以是多个字段组成的字符型表达式,表达式中各字段的类型只能是数值型、字符型和日期型和逻辑型在此题中的各个选项中,选项A正确,表示首先按照职称进行排序,如果职称相同时,再按照性别排序。
选项B则正好相反,首先按照性别排序。
选项C与选项D均为错误命令,考生一定不要将其与SQL语句中的排序方法相混淆。
(17)[答案]A
[解析]在VisualFoxPro中,UnLoad事件是从内存中释放表单或表单集时发生的事件,所以选项A正确。
(18)[答案]A
[解析]在VisualFoxPro中,命令SELECT0的功能是选择一个编号最小且没有使用的空闲工作区。
所以选项A正确。
(19)[答案]B
[解析]本题考察考生对数据库表与自由表基本知识的掌握。
在VisualFoxPro中的表可以是与数据库相关联的数据库表,也可以是与数据库不关联的自由表。
二者的绝大