1、计算机等级考试二级VFP练习题全国评析9计算机等级考试二级VFP练习题(2006.9)一、选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项填写相应位置上。1. 下列选项不符合良好程序设计风格的是_。 A)源程序要文档化 B)数据说明的次序要规范化 C)避免滥用 goto 语句 D)模块设主地要保证高耦合、高内聚答案:D分析:源程序代码的逻辑简明清晰,易读易懂是好程序的一个重要标准,应遵循以下几个原则:1. 源程序文档化:源程序内部的文档包括恰当的标识符、恰当的注解和程序的视觉组织等等。选取含义鲜明的名字,使它能够正确地提示程序所代表的实体,这对
2、于帮助理解程序很重要。2. 数据说明的次序标准化:规范的数据说明次序有助于查阅程序,能够加速测试、调试和维护的过程。3. 简单明了的语句构造4. 良好的输入和输出风格:避免滥用goto语句可以减少每个代码的出入口,使程序更加结构化。5高效率:包括程序的运行时间、存储器、输入输出的效率。本题中的D选项是指程序设计原理中模块的独立性。其中耦合是对一个软件结构内部中不同模块间互连程度的度量,内聚是指模块内部各个元素彼此结合的紧密程度。因此程序设计要尽量低耦合、高内聚。2. 从工程管理角度,软件设计一般分为两步完成,它们是_。 A)概要设计与详细设计 B)数据设计与接口设计 C)软件结构设计与数据设计
3、 C)过程设计与数据设计 答案:A分析:概要设计是指怎样实现目标软件系统,包括确定程序由那些模块组成以及模块间的关系。而详细设计是指具体怎样实现这个软件系统,包括详细的设计每个模块,确定实现模块功能所需要的算法和数据结构。3. 下列选项中不属于软件生命周期开发阶段任务的是_。 A)软件测试 B)概要设计 C)软件维护 D)详细设计 答案:C分析:软件的生命周期包括软件定义、软件开发和运行维护三个时期。软件的定义时期通常分为三个阶段:问题定义、可行性研究和需求分析。软件的开发时期通常分为四个阶段:总体设计(概要设计)、详细设计、编码和单元测试和综合测试。软件的运行维护时期的主要任务是使软件持久地
4、满足用户的需要,通常对它不再进一步划分阶段。4. 在数据库系统中,用户所见的数据模式为_。 A)概念模式 B)外模式 C)内模式 D)物理模式 答案:B分析:数据库系统的三级模式结构包括外模式、模式和内模式。 其中模式(逻辑模式)是指数据库中全体数据的逻辑结构和特征描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层。 外模式也称子模式或者用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。 内模式(存储模式),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。 5. 数据库设计的四个阶段是:需求分
5、析、概念设计、逻辑设计和_。 A)编码设计 B)测试阶段 C)运行阶段 D)物理设计 答案:D分析:数据库设计分为四个阶段: 1.需求分析 2.概念结构设计(通过对分析用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型) 3.逻辑结构设计(将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化) 4.物理结构设计(为逻辑结构模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法) 6. 设有如下三个关系表,下列操作中正确的是_。 A)T=RS B)T=RS C)T=RS D)T=R/S 答案:C分析:?本题考查是关系运算。A) 集合的交运算T=RS 则T
6、应为既属于R又属于S的元组组成。关系的交可以用差来表示即RSR-(R-S)=B) 集合的并运算T=RS则T应为属于R或者属于S的元组组成。如图: C)广义卡迪尔积T=R C)T=RS,其中R有1个元组,1列,S有2个元组,2列,那么T中应该有12个元组,12个关系。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)一个
7、算法的时间复杂度大,则其空间可复杂度必定小 D)上述三种说法都不对 答案:D分析:时间复杂度是指算法中基本操作重复执行的次数是问题规模n的某个函数f(n),记作Tn=O(f(n),它随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同。空间复杂度是指算法所需存储空间的量度,记作S(n)= O(f(n),其中n为问题规模。可见两者没有必然联系。8. 在长度为 64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为_。 A)63 B)64 C)6 D)7 答案:B分析: 序号 记录123.64如图对一个长度为64的有序线性表进行顺序查找,即从表中最后一个记录开始,逐个进行记录的关键
8、字和给定值的比较,若某个记录的关键字和给定值比较相等,则查找成功,找到所查记录。最坏的情况下,第一个记录与给定值相等,所以需要比较64次。9. 数据库技术的根本目标是要解决数据的_。 A)存储问题 B)共享问题 C)安全问题 D)保护问题 答案:B分析:数据库技术是应数据管理任务的需要而产生,数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。10. 对下列二叉树进行中序遍历的结果是_。 A)ACBDFEG B)ACBDFGE C)ABDCGEF D)FCADBEG 答案:A分析:二叉树的遍历有三种方法,分别是:前序、中序和后序遍历,各自的遍历方法为: 前序遍历(根左右):首先访问根结
9、点,然后遍历左子树,最后遍历右子树。如上图前序遍历的结果是:FCADBEG 中序遍历(左根右):首先遍历左子树,然后访问根结点,最后遍历右子树。如上图中序遍历的结果是:ACBDFEG 后序遍历(左右根):首先遍历左子树,然后遍历右子树,最后访问根结点。所以上图后序遍历的结果是:ABDCGEF 11. 下列程序段执行以后,内存变量A和B的值是_。 CLEAR A=10 B=20 SET UDFPARMS TO REFERENCE DO SQ WITH(A),B &参数是值传送,B 是引用传送 ?A,B PROCEDURE SQ PARAMETERSX1,Y1 X1=X1*X1 Y1=2*X1 E
10、NDPROC A)10 200 B)100 200 C)100 20 D)10 20 答案:A分析:本题主要考查的是程序设计中参数传递。CLEAR &清除VF主窗口或者当前用户自定义窗口里的全部内容。A=10 B=20 &给A、B两个变量赋值(A=10,B=20)SET UDFPARMS TO REFERENCE &使用SET UDFPRAMS命令设置参数传递的方式为按引用传递,即形参变量改变时,实参也随之改变,若设置为VALUE则按值传递,形参改变时,实参不变。DO SQ WITH(A),B &执行过程SQ, A是值传送,B 是引用传送?A,B & A按值传递为10,B按引用传递变化为200
11、PROCEDURE SQ PARAMETERS X1,Y1 &PARAMETERS为接受参数传递的命令,后跟私有变量,X1,Y1为形参变量,(X110,Y1=20,A10,B20),若是LPARAMETERS则后跟局部变量。X1=X1*X1 Y1=2*X1 &形参变化(X1=100,Y1=200)ENDPROC &过程结束,返回执行输出A,B注意:变量的作用域:PUBILC公共变量作用域为任何模块,私有变量作用域为建立它的模块以及下属的各层模块,LOCAL局部变量作用域为建立它的模块,可见它们的作用域逐渐缩小。12. 从内存中清除内存变量的命令是_。 A)Release B)Delete C)
12、Erase D)Destroy 答案:A分析:Release用于从内存中清除指定的内存变量,命令格式为:Release内存变量表 alllike|except 例如:Release a,b &清除内存变量a和b Release all &清除用户定义的所有内存变量 Release all like a* &清除所有以A开头的内存变量 Release all except ?b* &清除第二个字符为B以外的所有内存变量 Delete用于逻辑删除当前表中指定的记录(加上删除标记),命令格式为:Delete fro while 例如:dele all for 学号=”2003” &逻辑删除所有学号为
13、2003的记录 而ERASE,DESTROY在其他语言中常用于删除记录。13. 操作对象只能是一个表的关系运算是_。 A)联接和选择 B)联接和投影 C)选择和投影 D)自然连接和选择 答案:C分析:本题考查关系运算1 选择从关系中找出满足给定条件的元组的操作称为选。它是从行的角度进行运算。例如:从图书表中找出由某出版社出版的图书2 投影从关系模式中指定若干个属性组成新的关系称为投影。它是从列的角度进行运算。例如:要从图书关系中查询藏书所涉及的所有出版单位、书名及作者。3 联接它是关系的横向结合,是将两个关系模式拼接称一个更宽的关系模式,生成的新关系中包含联接条件的元组。可见选择和投影运算的操
14、作对象只是一个表,相当于对一个二维表进行切割。而联接运算需要两个表为操作对象。14. 在“项目管理器”下为项目建立一个新报表,应该使用的选项卡是_。 A)数据 B)文档 C)类 D)代码 答案:B分析:本题主要考查考生的上机操作。项目管理器中含有数据、文档、类库、代码和其他四个选项卡,通过选择“文档”这个选项卡可以打开报表向导进行报表的创建。另外还有三种创建报表的方式:1 从“文件”菜单中选择“新建”或者单击工具栏上的“新建”按钮打开报表向导2 从“工具”菜单中选择“向导”子菜单。3 直接单击工具栏上的“报表向导”图标按钮15. 如果有定 LOCAL data , data 的初值是:_。 A
15、)整数 0 B)不定值 C)逻辑真 D)逻辑假 答案:D分析:用LOCAL建立局部变量格式为LOCAL,该命令用于建立指定的局部变量,并把它们赋初值逻辑假.F.注意:由于LOCAL与LOCATE前四个字母相同,所以这条命令的命令动词不能缩写。16. 扩展名为 pjx 的文件是_。 A)数据库表文件 B)表单文件 C)数据库文件 D)项目文件 答案:D分析:在Visual FoxPro中,各种类型文件的扩展名不同。数据库表文件的扩展名是.DBF,数据库文件的扩展名是DBC项目文件的扩展名是.PJX,表单文件的扩展名是.SCX,菜单文件的扩展名是.MNX。(其它文件的扩展名见附录)17. 下列程序
16、执行以后,内存变量 y 的值是_。 x=34567 y=0 DO WHILEx0 y=x%10+y*10 x=int(x/10) ENDDO A)3456 B)34567 C)7654 D)76543答案:D分析:本题主要考查do while-enddo 循环语句、求余计算(%)和取整计算(int)。程序执行过程如下:初值:x=34567,y=0第一次执行循环语句时判断x0,则y=x%10+y*1034567%10+0*10=7+0=7,x=int(x/10)= int(34567/10)=3456;第二次执行循环语句时判断x0,则y=x%10+y*103456%10+7*10=6+70=76
17、,x=int(x/10)= int(3456/10)=345;第三次执行循环语句时判断x0,则y=x%10+y*10345%10+75*10=5+760=765,x=int(x/10)= int(345/10)=34;第四次执行循环语句时判断x0,则y=x%10+y*1034%10+765*10=4+7650=7654,x=int(x/10)= int(34/10)=3;第五次执行循环语句时判断x0,则y=x%10+y*103%10+7654*10=3+76540=76543,x=int(x/10)= int(3/10)=0;第六次执行循环语句时判断x=0,不满足循环条件,跳出循环。18. 下
18、列的程序中与上题的程序段时对y的计算结果相同的是_。A) x=34567 B) x=34567y=0 y=0flag=.T. flag=.T.DO WHILE flag DO WHILE flagy=x%10+y*10 y=x%10+y*10x=int(x/10) x=int(x/10)IF x0 IF x=0Flag=.F. Flag=.F.ENDIF ENDIFENDDO ENDDOC) x=34567 D) x=34567y=0 y=0flag=.T. flag=.T.DO WHILE !flag DO WHILE !flagy=x%10+y*10 y=x%10+y*10x=int(x/
19、10) x=int(x/10)IF x0 IF x=0Flag=.F. Flag=.F.ENDIF ENDIFENDDO ENDDO答案:B分析:本题主要考查do while-enddo 循环语句、if-endif条件语句、求余计算(%)、取整计算(int)和补运算(!)。以B为例,程序执行过程如下:初值:x=34567,y=0,flag=.T.(flag为跳出循环的判定条件)第一次执行循环语句时判断flag=.t.,则y=x%10+y*1034567%10+0*10=7+0=7,x=int(x/10)= int(34567/10)=3456;此时x0,flag=.t.第二次执行循环语句时判断
20、flag=.t.,则y=x%10+y*103456%10+7*10=6+70=76,x=int(x/10)= int(3456/10)=345; 此时x0,flag=.t.第三次执行循环语句时判断flag=.t.,则y=x%10+y*10345%10+75*10=5+760=765,x=int(x/10)= int(345/10)=34; 此时x0,flag=.t.第四次执行循环语句时判断flag=.t.,则y=x%10+y*1034%10+765*10=4+7650=7654,x=int(x/10)= int(34/10)=3; 此时x0,flag=.t.第五次执行循环语句时判断flag=.
21、t.,则y=x%10+y*103%10+7654*10=3+76540=76543,x=int(x/10)= int(3/10)=0; 此时x=0,flag=.f.第六次执行循环语句时判断flag=.f.,不满足循环条件,跳出循环19. 在 SQL SELECT 语句的 ORDER BY 短语中如果指定了多个字段,则_。 A)无法进行排序 B)只按第一个字段排序 C)按从左至右优先依次排序 D)按字段排序优先级依次排序答案:D分析:ORDER BY语句格式为:ORDER BY ASC|DESC,ASC|DESC,按照关键字表达式的优先级排序。 例如:sele * from 职工 order b
22、y 仓库号,工资 desc &先按仓库号升序排序,再按工资降序排序并输出全部职工信息。若工资为主关键字(主索引)则先按照工资降序排序。再按仓库号升序排列。20. 如果运行一个表单,以下事件首先被触发的是_。 A)Load B)Error C)Init D)Click 答案:A分析:首先明确事件是一种由系统预先定义而由用户或者系统发出的动作。事件作用于对象,对象识别事件并作出相应反应。1.load事件 在表单对象建立之前引发。 2.Error事件 当对象方法或者事件代码在运行过程中产生错误时引发。 3.Init事件 在对象建立时引发。 4.click事件 用鼠标单击对象时引发。引发该事件的常见情
23、况有:(1) 鼠标单击复选框、命令按钮、组合框、列表框和选项按钮(2) 在命令按钮、选项按钮或复选框获得焦点时,按空格键(3) 当表单中包含一个确认按钮(Default属性值为.t.)时,按Enter键,引发确认按钮的Click事件。(4) 按控件的访问键(5) 单击表单空白处,引发表单的Click事件。但单击表单的标题栏或窗口边界不会引发。21. 在 Visual FoxPro 中以下叙述正确的是_。 A)关系也被称作表单 B)数据库文件不存储用户数据 C)表文件的扩展名是.DBC D)多个表存储在一个物理文件中 答案:B分析:A)在VF中,一个“表”就是一个关系,一个关系的逻辑结构就是一张
24、二维表,而表单是VF提供的用于建立应用程序界面的最主要的工具之一。B)在建立Visual Foxpro数据库时,相应的数据库名称实际是扩展名为dbc的文件名,与之相关的还会自动建立一个扩展名为dct的数据库备注文件和一个扩展名为dcx的数据库索引文件,用户一般不能直接使用这些文件。C) 表文件的扩展名为.dbfD) 根据工作区的概念,一个工作区中只能打开一个表,所以多个表存储在不同的物理文件中。22. 设 X=65,命令?VARTYPE(X)的输出是_。 A)N B)C C)L D)出错 答案:C分析:本题主要考查关系表达式以及函数VARTYPE运算符运算规则及说明运算符运算规则及说明小于。如
25、果前一表达式的值小于后一表达式,则结果为真,否则为假大于。如果前一表达式的值大于后一表达式,则结果为真,否则为假=大于等于。如果前一表达式的值大于或者等于后一表达式的值,则结果为真,否则为假=等于。如果前一表达式的值等于后一表达式,则结果为真,否则为假。如果两边都为字符串,则分为精确比较和模糊比较=字符串精确比较。即两边字符串的内容必须一模一样,则结果为真,否则为假或#或!=不等于。如果前后表达式的值不相等,则结果为真,否则为假$子串包含测试。如果前者是后者的一个子串,结果为真,否则为假具体过程如下:首先进行关系运算,显然56为假,再对X进行赋值即X=.F.,VARTYPE的作用是返回表达式的
26、数据类型,所以返回类型为逻辑型。 23. 假设表单上有一选项组:男女,如果选择第二个按钮“女”,则该项组Value属性的值为_。 A).F. B)女 C)2 D)女 或 2 答案:D分析:本题主要考查选项组(OPITION GROUP)控件中的VALUE属性,它用于指定选项组中哪个选项按钮被选中。该属性值的类型可以是数值型的,也可以是字符型的。若为数值型值N,则表示选项组中第N个选项按钮被选中;若为字符型值C,则表示选项组中CAPTION属性值为C的选项按钮被选中。24. 假设表单 My Form 隐藏着,让该表单在屏幕上显示的命令是_。 A)MyForm. List B)MyForm. Di
27、splay C)MyForm. Show D)MyForm. ShowForm 答案:C分析:本题主要考查表单常用的事件show方法,它的作用是显示表单。该方法将表单的Visible属性设置为.T.,并使表但成为活动对象。而隐藏表单的方法为Hide,它将表单的Visible属性设置为.F.。(25)(33)使用的数据表如下:当前盘当前目录下有数据库:大奖赛.dbc,其中有数据库表“歌手.dbf”、“评分.dbf”“歌手”表: “评分”表:歌手号姓名歌手号分数评委号1001王蓉10019.81012001许巍20019.61023001周杰伦30019.71034001林俊杰40019.8104
28、25. 为“歌手”表增加一个字段“最后得分”的 SQL 语句是_。 A)ALTER TABLE 歌手 ADD 最后得分 F(6,2) B)ALTER DBF 歌手 ADD 最后得分 F 6,2 C)CHANGE TABLE 歌手 ADD 最后得分 F(6,2) D)CHANGE TABLE 学院 INSERT 最后得分 F 6,2 答案:A分析:本题主要考查SQL语句中修改表的结构的命令ALTER TABLE,该命令有三种格式:1、 格式一:添加新的字段或修改已有的字段。ALTER TABLE TableName ADD|ALTER COLUMN FieldNameFieldType(nFie
29、ldWidth,nPrecision) NULL|NOT NULLCHECK lExpression1 ERROR cMessageText1DEFAULT eExpressionPRIMARY KEY|UNIQUEREFERENCES TableName2TAGName1ADD 增加字段ALTER 修改字段类型和宽度PRIMARY KEY 或UNIQE 建立主索引或侯选索引CHECKERROR 设置或修改字段的有效性规则、错误提示DEFAULT 设置或修改字段的默认值REFERENCES 建立表之间的永久联系NULL或NOT NULL 允许字段是否为空值2、 格式二:主要用于定义、修改和删除有效性规则值和默认值定义。 ALTER TABLE TableName ALTER COLUMN FieldName2 NULL|NOT NULLSET DEFAULT eExpressio
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1