2012年3月全国计算机等级考试二级VB笔试参考答案(带详.doc_第1页
2012年3月全国计算机等级考试二级VB笔试参考答案(带详.doc_第2页
2012年3月全国计算机等级考试二级VB笔试参考答案(带详.doc_第3页
2012年3月全国计算机等级考试二级VB笔试参考答案(带详.doc_第4页
2012年3月全国计算机等级考试二级VB笔试参考答案(带详.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2012年 3月全国计算机等级考试二级笔试试卷 解析一、选择题(每小题2分,共70分) (1)【解析】队列的存储表示有两种:一种是基于数组的存储表示,另一种是基于链表的存储表示。队列的基于数组的存储表示亦称为顺序队列,它是利用一个一维数组作为队列元素的存储结构。为了充分地利用数组的存储空间,把数组的前端和后端连接起来,形成一个环形的表,称为循环队列。因此循环队列是队列的一种顺序存储结构。队列不管采用链式存储结构还是顺序存储结构,它都是线性结构。循环队列作为队列的特殊情况,它也是线性结构。循环队列是在队列的基础上,将队列的头和尾接到一起形成一个环状,它给出了数据的逻辑结构在计算机内部的存储形式,因此是一种存储结构。答案:B(2)【解析】栈是一种后进先出(Last In First Out)或先进后出(First In Last Out)的线性表,它的一端封闭(称为栈底),在另一端进行插入和删除操作,允许插入和删除的一端称为栈顶。队列(queue)是指允许在一端进行插入、而在另一端进行删除的线性表。允许插入的一端称为队尾,通常用一个称为尾指针(rear)的指针指向队尾元素,即尾指针总是指向最后被插入的元素;允许删除的一端称为排头(也称为队头),通常也用一个排头指针(front)指向排头元素的前一个位置。显然,在队列这种数据结构中,最先插入的元素将最先能够被删除,最后插入的元素最后才能被删除。因此,队列又称为“先进先出”(First In First Out,FIFO)或“后进后出”(Last In Last Out,LILO)的线性表,它体现了“先来先服务”的原则。栈与队列都是线性结构。答案:D(3)【解析】设二叉树结点数为n,度为2的结点数为n2,度为1的结点数为n1,度为0(即叶子结点)的结点数为n0。则有n=n2+n1+n0。另外,在二叉树中,度为0的结点数是度为2的结点数加1,因此有n0=n2+1。此题中,n=25,n0=5,则n2=n0-1=5-1=4,因此n1=n-n2-n0=25-4-5=16。答案:A(7)【解析】通常,将软件产品从提出、实现、使用、维护到停止使用甚至退役的过程称为软件生命周期。任何一个软件产品或软件系统都要经历软件定义、软件开发、软件维护直至被淘汰这样一个全过程。因此,软件生命周期可分为定义阶段、开发阶段和维护阶段。定义阶段包括可行性研究和需求分析;开发阶段包括概要设计、详细设计、实现和测试;维护阶段包括使用、维护和退役。因此软件生命周期般包括可行性研究和需求分析、设计、实现、测试、交付使用以及维护等活动。答案:A(8)【解析】需求分析阶段的任务是确定待开发软件的功能、性能、数据、界面等要求,从而确定系统的逻辑模型。需求分析阶段的主要工作包括:需求获取:确定对目标系统的各方面需求; 需求分析:对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型; 编写需求规格说明书:为用户、分析人员和设计人员之间进行交流提供方便。 需求评审:对需求分析阶段的工作进行复审,验证需求文档的一致性、可靠性、完善性和有效性。软件测试属于软件生命周期中的软件开发阶段,不属于需求分析阶段。软件测试过程一般按4个步骤进行,即单元测试、集成测试、验收测试和系统测试。 答案:D(9)【解析】黑盒测试也称为功能测试或数据驱动测试。黑盒测试是对软件已试验的功能是否满足需求进行测试和验证,它主要根据需求规格说明所规定的功能来设计测试用例,检查程序的功能是否符合它的功能说明,它不考虑程序的内部结构和处理过程。答案:B(10)【解析】软件设计一般分为两步完成,分别是概要设计和详细设计。系统结构图是概要设计阶段使用的工具,而详细设计(过程设计)常见的工具有:(1)图形工具:程序流程图、N-S图(盒图)、PAD(Problem Analysis Diagram,问题分析图)(2)表格工具:判定表。(3)语言工具:PDL(过程设计语言)。数据流图( Data Flow Diagram ,DFD)是需求分析阶段结构化分析的常用工具。需求分析阶段其他常用的结构化分析工具还有数据字典(Data Dictionary,DD)、结构化语言、判定表和判定树等。答案:C(11)答案:B【解析】变量命名规则:(1)字母、数字、下划线。(2)不能使用保留字。(3)不能以数字开头。本题中,case是保留字,t-name中是中划线,不是下划线。x*y中的*不是字母、也不是数字、也不是下划线。(12)答案:C【解析】x是小于10的非负数。即x大于等于0并且小于10。A选项和B选项是数学的描述方式,不是VB的描述方式。“x大于等于0并且小于10”中的“并且”要使用And而不是Or(或者)。(13答案:D【解析】Name属性只能在设计阶段通过属性窗口设置,属于只读属性,不能在程序运行时修改其值。(14)答案:D【解析】Static只能用在过程(窗体模块的过程或标准模块的过程)内部声明静态变量,不能用在窗体模块或标准模块的通用段。(15)答案:C【解析】因为Rnd产生的随机数范围是00.999999,Int函数返回不大于其参数值的一个整数,例如Int(8.6)返回8而不是9。Int(-8.6)返回-9而不是-8。(16)答案:D【解析】Print使用方式为:Print 输出列表。在语句Print x = x + 10中,x = x + 10是一个表达式而不是一条语句。作为表达式,x = x + 10的值是“False”,因为在该表达式中,=作为关系运算符使用,而不是作为赋值运算符使用。此处,=左边的x是5,=右边的值是15,=两边的值不同,所以是False。只有当x = x + 10作为语句时,才先计算=后面的值,然后把计算的值作为=左边的变量的值。(17)答案:A【解析】-2 To 2指的是-2、-1、0、1、2(共5),0 To 3指的是0、1、2、3(共4),因此元素个数是54=20(18)答案:B(19)答案:A【解析】在条件Case Is 0的情况下,Case Is 0是错误的。在条件Case Is 0的情况下,Case Is 0只需表示成Case Is = 5即可。(20)答案:D【解析】InputBox函数的功能是在输入对话框中显示提示(此处为“输入”),等待用户输入文本或单击按钮,并返回文本框内容。如果用户单击“确定”或按下 ENTER,则 InputBox 函数返回文本框中的内容。如果用户单击“取消”按钮,则函数返回一个零长度字符串 ()。本题要注意的是InputBox函数返回的是String类型的数据,由于返回零长度字符串 (),所以在窗体上输出空白而不是0。(21)答案:B【解析】因为有Option Base 1语句,因此a(1)=3, a(2)=5, a(3)=7, (4)=9。ixa(i)s = s + a(i) * x419s = 0 + 9 * 1=93107s = 9 + 7 * 10=7921005s = 79 + 5 * 100=579110003s = 579 + 3 * 1000=3579(22)答案:D【解析】Static在过程级别中使用,用于声明变量并分配存储空间。在整个代码运行期间都能保留使用 Static 语句声明的变量的值。本题中,x为Static类型的变量,其初值为0。第一次单击按钮,x=f(5),调用Function过程,执行f=5+5,Function过程返回值为10,所以x=10。第二次单击按钮时,x=f(10+5),调用Function过程,执行f=15+15,Function过程返回值为30,所以x=30。第三次单击按钮时,x=f(30+5),调用Function过程,执行f=35+35,Function过程返回值为70,所以x=70。窗体上显示70。(23)答案:C【解析】表示该菜单项不显示,应该是,而不是。(24)答案:A【解析】如果工程中有多个窗体,存盘时每个窗体对应一个窗体文件。所以B错误。打开一个窗体,其他窗体不会自动关闭,只是成为非活动窗体。所以C错误。VB默认第一个窗体是启动窗体,但可以通过工程属性设置其他窗体为启动窗体。所以D错误。(25)答案:A【解析】注意,通用对话框的FilterIndex属性取值从1开始,不是从0开始。所以对于语句CommonDialog1.Filter = All(*.*)|*.*|Word|*.Doc| 1 2在上图中,FilterIndex属性,All(*.*)为1,Word为2。(26)答案:B【解析】定义过程时,如果形参为数组,无需指明数组的长度,但必须把数组的标志(就是一对圆括号)写出。所以C和D均错误,B正确。A选项因为在定义过程时形参不是数组,所以是错误的。(27)答案:C【解析】组合框是由一个文本框和列表框组合而成,要获得组合框中输入的数据(即文本框中输入的数据),只需使用组合框的Text属性即可。(28)答案:C【解析】在文本框Text1中原有字符之前输入a,此时文本框Text1的内容变为aDataBase。对于文本框的Change事件而言,只要文本框的内容发生改变,即触发该事件。对于Mid(Text1, 1, 5)而言,其功能是从第1个位置开始,截取5个字符。Text1的值是字符串“aDataBase”,第1个位置是字符“a”,从“a”开始截取5个,所以结果是“aData”。(29)答案:A【解析】Array函数的功能是为一维数组初始化。在使用该函数时,要求=左边的数组arr是下面的三种形式之一:(1)arr不声明直接使用,即arr为Variant类型的变量。(2)采用Dim arr的声明形式(3)采用Dim arr()的声明形式(30)答案:D【解析】删除一个元素后,数组中只有9个元素。由于有Option Base 1,数组下标的下界从1开始,所以最后一个元素的下标是9,而不是10。(31)答案:B【解析】在程序运行时,驱动器列表框(DriveListBox)的Drive属性用来设置或返回选择的驱动器(缺省值是当前驱动器),目录列表框(DirListBox)的Path属性用来设置或返回所选择的目录(缺省值是当前目录),文件列表框(FileListBox)的Path属性用来设置或返回其当前的目录(缺省值是当前路径),首先A和C可以排除,因为驱动器列表框没有Path属性,所以Drive1.Path的使用是错误的。驱动器列表框的Drive属性,用来设置或返回所选择的驱动器名。Drive属性只能用程序代码设置,不能通过属性窗口设置。其格式为:驱动器列表框名称.Drive = 驱动器名 这里的“驱动器名”是指定的驱动器,如果省略,则Drive属性是当前驱动器。如果所选择的驱动器在当前系统中不存在,则产生错误。每次重新设置驱动器列表框的Drive属性时,都将引发Change事件。驱动器列表框与目录列表框有着密切联系。在一般情况下,改变驱动器列表框中的驱动器名后,目录列表框中的目录应当随之变为该驱动器上的目录,也就是使驱动器列表框和目录列表框产生同步(Synchronize)效果。这可以通过一个简单的语句来实现。当改变驱动器列表框的Drive属性时,将产生Change事件。当Drive属性改变时,Drive_Change事件过程就发生反应。因此,只要把Drive1.Drive的属性值赋给Dir1.Path,就可产生同步效果。即:Private Sub Drive1_Change() Dir1.Path = Drive1.DriveEnd Sub这样,每当改变驱动器列表框的Drive属性时,将产生Change事件,目录列表框中的目录变为该驱动器的目录。综合上面的分析,选项D是错误的。在实际应用中,驱动器列表框、目录列表框和文件列表框往往需要同步操作,这可以通过Path属性的改变引发Change事件来实现。例如:Private Sub Dir1_Change() File1.Path = Dir1.PathEnd Sub该事件过程使窗体上的目录列表框Dir1和文件列表框File1产生同步。因为目录列表框Path属性的改变将产生Change事件,所以在Dir1_Change事件过程中,把Dir1.Path赋给File1.Path,就可以产生同步。因此选项B是正确的。(32)答案:A【解析】要使用弹出式菜单,首先必须通过菜单编辑器建立菜单,该菜单必须包含主菜单项和子菜单项,而且主菜单的“可见”属性必须设置为False,即主菜单必须在程序运行时不可见,然后通过PopupMenu方法进行显示。可以建立多个弹出式菜单。综合上面的分析,A是错误的。(33)答案:D【解析】对于Print方法,其使用格式如下:对象名.Print 表达式列表其中,表达式列表要求是“字符串表达式”或“数值表达式”。对于自定义数据类型的变量a,不能直接打印该变量,必须指出是要打印该变量的哪个成员,即形如a.X或a.Y的方式。(34)答案:C【解析】此题可以使用排除法。Text1等价于Text1.Text,Text2等价于Text2.Text,所以选项C是错误的。(35)答案:C【解析】对于随机文件的写操作,使用Put语句,其使用格式如下:Put #文件号, 记录号, 变量名其中记录号可以省略,但记录号后面的那个逗号不能省略。A选项:用于使用For Input方式打开的顺序文件,读取文件操作。D选项:用于读取操作,而不是保存。B选项:用于使用For Outputt方式或Append方式打开的顺序文件的写操作。二、填空题(每空2分,共30 分) (1)【解析】线性表采用顺序存储结构时,如果删除运行在线性表的末尾进行,即删除第n个元素,则不需要移动表中的元素(这是最好的情况);如果要删除线性表中的第1个元素,则从第2个元素开始直到最后一个元素(第n个元素),一共n-1个元素,必须依次向前移动一个位置(这是最坏的情况);一般情况下,要删除第i(1in)个元素时,则要从第i+1个元素开始,直到第n个元素之间共n-i个元素依次向前移动一个位置;在平均情况下,要在线性表中删除一个元素,需要移动表中一半的元素。答案:n-1(2)【解析】当frontrear时,循环队列中元素的个数为rear-front,当frontrear时,循环队列中元素的个数为N(N为循环队列容量)- front + rear。此题中front=16 rear=15,因此该循环队列中共有30-16+15=29个元素。答案:29(3)【解析】数据库管理系统一般提供下列几种数据语言(data language),分别是:数据定义语言(Data Definition Language,DDL):负责数据的模式定义和数据的物理存取构建。数据操纵语言(Data Manipulation Language,DML):负责数据的操纵,包括查询及增加、删除、修改等操作。数据控制语言(Data Control Language,DCL):负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能,包括系统初始程序、文件读/写、存取路径管理程序、缓冲区管理程序、安全性控制程序、完整性检查程序、并发控制程序、事务管理程序、运行日志管理程序以及数据库恢复程序等。答案:数据操纵语言或DML(4)答案:关系(5)答案:面向对象方法(6)【解析】Open语句格式为:Open 文件名 For 打开方式 As 文件号其中,“打开方式”可以是Input、Output、Random等。Input方式是把顺序文件中的内容读到程序中,Output方式是把程序中的数据写到顺序文件中。Random方式用于打开随机文件。Print语句格式为:Print 文件号, 变量列表其功能是把变量列表中的所有变量的值写到由文件号指定的文件中。本题中,要求把文本框的内容(Text1.Text)写到文件file1.txt中,因此打开方式应该为Output,所以【6】应该填入Output。由于已经由Open语句将顺序文件“file1.txt”和文件号(此处为1)进行了关联,所以【7】应该填入#1。答案:【6】Output【7】 #1【考试误区】注意:语句“Print #1, Text1.Text ”中Print与数字1之间的#不能省略,不能写成 “Print 1, Text1.Text ”,否则,就变成了在窗体上输出数字1和文本框的内容。但是,Open语句中As子句后面的#则可以省略。(7)【解析】首先注意到窗体的通用段定义了一个模块级的变量down,类型为Boolean,因此该变量可以被窗体模块中的所有过程使用。答案:【8】Button【9】down = True或down【10】Label1.Caption 或 Label1(8)答案:【11】List2.ListIndex【12】List2.AddItem List1.Text【解析】列表框的RemoveItem方法的功能是删除被选中的列表项,该方法后面的参数是一个整数值,该整数值是被选中的列表项的索引值(取值0ListCount-1),被选中的列表框的索引值用ListInd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论