《计算机二级vb往年试题.docx》由会员分享,可在线阅读,更多相关《计算机二级vb往年试题.docx(70页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2006年4月一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)下列选项中不属于结构化程序设计方法的是。A)自顶向下B)逐步求精0模块化D)可复用(2)两个或两个以上模块之间关联的紧密程度称为。A)耦合度B)内聚度0复杂度D)数据传输特性(3)下列叙述中正确的是。A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试O软件维护只包括对程序代码的维护D)以上三种说法都不对(4)按照“后进先出”原则组织数据的数据结构是。A)队列B)栈0双向链表D)二叉树(5)下列叙述中正确的是。
2、A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构O双向链表是非线性结构D)只有根结点的二叉树是线性结构(6)对如下二叉树ABDECF进行后序遍历的结果为。A) ABCDEF B) DBEAFCC) ABDECF D) DEBFCA(7)在深度为7的满二叉树中,叶子结点的个数为。A)32B)31C)64 D)63(8) “商品”与“顾客”两个实体集之间的联系一般是。A)一对一 B)一对多C)多对一 D)多对多(9)在E-R图中,用来表示实体的图形是。A)矩形B)椭圆形C)菱形D)三角形(10)数据库DB、数据库系统DBS,数据库管理系统 DBMS之间的关系是。A) DB 包含 DBS
3、和 DBMSB) DBMS 包含 DB 和 DBSC) DBS包含DB和DBMS D)没有任何关系(11)以下关于Visual Basic特点的叙述中,错误的是。A) Visual Basic是采用事件驱动编程机制的语言B) Visual Basic程序既可以编译运行,也可以解释运行0构成Visual Basic程序的多个过程没有固定的执行顺序D) Visual Basic程序不是结构化程序,不具备结构化程序的三种基本结构(12)以下叙述中,错误的是。A) 一个Visual Basic应用程序可以含有多个标准模块文件B) 一个Visual Basic工程可以含有多个窗体文件 O标准模块文件可以
4、属于某个指定的窗体文件 D)标准模块文件的扩展名是.bas (13)以下叙述中,错误的是。A)在Visual Basic中,对象所能响应的事件是由系统定义的B)对象的任何属性既可以通过属性窗口设定,也可以通过程序语句设定C) Visual Basic中允许不同对象使用相同名称的方法D) Visual Basic中的对象具有自己的属性和方法(14)设有如下语句: Dim a, b As Integer c=VisualBasic”d=#7/20/2005#以下关于这段代码的叙述中,错误的是。A) a被定义为Integer类型变量B) b被定义为Integer类型变量0 c中的数据是字符串 D)
5、d中的数据是日期类型(15)以下能从字符串VisualBasic”中直接取出子字符串Basic的函数是。A) LeftB) MidC) String D) Instr(16)设a=4, b=3, c=2, d=l,下列表达式的值是。 ab+l Or c=10, Is90 Then Exit ForNextEnd Sub对于该事件过程,以下叙述中错误的是。A) a数组中的数据是30个100以内的整数B)语句For Each arrltem In a有语法错误C) If arrltem Mod 7=0语句的功能是输出数组中能够被7整除的数D) If arrItem90语句的作用是当数组元素的值大于
6、90时退出For循环(22)设有命令按钮Commandl的单击事件过程,代码如下:Private Sub Commandl_Click()Dim a(3,3)As IntegerFor i=l To 3For j=l To 3a(i, j)=i*j+iNext jNext iSum=0For i=l To 3Sum=Sum+a(i,4-i)Next iPrint SumEnd Sub运行程序,单击命令按钮,输出结果是。A)20B)7C)16 D)17(23)在窗体上画1个名称为Command 1的命令按钮,然后编写如下事件过程:Private Sub Commandl_Click()a=0Fo
7、r i=l To 2For j=l To 4If j Mod 200 Thena=a-lEnd Ifa=a+lNext jNext iPrint aEnd Sub程序运行后,单击命令按钮,输出结果是。A)0B)2C)3 D)4(24)窗体上有名称分别为Textl、Text2的2个文本框,有一个由3个单选按钮构成的控件数组Optionl,如图1所示。程序运行后,如果单击某个单选按钮,则执行Textl中的数值与该单选按钮所对应的运算(乘以1、10或100),并将结果显示在Text2中,如图2所示。为了实现上述功能,在程序中的问号(?)处应填入的内容是。图1图2 Private Sub Option
8、l_Click(Index As Integer)If Textl. TextO*ThenSelect Case ?Case 0Text2.Text=Val(Textl. Text)Case 1Text2.Text=Val(Textl.Text)*10Case 2Text2. Text=Val(Textl. Text)*100 End Select End If End SubA) IndexB) Optionl. IndexC) Optionl(Index) D) Optionl(Index). Value (25)在窗体上画1个命令按钮,其名称为Commandl,然后编写如下程序:Priv
9、ate Sub Command1_C1ick() Dim a(10)As Integer Dim x As Integer For i=l To 10 a(i)=8+i Next x=2 Print a(f(x)+x) End SubFunction f(x As Integer) x=x+3 f=x End Function 程序运行后,单击命令按钮,输出结果为。 A)12B)15 C)17D)18(26)以下关于过程的叙述中,错误的是。A)事件过程是由某个事件触发而执行的过程 B)函数过程的返回值可以有多个0可以在事件过程中调用通用过程 D)不能在事件过程中定义函数过程(27)在窗体上画3
10、个标签、3个文本框(名称分别为 Textl. Text2和Text3)和1个命令按钮(名称为 Command 1),外观如图所示。编写如下程序: Private Sub Form_Load() Textl.Text=” Text2.Text= Text3. Text= End SubPrivate Sub Command1 Click() x=Val(Textl. Text) y=Val (Text2. Text) Text3. Text=f(x, y) End SubFunction f (ByVai x As Integer, ByVai y As Integer) Do While y0
11、 tmp=x Mod yx=yy=tmpLoopf=xEnd Function运行程序,在Textl文本框中输入36,在Text2文本框中输入24,然后单击命令按钮,则在Text3文本框中显示的内容是。A)4B)6C)8 D)12(28)窗体上有名称分别为Textl、Text2的2个文本框,要求文本框Textl中输入的数据小于500,文本框Text2中输入的数据小于1000,否则重新输入。为了实现上述功能,在以下程序中问号(?)处应填入的内容是。Private Sub Textl_LostFocus()Cal 1 Checkinput(Textl.500)End SubPrivate Sub
12、Text2_LostFocus()Call Checkinput(Text2,1000)End SubSub Checkinput(t As ?, x As Integer)If Vai(t. Text)x ThenMsgBox”请重新输入!”End IfEnd SubA) TextB) SelTextC) ControlD) Form(29)在窗体上画1个文本框,其名称为Textl,然后编写如下过程:Private Sub Textl_KeyDown(KeyCode As Integer, Shift As Integer) Print Chr(KeyCode)End SubPrivate
13、Sub Textl_KeyUp(KeyCode As Integer, Shift As Integer)Print Chr(KeyCode+2)End Sub程序运行后,把焦点移到文本框中,此时如果敲击键,则输出结果为。A)AAB) ABC)ACD) AD(30)为了使列表框中的项目呈多列显示,需要设置的属性为。A) ColumnsB) StyleC) ListD) MultiSelect(31)在窗体上画1个命令按钮,名称为Command 1,然后编写如下程序:Dim Flag As BooleanPrivate Sub Commandl_Click()Dim intNum As Inte
14、ger intNum=InputBox(请输入:”) If Flag Then Print f(intNum)End IfEnd SubFunction f(X As Integer)As IntegerIf X10 ThenY=XElseY=X+10End If f=Y End Function Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Flag=TrueEnd Sub运行程序,首先单击窗体,然后单击命令按钮,在输入对话框中输入5,则程序的输出结果为。A)0B
15、)5C)15D)无任何输出(32)在菜单编辑器中建立1个名称为MenuO的菜单项,将其“可见”属性设置为False,并建立其若干子菜单,然后编写如下过程:Private Sub FormMouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button=l Then PopupMenu MenuO End IfEnd Sub则以下叙述中错误的是。A)该过程的作用是弹出一个菜单B)单击鼠标右键时弹出菜单C) MenuO是在菜单编辑器中定义的弹出菜单的名称 D)参数X、丫指明鼠标当前位置的坐标(33)
16、窗体上有1个名称为CD1的通用对话框,1个名称为Command 1的命令按钮。命令按钮的单击事件过程如下:Private Sub CommandI ClickO CDl.FileName=”CDl.Filter=*AllFiles |*.*(*. DoC) I*. Doc |(*. Txt)|*. txt”CD1. Filterlndex=2CD1. ActionalEnd Sub关于以上代码,错误的叙述是。A)执行以上事件过程,通用对话框被设置为“打开”文件对话框B)通用对话框的初始路径为当前路径0通用对话框的默认文件类型为*.TxtD)以上代码不对文件执行读写操作(34)以下叙述中错误的是
17、。A)用Shell函数可以执行扩展名为.exe的应用程序 B)若用Static定义通用过程,则该过程中的局部变量都被默认为Static类型0 Static类型的变量可以在标准模块的声明部分定义D)全局变量必须在标准模块中用Public或Global 声明(35)以下关于文件的叙述中,错误的是。A)使用Append方式打开文件时,文件指针被定位于文件尾B)当以输入方式(Input)打开文件时,如果文件不存在,则建立一个新文件0顺序文件各记录的长度可以不同D)随机文件打开后,既可以进行读操作,也可以进行写操作二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡1】【15】序号的横线上,答在
18、试卷上不得分。(D对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为lo(2)在面向对象方法中,【2】描述的是具有相似属性与操作的一组对象。(3)在关系模型中,把数据看成是二维表,每一个二维表称为一个3L(4)程序测试分为静态分析和动态测试。其中4是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(5)数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为【5】。(6)下列语句的输出结果是6】。Print Format(Int(12345.6789*100+0.5)/100,*000
19、0,0.00*)(7)在窗体上画1个命令按钮,其名称为Commandl,然后编写如下事件过程:Private Sub Commandl_Click()Dim arr(1 To 100) As IntegerFor i=l To 100arr(i)=Int(Rnd*1000)Next iMax=arr(1)Min=arr (1)For i=l To 100If 7 ThenMax=arr(i)End IfIf 8 ThenMin=arrEnd IfNext iPrint*Max=*; Max,Min=; MinEnd Sub程序运行后,单击命令按钮,将产生100个1000以内的随机整数,放入数组
20、arr中,然后查找并输出这100个数中的最大值Max和最小值Min,请填空。(8)在窗体上画1个名称为Command 1的命令按钮和2个名称分别为TextK Text2的文本框,如图所示,然后编写如下程序:Function Fun(x As Integer, ByVai y As Integer)As Integer x=x+yIf x关系运算符逻辑运算符算术运算符的优先顺序是:-(*与/)Mod(+与一)。关系运算符的优先顺序是:=(或()(=)(IsLike逻辑运算符的优先顺序是:非(Not)与(And)盘(Or)异或(Xor)等价(Epv)蕴涵(Imp)o根据运算符的优先级计算本题中的表
21、达式最后结果为Oo(17)【答案】B)【解析】在Visual Basic中,变量名只能由字母、数字和下划线组成,而且第一个字符必须是英文字母,而最后一个字符可以是类型说明符。由此得知counstA可以作为变量名。(18)【答案】A)【解析】Print方法没有赋值功能,因此A选项不能在窗体上显示“A=10”,该选项的结果为False。(19)【答案】A)【解析】在默认情况下,InputBox函数的返回值是一个字符串,如果没有事先声明返回值变量的类型,则把该函数的返回值赋给这个变量时,Visual Basic总是把它作为字符串来处理。因此x的值是字符串10。(20)【答案】A)【解析】该题考查的内
22、容为多分支控制结构。在多分支控制结构中,先对测试表达式进行求值,然后测试该值与哪个Case子句中的表达式表列相匹配,如果找到,则执行与该Case子句有关的语句,下面的子句不再执行,直接把控制转移到End Select后面的语句。(21)【答案】B)【解析】该题考查的是For EachNext语句。该语句可用于对数组元素进行处理,重复执行的次数由数组中元素的个数确定的,因此For Each arrltem In a是没有语法错误的,相反,For EachNext语句比ForNext语句更方便,因为它不用指明循环结束的条件。(22)【答案】C)【解析】经赋值后数组a的元素为(2,3,4,4,6,8
23、,6,9,12),而第三个For循环语句的作用是求次对角线上三个元素的和,即 Sum=a(1,3)+a(2,2)+a(3,1)=4+6+6=16。(23)【答案】D)【解析】由if语句知:当j为1或者3时,a减1,而j 为1、2、3和4的时候a均加1,因此,实际上经过For j=l To 4后,a增加了2,而程序的最外部循环了两次,因此结果应该为a=4o(24)【答案】A)【解析】该程序实际上是通过检验单选按钮数组的索引来确定相应的运算,当Index=l表示选定的是单选按钮1,当Index=2表示选定的是单选按钮2,当Index=3表示选定的是单选按钮3。(25)【答案】D)【解析iFunct
24、ion过程中的x与事件过程Commandl_Click 中的x使用的是同一地址,因此在Function过程中执行 x=x+3这一语句时,事件过程Conunandl_Click中的x也同时执行该语句,因此Print函数的内容是 a(f(2)+2+3)=a(10),因而输出应该为18。(26)【答案】B)【解析】函数过程要返回一个值,而且只能返回一个值。(27)【答案】D)【解析】Visual Basic通过关键字ByVai来实现传值。这时候,Visual Basic为形参分配内存,并将相应的实参值复制给形参。对于3其参数分别为x=36,y=24,这里的x、y与事件过程中的x、y使用的不是同一个地
25、址。 f的返回值为12,因此Text3中的内容是12。(28)【答案】C)【解析】该题考查内容为控件参数。在一个通用过程中设置相同性质控件所需要的属性,然后用不同的控件调用此过程。(29)【答案】C)【解析】KeyDown和KeyUp都有两个参数,即KeyCode和 Shift, KeyCode是按键的实际ASCII码,Shift是转换键。 Chr函数为求ASCII字符,而ASC(C)=ASC(A)+2。因此输出结果应该为A与C。(30)【答案】A)【解析】Columns属性为返回一个值,决定列表框是在一列中垂直滚动(这时值为0)还是多个列中水平滚动(这时值大于0)。(31)【答案】B)【解析
26、】由于窗体MouseUp事件将Flag置为True,因此 Print f (intNum)能够执行。Function过程的形参为5,可以得到该过程的返回值为5,因此程序的输出结果是5.(32)【答案】B)【解析】鼠标键Buttons时,表示当前按下的是左键,该事件过程的作用是单击鼠标左键的时候弹出一个菜单。(33)【答案】C)【解析】Filterindex属性用于指定默认的过滤器。在用 Filter属性设置多个过滤器后,每个过滤器都有一个值,第一个为1,第二个为2,依次类推,当前的 Filterlndex=2,因此默认的文件类型为*. doc。(34)【答案】C)【解析】Static类型变量的
27、作用域是它所在的过程,通常用来存放中间结果或用作临时变量,因此,一般在过程中声明定义该类型的变量。(35)【答案】B)【解析】使用Open语句打开文件时,如果为“输入”打开的文件不存在,则产生“文件未找到”错误,如果为“输出”,附加或随机访问方式打开的文件不存在,则建立相应的文件。二、填空题(1)【答案】【1】45【解析】对长度n为10的线性表进行冒泡排序,最坏情况下需要比较的次数为n(n-l)/2-5X9=45=(2)【答案】【2】类【解析】在面向对象方法中,类(Class)描述的是具有相似属性与操作的一组对象,而一个具体对象则是其对应类的一个实例(Instance)。(3)【答案】【3】关
28、系【解析】在关系模型中,把数据看成是二维表,每一个二维表称为一个关系。(4)【答案】【4】静态分析(静态测试)【解析】原则上讲,可以将软件测试方法分为两大类,即静态测试和动态测试。静态测试无须执行被测代码,而是借助专用的软件测试工具评审软件文档或程序,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率。动态测试,是使被测代码在相对真实环境下运行,从多角度观察程序运行时能体现的功能、逻辑、行为、结构等的行为,以发现其中的错误现象。程序测试分为静态测试和动态测试。静态测试般是指人工评审软件文档或程序,借以发现其中的错误。由于被评审的文档或程序不必运行,所
29、以称为静态测试。(5)【答案】【5】物理独立性【解析】当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为物理独立性。当数据库总体逻辑结构改变,不需要修改应用程序,这是数据的逻辑独立性。(6)【答案】612,345.68【解析】该题考查数值格式化输出。格式字符串“0000,0.00”要求数值按照整数五位、小数点后两位(多余的位用0补齐),并且带有千位分隔符。(7)7 Maxarr(i)【解析】如果数组中某元素的值大于此前的最大值,则将该元素定义为最大值,同样,如果数组中某元素的值小于此前的最小值,则将该元素定义为最小值。这样可以查找到数组中的最大值和最小值。(
30、8)【答案】9-5105【解析】该题考查传值参数和传址参数的区别。Visual Basic通过关犍字ByVai来实现对b进行传值,而对于a 则是通过引用来传地址,因此a与Function过程里的x 是同一地址。第一次调用Function过程时,过程返回值为-5,同时x=-5,即a=-5,因此第二次调用过程时,过程的返回值为5。(9)【答案】11 ABCD【解析】该题中出现了3个内部函数:UCase、Left和Chr,其功能分别是转换为大写字母、取左边的字符和求取 ASCII字符。代码的功能是将字符串转换成大写字母形式后取最左边的4个字符,并将字符输出。(10)【答案】12 DialogTitl
31、e【解析】DialogTitle属性用来设置对话框的标题。如果不设置该属性,则默认“打开”对话框的标题是“打开”,“保存”对话框的标题是“保存”。13KeyAscii144ENDW 15Textl. text 【解析】KeyPress事件的参数KeyAscii用来识别按键的 ASCII码。对于第14空,如果要结束程序,则要向文本框中输入2006年9月计算机二级VB笔试试题一、选择题(1)下列选项中不符合良好程序设计风格的是()。A.源程序要文档化B.数据说明的次序要规范化C.避免滥用goto语句D.模块设计要保证高耦合、高内聚(2)从工程管理角度,软件设计一般分为两步完成,它们是()。A.概要
32、设计与详细设计B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计(3)下列选项中不属于软件生命周期开发阶段任务的是()。A.软件测试 B.概要设计C.软件维护D.详细设计(4)在数据库系统中,用户所见的数据模式为()。A.概念模式 B.外模式C.内模式 D.物理模式(5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和()。A.编码设计B.测试阶段C.运行阶段D.物理设计(6)设有如下三个关系表:下列操作中正确的是().(7)下列叙述中正确的是()。A.个算法的空间复杂度大,则其空间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度
33、大,则其空间复杂度必定小D.上述三种说法都不对(8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为()oA.63 B.64 C.6 D.7(9)数据库技术的根本目标是要解决数据的()A.存储问题B.共享问题C.安全问题D.保护问题(10)对下列二叉树:进行中序遍历的结果是()oA. ACBDFEGB. ACBDFGEC. ABDCGEFD. FCADBEG(11)以下叙述中正确的是()。A.窗体的Name属性指定窗体的名称,用来标识一个窗体B.窗体的Name属性值是显示在窗体标题栏中文本C.可以在运行期间改变窗体的Name属性的值D.窗体的Name属性值可以为空(12)以下叙述中错误的是()。A.打开一个工程文件时,系统自动装入与该工程有关的窗体文件B.保存Visual Basic程序时,应分别保存窗体文件及工程文件C. Visual Basic应用程序只能以解