计算机等级考试二级VFP练习题全国评析9.docx
《计算机等级考试二级VFP练习题全国评析9.docx》由会员分享,可在线阅读,更多相关《计算机等级考试二级VFP练习题全国评析9.docx(33页珍藏版)》请在冰豆网上搜索。
计算机等级考试二级VFP练习题全国评析9
计算机等级考试二级VFP练习题(2006.9)
一、选择题(每小题2分,共70分)
下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项填写相应位置上。
1.下列选项不符合良好程序设计风格的是________。
A)源程序要文档化B)数据说明的次序要规范化
C)避免滥用goto语句D)模块设主地要保证高耦合、高内聚
答案:
D
分析:
源程序代码的逻辑简明清晰,易读易懂是好程序的一个重要标准,应遵循以下几个原则:
1.源程序文档化:
源程序内部的文档包括恰当的标识符、恰当的注解和程序的视觉组织等等。
选取含义鲜明的名字,使它能够正确地提示程序所代表的实体,这对于帮助理解程序很重要。
2.数据说明的次序标准化:
规范的数据说明次序有助于查阅程序,能够加速测试、调试和维护的过程。
3.简单明了的语句构造
4.良好的输入和输出风格:
避免滥用goto语句可以减少每个代码的出入口,使程序更加结构化。
5.高效率:
包括程序的运行时间、存储器、输入输出的效率。
本题中的D选项是指程序设计原理中模块的独立性。
其中耦合是对一个软件结构内部中不同模块间互连程度的度量,内聚是指模块内部各个元素彼此结合的紧密程度。
因此程序设计要尽量低耦合、高内聚。
2.从工程管理角度,软件设计一般分为两步完成,它们是________。
A)概要设计与详细设计B)数据设计与接口设计C)软件结构设计与数据设计C)过程设计与数据设计
答案:
A
分析:
概要设计是指怎样实现目标软件系统,包括确定程序由那些模块组成以及模块间的关系。
而详细设计是指具体怎样实现这个软件系统,包括详细的设计每个模块,确定实现模块功能所需要的算法和数据结构。
3.下列选项中不属于软件生命周期开发阶段任务的是________。
A)软件测试B)概要设计C)软件维护D)详细设计
答案:
C
分析:
软件的生命周期包括软件定义、软件开发和运行维护三个时期。
软件的定义时期通常分为三个阶段:
问题定义、可行性研究和需求分析。
软件的开发时期通常分为四个阶段:
总体设计(概要设计)、详细设计、编码和单元测试和综合测试。
软件的运行维护时期的主要任务是使软件持久地满足用户的需要,通常对它不再进一步划分阶段。
4.在数据库系统中,用户所见的数据模式为________。
A)概念模式B)外模式C)内模式D)物理模式
答案:
B
分析:
数据库系统的三级模式结构包括外模式、模式和内模式。
其中模式(逻辑模式)是指数据库中全体数据的逻辑结构和特征描述,是所有用户的公共数据视图。
它是数据库系统模式结构的中间层。
外模式也称子模式或者用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。
内模式(存储模式),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
5.数据库设计的四个阶段是:
需求分析、概念设计、逻辑设计和________。
A)编码设计B)测试阶段C)运行阶段D)物理设计
答案:
D
分析:
数据库设计分为四个阶段:
1.需求分析
2.概念结构设计(通过对分析用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型)
3.逻辑结构设计(将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化)
4.物理结构设计(为逻辑结构模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法)
6.设有如下三个关系表,下列操作中正确的是________。
A)T=R∩SB)T=R∪SC)T=R×SD)T=R/S
答案:
C
分析:
?
本题考查是关系运算。
A)集合的交运算T=R∩S则T应为既属于R又属于S的元组组成。
关系的交可以用差来表示即R∩S=R-(R-S)=Φ
B)集合的并运算T=R∪S则T应为属于R或者属于S的元组组成。
如图:
C)广义卡迪尔积T=RC)T=R×S,其中R有1个元组,1列,S有2个元组,2列,那么T中应该有1×2个元组,1+2个关系。
D)T=R/S,T是R中满足下列条件的元组在A属性列上的投影;元组在A上分量值m的象集Bm。
如图在关系R中,A可以取两个值{m,n}其中;
m,n的象集为空,
而S在A上的投影为空,所以R/S={m,n}。
7.下列叙述中正确的是________。
A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小
C)一个算法的时间复杂度大,则其空间可复杂度必定小D)上述三种说法都不对
答案:
D
分析:
时间复杂度是指算法中基本操作重复执行的次数是问题规模n的某个函数f(n),记作Tn=O(f(n)),它随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同。
空间复杂度是指算法所需存储空间的量度,记作S(n)=O(f(n)),其中n为问题规模。
可见两者没有必然联系。
8.在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为________。
A)63B)64C)6D)7
答案:
B
分析:
序号记录
1
2
3
.
.
64
如图对一个长度为64的有序线性表进行顺序查找,即从表中最后一个记录开始,逐个进行记录的关键字和给定值的比较,若某个记录的关键字和给定值比较相等,则查找成功,找到所查记录。
最坏的情况下,第一个记录与给定值相等,所以需要比较64次。
9.数据库技术的根本目标是要解决数据的________。
A)存储问题B)共享问题C)安全问题D)保护问题
答案:
B
分析:
数据库技术是应数据管理任务的需要而产生,数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。
10.
对下列二叉树进行中序遍历的结果是________。
A)ACBDFEGB)ACBDFGEC)ABDCGEFD)FCADBEG
答案:
A
分析:
二叉树的遍历有三种方法,分别是:
前序、中序和后序遍历,各自的遍历方法为:
前序遍历(根左右):
首先访问根结点,然后遍历左子树,最后遍历右子树。
如上图前序遍历的结果是:
FCADBEG
中序遍历(左根右):
首先遍历左子树,然后访问根结点,最后遍历右子树。
如上图中序遍历的结果是:
ACBDFEG
后序遍历(左右根):
首先遍历左子树,然后遍历右子树,最后访问根结点。
所以上图后序遍历的结果是:
ABDCGEF
11.下列程序段执行以后,内存变量A和B的值是________。
CLEAR
A=10
B=20
SETUDFPARMSTOREFERENCE
DOSQWITH(A),B&&参数是值传送,B是引用传送
?
A,B
PROCEDURESQ
PARAMETERSX1,Y1
X1=X1*X1
Y1=2*X1
ENDPROC
A)10200B)100200C)10020D)1020
答案:
A
分析:
本题主要考查的是程序设计中参数传递。
CLEAR&&清除VF主窗口或者当前用户自定义窗口里的全部内容。
A=10
B=20&&给A、B两个变量赋值(A=10,B=20)
SETUDFPARMSTOREFERENCE&&使用SETUDFPRAMS命令设置参数传递的方式为按引用传递,即形参变量改变时,实参也随之改变,若设置为VALUE则按值传递,形参改变时,实参不变。
DOSQWITH(A),B&&执行过程SQ,A是值传送,B是引用传送
?
A,B&&A按值传递为10,B按引用传递变化为200
PROCEDURESQ
PARAMETERSX1,Y1&&PARAMETERS为接受参数传递的命令,后跟私有变量,X1,Y1为形参变量,(X1=10,Y1=20,A=10,B=20),若是LPARAMETERS则后跟局部变量。
X1=X1*X1
Y1=2*X1&&形参变化(X1=100,Y1=200)
ENDPROC&&过程结束,返回执行输出A,B
注意:
变量的作用域:
PUBILC公共变量作用域为任何模块,私有变量作用域为建立它的模块以及下属的各层模块,LOCAL局部变量作用域为建立它的模块,可见它们的作用域逐渐缩小。
12.从内存中清除内存变量的命令是________。
A)ReleaseB)DeleteC)EraseD)Destroy
答案:
A
分析:
Release用于从内存中清除指定的内存变量,命令格式为:
Release[内存变量表][all[like|except]
例如:
Releasea,b&&清除内存变量a和b
Releaseall&&清除用户定义的所有内存变量
Releasealllikea*&&清除所有以A开头的内存变量
Releaseallexcept?
b*&&清除第二个字符为B以外的所有内存变量
Delete用于逻辑删除当前表中指定的记录(加上删除标记),命令格式为:
Delete[<范围>][fro<条件>][while<条件>]
例如:
deleallfor学号=”2003”&&逻辑删除所有学号为2003的记录
而ERASE,DESTROY在其他语言中常用于删除记录。
13.操作对象只能是一个表的关系运算是________。
A)联接和选择B)联接和投影C)选择和投影D)自然连接和选择
答案:
C
分析:
本题考查关系运算
1.选择
从关系中找出满足给定条件的元组的操作称为选。
它是从行的角度进行运算。
例如:
从图书表中找出由某出版社出版的图书
2.投影
从关系模式中指定若干个属性组成新的关系称为投影。
它是从列的角度进行运算。
例如:
要从图书关系中查询藏书所涉及的所有出版单位、书名及作者。
3.联接
它是关系的横向结合,是将两个关系模式拼接称一个更宽的关系模式,生成的新关系中包含联接条件的元组。
可见选择和投影运算的操作对象只是一个表,相当于对一个二维表进行切割。
而联接运算需要两个表为操作对象。
14.在“项目管理器”下为项目建立一个新报表,应该使用的选项卡是________。
A)数据B)文档C)类D)代码
答案:
B
分析:
本题主要考查考生的上机操作。
项目管理器中含有数据、文档、类库、代码和其他四个选项卡,通过选择“文档”这个选项卡可以打开报表向导进行报表的创建。
另外还有三种创建报表的方式:
1.从“文件”菜单中选择“新建”或者单击工具栏上的“新建”按钮打开报表向导
2.从“工具”菜单中选择“向导”子菜单。
3.直接单击工具栏上的“报表向导”图标按钮
15.如果有定LOCALdata,data的初值是:
________。
A)整数0B)不定值C)逻辑真D)逻辑假
答案:
D
分析:
用LOCAL建立局部变量格式为LOCAL<内存变量表>,该命令用于建立指定的局部变量,并把它们赋初值逻辑假.F.
注意:
由于LOCAL与LOCATE前四个字母相同,所以这条命令的命令动词不能缩写。
16.扩展名为pjx的文件是________。
A)数据库表文件B)表单文件C)数据库文件D)项目文件
答案:
D
分析:
在VisualFoxPro中,各种类型文件的扩展名不同。
数据库表文件的扩展名是.DBF,数据库文件的扩展名是DBC项目文件的扩展名是.PJX,表单文件的扩展名是.SCX,菜单文件的扩展名是.MNX。
(其它文件的扩展名见附录)
17.下列程序执行以后,内存变量y的值是________。
x=34567
y=0
DOWHILEx>0
y=x%10+y*10
x=int(x/10)
ENDDO
A)3456B)34567C)7654D)76543
答案:
D
分析:
本题主要考查dowhile-enddo循环语句、求余计算(%)和取整计算(int)。
程序执行过程如下:
初值:
x=34567,y=0
第一次执行循环语句时判断x>0,则y=x%10+y*10=34567%10+0*10=7+0=7,
x=int(x/10)=int(34567/10)=3456;
第二次执行循环语句时判断x>0,则y=x%10+y*10=3456%10+7*10=6+70=76,
x=int(x/10)=int(3456/10)=345;
第三次执行循环语句时判断x>0,则y=x%10+y*10=345%10+75*10=5+760=765,
x=int(x/10)=int(345/10)=34;
第四次执行循环语句时判断x>0,则y=x%10+y*10=34%10+765*10=4+7650=7654,
x=int(x/10)=int(34/10)=3;
第五次执行循环语句时判断x>0,则y=x%10+y*10=3%10+7654*10=3+76540=76543,
x=int(x/10)=int(3/10)=0;
第六次执行循环语句时判断x=0,不满足循环条件,跳出循环。
18.下列的程序中与上题的程序段时对y的计算结果相同的是________。
A)x=34567B)x=34567
y=0y=0
flag=.T.flag=.T.
DOWHILEflagDOWHILEflag
y=x%10+y*10y=x%10+y*10
x=int(x/10)x=int(x/10)
IFx>0IFx=0
Flag=.F.Flag=.F.
ENDIFENDIF
ENDDOENDDO
C)x=34567D)x=34567
y=0y=0
flag=.T.flag=.T.
DOWHILE!
flagDOWHILE!
flag
y=x%10+y*10y=x%10+y*10
x=int(x/10)x=int(x/10)
IFx>0IFx=0
Flag=.F.Flag=.F.
ENDIFENDIF
ENDDOENDDO
答案:
B
分析:
本题主要考查dowhile-enddo循环语句、if-endif条件语句、求余计算(%)、取整计算(int)和补运算(!
)。
以B为例,程序执行过程如下:
初值:
x=34567,y=0,flag=.T.(flag为跳出循环的判定条件)
第一次执行循环语句时判断flag=.t.,则y=x%10+y*10=34567%10+0*10=7+0=7,
x=int(x/10)=int(34567/10)=3456;此时x>0,flag=.t.
第二次执行循环语句时判断flag=.t.,则y=x%10+y*10=3456%10+7*10=6+70=76,
x=int(x/10)=int(3456/10)=345;此时x>0,flag=.t.
第三次执行循环语句时判断flag=.t.,则y=x%10+y*10=345%10+75*10=5+760=765,
x=int(x/10)=int(345/10)=34;此时x>0,flag=.t.
第四次执行循环语句时判断flag=.t.,则y=x%10+y*10=34%10+765*10=4+7650=7654,
x=int(x/10)=int(34/10)=3;此时x>0,flag=.t.
第五次执行循环语句时判断flag=.t.,则y=x%10+y*10=3%10+7654*10=3+76540=76543,
x=int(x/10)=int(3/10)=0;此时x=0,flag=.f.
第六次执行循环语句时判断flag=.f.,不满足循环条件,跳出循环
19.在SQLSELECT语句的ORDERBY短语中如果指定了多个字段,则________。
A)无法进行排序B)只按第一个字段排序
C)按从左至右优先依次排序D)按字段排序优先级依次排序
答案:
D
分析:
ORDERBY语句格式为:
ORDERBY<关键字表达式>[ASC|DESC],[,<关键字表达式>[ASC|DESC]],按照关键字表达式的优先级排序。
例如:
sele*from职工orderby仓库号,工资desc&&先按仓库号升序排序,再按工资降序排序并输出全部职工信息。
若工资为主关键字(主索引)则先按照工资降序排序。
再按仓库号升序排列。
20.如果运行一个表单,以下事件首先被触发的是________。
A)LoadB)ErrorC)InitD)Click
答案:
A
分析:
首先明确事件是一种由系统预先定义而由用户或者系统发出的动作。
事件作用于对象,对象识别事件并作出相应反应。
1.load事件
在表单对象建立之前引发。
2.Error事件
当对象方法或者事件代码在运行过程中产生错误时引发。
3.Init事件
在对象建立时引发。
4.click事件
用鼠标单击对象时引发。
引发该事件的常见情况有:
(1)鼠标单击复选框、命令按钮、组合框、列表框和选项按钮
(2)在命令按钮、选项按钮或复选框获得焦点时,按空格键
(3)当表单中包含一个确认按钮(Default属性值为.t.)时,按Enter键,引发确认按钮的Click事件。
(4)按控件的访问键
(5)单击表单空白处,引发表单的Click事件。
但单击表单的标题栏或窗口边界不会引发。
21.在VisualFoxPro中以下叙述正确的是________。
A)关系也被称作表单B)数据库文件不存储用户数据
C)表文件的扩展名是.DBCD)多个表存储在一个物理文件中
答案:
B
分析:
A)在VF中,一个“表”就是一个关系,一个关系的逻辑结构就是一张二维表,而表单是VF提供的用于建立应用程序界面的最主要的工具之一。
B)在建立VisualFoxpro数据库时,相应的数据库名称实际是扩展名为dbc的文件名,与之相关的还会自动建立一个
扩展名为dct的数据库备注文件和一个扩展名为dcx的数据库索引文件,用户一般不能直接使用这些文件。
C)表文件的扩展名为.dbf
D)根据工作区的概念,一个工作区中只能打开一个表,所以多个表存储在不同的物理文件中。
22.设X=6<5,命令?
VARTYPE(X)的输出是________。
A)NB)CC)LD)出错
答案:
C
分析:
本题主要考查关系表达式以及函数VARTYPE
运算符
运算规则及说明
运算符
运算规则及说明
<
小于。
如果前一表达式的值小于后一表达式,则结果为真,否则为假
<=
小于等于。
如果前一表达式的值小于或者等于后一表达式的值,则结果为真,否则为假
>
大于。
如果前一表达式的值大于后一表达式,则结果为真,否则为假
>=
大于等于。
如果前一表达式的值大于或者等于后一表达式的值,则结果为真,否则为假
=
等于。
如果前一表达式的值等于后一表达式,则结果为真,否则为假。
如果两边都为字符串,则分为精确比较和模糊比较
==
字符串精确比较。
即两边字符串的内容必须一模一样,则结果为真,否则为假
<>或#或!
=
不等于。
如果前后表达式的值不相等,则结果为真,否则为假
$
子串包含测试。
如果前者是后者的一个子串,结果为真,否则为假
具体过程如下:
首先进行关系运算,显然5>6为假,再对X进行赋值即X=.F.,VARTYPE的作用是返回表达式的数据类型,所以返回类型为逻辑型。
23.假设表单上有一选项组:
●男○女,如果选择第二个按钮“女”,则该项组Value属性的值为________。
A).F.B)女C)2D)女或2
答案:
D
分析:
本题主要考查选项组(OPITIONGROUP)控件中的VALUE属性,它用于指定选项组中哪个选项按钮被选中。
该属性值的类型可以是数值型的,也可以是字符型的。
若为数值型值N,则表示选项组中第N个选项按钮被选中;若为字符型值C,则表示选项组中CAPTION属性值为C的选项按钮被选中。
24.假设表单MyForm隐藏着,让该表单在屏幕上显示的命令是________。
A)MyForm.ListB)MyForm.DisplayC)MyForm.ShowD)MyForm.ShowForm
答案:
C
分析:
本题主要考查表单常用的事件show方法,它的作用是显示表单。
该方法将表单的Visible属性设置为.T.,并使表但成为活动对象。
而隐藏表单的方法为Hide,它将表单的Visible属性设置为.F.。
(25)~(33)使用的数据表如下:
当前盘当前目录下有数据库:
大奖赛.dbc,其中有数据库表“歌手.dbf”、“评分.dbf”
“歌手”表:
“评分”表:
歌手号
姓名
歌手号
分数
评委号
1001
王蓉
1001
9.8
101
2001
许巍
2001
9.6
102
3001
周杰伦
3001
9.7
103
4001
林俊杰
4001
9.8
104
……
……
25.为“歌手”表增加一个字段“最后得分”的SQL语句是________。
A)ALTERTABLE歌手ADD最后得分F(6,2)B)ALTERDBF歌手ADD最后得分F6,2
C)CHANGETABLE歌手ADD最后得分F(6,2)D)CHANGETABLE学院INSERT最后得分F6,2
答案:
A
分析:
本题主要考查SQL语句中修改表的结构的命令ALTERTABLE,该命令有三种格式:
1、格式一:
添加新的字段或修改已有的字段。
ALTERTABLETableNameADD|ALTER[COLUMN]FieldName]
FieldType[(nFieldWidth[,nPrecision])][NULL|NOTNULL]
[CHECKlExpression1[ERRORcMessageText1][DEFAULTeExpression]
[PRIMARYKEY|UNIQUE]
[REFERENCESTableName2[TAGName1]]
ADD——增加字段
ALTER——修改字段类型和宽度
PRIMARYKEY或UNIQE——建立主索引或侯选索引
CHECK…ERROR…——设置或修改字段的有效性规则、错误提示
DEFAULT——设置或修改字段的默认值
REFERENCES——建立表之间的永久联系
NULL或NOTNULL——允许字段是否为空值
2、格式二:
主要用于定义、修改和删除有效性规则值和默认值定义。
ALTERTABLETableNameALTER[COLUMN]FieldName2[NULL|NOTNULL]
[SETDEFAULTeExpressio