已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2012年 3月全国计算机等级考试二级笔试试卷Visual Basic语言程序设计(考试时间90 分钟,满分100分) 一、选择题(每小题2分,共70分) 下列各题A) 、B) 、C) 、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是( ) 。A)循环队列是队列的一种链式存储结构B)循环队列是队列的一种顺序存储结构C)循环队列是非线性结构D)循环队列是一种逻辑结构【解析】队列的存储表示有两种:一种是基于数组的存储表示,另一种是基于链表的存储表示。队列的基于数组的存储表示亦称为顺序队列,它是利用一个一维数组作为队列元素的存储结构。为了充分地利用数组的存储空间,把数组的前端和后端连接起来,形成一个环形的表,称为循环队列。因此循环队列是队列的一种顺序存储结构。队列不管采用链式存储结构还是顺序存储结构,它都是线性结构。循环队列作为队列的特殊情况,它也是线性结构。循环队列是在队列的基础上,将队列的头和尾接到一起形成一个环状,它给出了数据的逻辑结构在计算机内部的存储形式,因此是一种存储结构。答案:B(2)下列叙述中正确的是A)栈是一种先进先出的线性表B)队列是一种后进先出的线性表C)栈与队列都是非线性结构D)以上三种说法都不对【解析】栈是一种后进先出(Last In First Out)或先进后出(First In Last Out)的线性表,它的一端封闭(称为栈底),在另一端进行插入和删除操作,允许插入和删除的一端称为栈顶。队列(queue)是指允许在一端进行插入、而在另一端进行删除的线性表。允许插入的一端称为队尾,通常用一个称为尾指针(rear)的指针指向队尾元素,即尾指针总是指向最后被插入的元素;允许删除的一端称为排头(也称为队头),通常也用一个排头指针(front)指向排头元素的前一个位置。显然,在队列这种数据结构中,最先插入的元素将最先能够被删除,最后插入的元素最后才能被删除。因此,队列又称为“先进先出”(First In First Out,FIFO)或“后进后出”(Last In Last Out,LILO)的线性表,它体现了“先来先服务”的原则。栈与队列都是线性结构。答案:D(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为A)16B)10C)6D)4【解析】设二叉树结点数为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(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)外模式B)内模式C)概念模式D)逻辑模式答案:B(5)在满足实体完整性约束的条件下A)一个关系中应该有一个或多个候选关键字B)一个关系中只能有一个候选关键字C)一个关系中必须有多个候选关键字D)一个关系中可以没有候选关键字答案:A(6)有三个关系R、S和T如下:RSTABCABCABCa12a12b21b21d21c31c31则由关系R和S得到关系T的操作是A)自然连接B)并C)交D)差(7)软件生命周期中的活动不包括A)市场调研B)需求分析C)软件测试D)软件维护【解析】通常,将软件产品从提出、实现、使用、维护到停止使用甚至退役的过程称为软件生命周期。任何一个软件产品或软件系统都要经历软件定义、软件开发、软件维护直至被淘汰这样一个全过程。因此,软件生命周期可分为定义阶段、开发阶段和维护阶段。定义阶段包括可行性研究和需求分析;开发阶段包括概要设计、详细设计、实现和测试;维护阶段包括使用、维护和退役。因此软件生命周期般包括可行性研究和需求分析、设计、实现、测试、交付使用以及维护等活动。答案:A(8)下面不属于需求分析阶段任务的是A)确定软件系统的功能需求B)确定软件系统的性能需求C)需求规格说明书评审D)制定软件集成测试计划【解析】需求分析阶段的任务是确定待开发软件的功能、性能、数据、界面等要求,从而确定系统的逻辑模型。需求分析阶段的主要工作包括:需求获取:确定对目标系统的各方面需求; 需求分析:对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型; 编写需求规格说明书:为用户、分析人员和设计人员之间进行交流提供方便。 需求评审:对需求分析阶段的工作进行复审,验证需求文档的一致性、可靠性、完善性和有效性。软件测试属于软件生命周期中的软件开发阶段,不属于需求分析阶段。软件测试过程一般按4个步骤进行,即单元测试、集成测试、验收测试和系统测试。 答案:D(9)在黑盒测试方法中,设计测试用例的主要根据是A)程序内部逻辑B)程序外部功能C)程序数据结构D)程序流程图【解析】黑盒测试也称为功能测试或数据驱动测试。黑盒测试是对软件已试验的功能是否满足需求进行测试和验证,它主要根据需求规格说明所规定的功能来设计测试用例,检查程序的功能是否符合它的功能说明,它不考虑程序的内部结构和处理过程。答案:B(10)在软件设计中不使用的工具是A)系统结构图B)PAD图C)数据流图(DFD图)D)程序流程图【解析】软件设计一般分为两步完成,分别是概要设计和详细设计。系统结构图是概要设计阶段使用的工具,而详细设计(过程设计)常见的工具有:(1)图形工具:程序流程图、N-S图(盒图)、PAD(Problem Analysis Diagram,问题分析图)(2)表格工具:判定表。(3)语言工具:PDL(过程设计语言)。数据流图( Data Flow Diagram ,DFD)是需求分析阶段结构化分析的常用工具。需求分析阶段其他常用的结构化分析工具还有数据字典(Data Dictionary,DD)、结构化语言、判定表和判定树等。答案:C(11)以下合法的VB变量名是A)caseB)name10C)t-nameD)x*y答案:B【解析】变量命名规则:(1)字母、数字、下划线。(2)不能使用保留字。(3)不能以数字开头。本题中,case是保留字,t-name中是中划线,不是下划线。x*y中的*不是字母、也不是数字、也不是下划线。(12)设x是小于10的非负数。对此叙述,以下正确的VB表达式是A)0x10B)0=x10C)x0 And x=0 Or x=10答案:C【解析】x是小于10的非负数。即x大于等于0并且小于10。A选项和B选项是数学的描述方式,不是VB的描述方式。“x大于等于0并且小于10”中的“并且”要使用And而不是Or(或者)。(13 以下关于窗体的叙述中,错误的是A)窗体的Name属性用于标识一个窗体B)运行程序时,改变窗体大小,能够触发窗体的Resize事件C)窗体的Enabled属性为False时,不能响应单击窗体的事件D)程序运行期间,可以改变Name属性值答案:D【解析】Name属性只能在设计阶段通过属性窗口设置,属于只读属性,不能在程序运行时修改其值。(14)下面定义窗体级变量a的语句中错误的是A)Dim a%B)Private a%C)Private a As IntegerD)Static a%答案:D【解析】Static只能用在过程(窗体模块的过程或标准模块的过程)内部声明静态变量,不能用在窗体模块或标准模块的通用段。(15)表达式Int(Rnd(0)*50)所产生的随机数范围是A)(0,50)B)(1,50)C)(0,49)D)(1,49)答案:C【解析】因为Rnd产生的随机数范围是00.999999,Int函数返回不大于其参数值的一个整数,例如Int(8.6)返回8而不是9。Int(-8.6)返回-9而不是-8。(16)设x=5,执行语句Print x = x + 10,窗体上显示的是A)15B)5C)TrueD)False答案:D【解析】Print使用方式为:Print 输出列表。在语句Print x = x + 10中,x = x + 10是一个表达式而不是一条语句。作为表达式,x = x + 10的值是“False”,因为在该表达式中,=作为关系运算符使用,而不是作为赋值运算符使用。此处,=左边的x是5,=右边的值是15,=两边的值不同,所以是False。只有当x = x + 10作为语句时,才先计算=后面的值,然后把计算的值作为=左边的变量的值。(17)设有如下数组声明语句:Dim arr(-2 To 2, 0 To 3) As Integer该数组所包含的数组元素个数是A)20B)16C)15D)12答案:A【解析】-2 To 2指的是-2、-1、0、1、2(共5),0 To 3指的是0、1、2、3(共4),因此元素个数是54=20(18)现有由多个单选按钮构成的控件数组,用于区别该控件数组中各控件的属性是A)NameB)IndexC)CaptionD)Value答案:B(19)设有分段函数: 以下表示上述分段函数的语句序列中错误的是A)Select Case xB)If x 0 Then Case Is 0y = 5 y = 5ElseIf x = 5 Then Case Is 0y = 2 * x y = 2 * xElse Case Elsey = x * x + 1 y = x * x + 1End IfEnd SelectC)y = IIf(x 0, 5, IIf(x = 5, 2 * x, x * x + 1)D)If x 0 Then y = 5If x = 0 Then y = 2 * xIf x 5 Then y = x * x + 1答案:A【解析】在条件Case Is 0的情况下,Case Is 0是错误的。在条件Case Is 0的情况下,Case Is 0只需表示成Case Is 50 Then Sum = Sum + a End If Next aEnd Sub运行上述程序时出现错误,错误之处是A)数组定义语句不对,应改为Dim arrB)没有指明For循环的终值C)应在For语句之前增加Sum = 0D)Next a应改为Next答案:A【解析】Array函数的功能是为一维数组初始化。在使用该函数时,要求=左边的数组arr是下面的三种形式之一:(1)arr不声明直接使用,即arr为Variant类型的变量。(2)采用Dim arr的声明形式(3)采用Dim arr()的声明形式(30)要求产生10个随机整数,存放在数组arr中。从键盘输入要删除的数组元素的下标,将该元素中的数据删除,后面元素中的数据依次前移,并显示删除后剩余的数据。现有如下程序:Option Base 1Private Sub Command1_Click() Dim arr(10) As Integer For i = 1 To 10 循环1 arr(i) = Int(Rnd * 100) Print arr(i); Next Print X = InputBox(输入1-10的一个整数:) For i = X + 1 To 10 循环2 arr(i - 1) = arr(i) Next For i = 1 To 10 循环3 Print arr(i); NextEnd Sub程序运行后发现显示的结果不正确。应该进行的修改是A)产生随机数时不使用Int函数B)循环2的初值应为i = xC)数组定义改为Dim a(11) As IntegerD)循环3的循环终值应改为9答案:D【解析】删除一个元素后,数组中只有9个元素。由于有Option Base 1,数组下标的下界从1开始,所以最后一个元素的下标是9,而不是10。(31)使用驱动器列表框Drive1、目录列表框Dir1、文件列表框File1时,需要设置控件的同步,以下能够正确设置两个控件同步的命令是A)Dir1.Path = Drive1.PathB)File1.Path = Dir1.PathC)File1.Path = Drive1.PathD)Drive1.Drive = Dir1.Path答案: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)一个窗体只能有一个弹出式菜单B)弹出式菜单在菜单编辑器中建立 C)弹出式菜单的菜单名(主菜单项)的“可见”属性通常设置为False D)弹出式菜单通过窗体的PopupMenu方法显示 答案:A【解析】要使用弹出式菜单,首先必须通过菜单编辑器建立菜单,该菜单必须包含主菜单项和子菜单项,而且主菜单的“可见”属性必须设置为False,即主菜单必须在程序运行时不可见,然后通过PopupMenu方法进行显示。可以建立多个弹出式菜单。综合上面的分析,A是错误的。(33)有如下程序:Private Type stu X As String Y As IntegerEnd TypePrivate Sub Command1_Click() Dim a As stu a.X = ABCD a.Y = 12345 Print aEnd Sub程序运行时出现错误。错误的原因是A)Type定义语句没有放在标准模块中B)变量声明语句有错C)赋值语句不对D)输出语句Print不对答案:D【解析】对于Print方法,其使用格式如下:对象名.Print 表达式列表其中,表达式列表要求是“字符串表达式”或“数值表达式”。对于自定义数据类型的变量a,不能直接打印该变量,必须指出是要打印该变量的哪个成员,即形如a.X或a.Y的方式。(34)在窗体上画两个名称分别为Text1、Text2的文本框,一个名称为Label1的标签,窗体外观如图a所示。要求当改变任一个文本框的内容,就会将该文本框的内容显示在标签中,如图b所示。实现上述功能的程序如下: 图a 图bPrivate Sub Text1_Change() Call ShowText(Text1)End SubPrivate Sub Text2_Change() Call ShowText(Text2)End SubPrivate Sub ShowText(T As TextBox) Label1.Caption = 文本框中的内容是: & T.TextEnd Sub关于上述程序,以下叙述中错误的是A)ShowText过程的参数类型可以是ControlB)ShowText过程的参数类型可以是VariantC)两个过程调用语句有错,应分别改为Call ShowText(Text1.Text)、Call ShowText(Text2.Text)D)ShowText过程中的T是控件变量答案:C【解析】此题可以使用排除法。Text1等价于Text1.Text,Text2等价于Text2.Text,所以选项C是错误的。(35)设有打开文件的语句如下:Open text.dat For Random As #1要求把变量a中的数据保存到该文件中,应该使用的语句是A)Input #1, aB)Write #1, aC)Put #1, aD)Get #1, a答案:C【解析】对于随机文件的写操作,使用Put语句,其使用格式如下:Put #文件号, 记录号, 变量名其中记录号可以省略,但记录号后面的那个逗号不能省略。A选项:用于使用For Input方式打开的顺序文件,读取文件操作。D选项:用于读取操作,而不是保存。B选项:用于使用For Outputt方式或Append方式打开的顺序文件的写操作。二、填空题(每空2分,共30 分) 请将每空的正确答案写在答题卡【l】至【15】序号的横线上,答在试卷上不得分。(1)在长度为n的顺序存储的线性表中删除一个元素,最坏情况下需要移动表中的元素个数为 【1】 。【解析】线性表采用顺序存储结构时,如果删除运行在线性表的末尾进行,即删除第n个元素,则不需要移动表中的元素(这是最好的情况);如果要删除线性表中的第1个元素,则从第2个元素开始直到最后一个元素(第n个元素),一共n-1个元素,必须依次向前移动一个位置(这是最坏的情况);一般情况下,要删除第i(1in)个元素时,则要从第i+1个元素开始,直到第n个元素之间共n-i个元素依次向前移动一个位置;在平均情况下,要在线性表中删除一个元素,需要移动表中一半的元素。答案:n-1(2)设循环队列的存储空间为Q(1:30),初始状态为front=rear=30,现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有 【2】 个元素。【解析】当frontrear时,循环队列中元素的个数为rear-front,当frontrear时,循环队列中元素的个数为N(N为循环队列容量)- front + rear。此题中front=16 rear=15,因此该循环队列中共有30-16+15=29个元素。答案:29(3)数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是 【3】 。【解析】数据库管理系统一般提供下列几种数据语言(data language),分别是:数据定义语言(Data Definition Language,DDL):负责数据的模式定义和数据的物理存取构建。数据操纵语言(Data Manipulation Language,DML):负责数据的操纵,包括查询及增加、删除、修改等操作。数据控制语言(Data Control Language,DCL):负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能,包括系统初始程序、文件读/写、存取路径管理程序、缓冲区管理程序、安全性控制程序、完整性检查程序、并发控制程序、事务管理程序、运行日志管理程序以及数据库恢复程序等。答案:数据操纵语言或DML(4)在将E-R图转换到关系模式时,实体和联系都可以表示成 【4】 。答案:关系(5)常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于 【5】 。答案:面向对象方法(6)下面的事件过程执行时,可以把Text1文本框中的内容写到文件“file1.txt”中去。请填空。Private Sub Command1_Click() Open file1.txt For 【6】 As #1 Print 【7】 , Text1.Text Close #1End Sub【解析】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)设窗体上有一个名称为Label1的标签,程序运行时,单击鼠标左键,再移动鼠标,鼠标的位置坐标会实时地显示在Label1标签中;单击鼠标右键则停止实时显示,并将标签中内容清除。下面的程序可实现这一功能,请填空。Dim down As BooleanPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Select Case 【8】 Case 1 down = True Case 2 down = False End SelectEnd SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If 【9】 Then 【10】 = X= & X & Y= & Y Else Label1.Caption = End IfEnd Sub【解析】首先注意到窗体的通用段定义了一个模块级的变量down,类型为Boolean,因此该变量可以被窗体模块中的所有过程使用。答案:【8】Button【9】down = True或down【10】Label1.Caption 或 Label1(8)窗体上有List1、List2两个列表框,程序运行时,在两个列表框中分别选中1个项目,如图a所示,单击名称为Command1的“交换”按钮,则把选中的项目互换,互换后的位置不限,如图b所示。下面的程序可实现这一功能,请填空。 图a 交换前 图b 交换后Private Sub Command1_Click() If List1.Text = Or List2.Text = Then MsgBox 请选择交换的物品! Else List1.AddItem List2.Text List2.RemoveItem 【11】 【12】 List1.RemoveItem List1.ListIndex End IfEnd Sub答案:【11】List2.ListIndex【12】List2.AddItem List1.Text【解析】列表框的RemoveItem方法的功能是删除被选中的列表项,该方法后面的参数是一个整数值,该整数值是被选中的列表项的索引值(取值0ListCount-1),被选中的列表框的索引值用ListIndex代表。列表框的AddItem方法的功能是把指定的内容添加到列表框中,该方法的格式如下:AddItem 要添加的内容, Index在vb中,使用属性时,总是要指明该属性是哪个对象的属性,所以【11】要填List2.ListIndex。程序中,List1.AddItem List2.Text的功能是把列表框List2中被选中的列表项的内容(用Lis
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南阳农业职业学院单招职业适应性测试题库及答案详解(网校专用)
- 2026年六盘水职业技术学院单招职业倾向性考试题库及答案详解(夺冠系列)
- 福建省泉州五中、莆田一中、漳州一中2026届高考数学试题考前最后一卷预测卷(三)含解析
- 2026届随州市重点中学高三高考线上模拟测试语文试题含解析
- 2025福建海峡人力资源股份有限公司南平分公司招聘笔试历年备考题库附带答案详解
- 2025福建南平市翼启飞通信服务有限公司(电信114查号台)招聘笔试历年常考点试题专练附带答案详解2套试卷
- 2025甘肃庆阳市中国化学工程集团有限公司定点帮扶环县专项招聘173人笔试参考题库附带答案详解
- 2025湖北武汉利德测控技术有限公司校园招聘笔试历年常考点试题专练附带答案详解
- 2025浙江湖州经开投资发展集团有限公司招引专业人才3人笔试历年常考点试题专练附带答案详解2套试卷
- 2025浙江定海工业园区管理委员会下属国企招聘拟录用人员笔试参考题库附带答案详解
- 2025年江苏卫生健康职业学院单招职业适应性测试题库附答案
- 文化传媒公司费用报销审批流程
- 亚朵酒店卫生管理制度
- 专题一·中国古代政治制度的演变(山东专版)-东北三省2026届高考二轮复习 历史讲义
- 北京市丰台区2026届(年)高三年级(上)学期期末考试政治试题卷+答案
- 2025膝关节周围截骨术治疗膝关节骨关节炎指南建议(全文)
- 危重病人生命体征监测技巧
- 手机抵押协议书模板
- 2025 年大学运动人体科学(体能训练)上学期期末测试卷
- 中药湿热敷教学课件
- 2025年杭州余杭区招聘公办幼儿园劳动合同制职工考试笔试试题(含答案)
评论
0/150
提交评论