1、2010年 9月国家二级( VisualBasic)笔试真题试卷及答案与解析 1 下列叙述中中正确的是 ( )。 ( A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 ( B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 ( C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 ( D)上述三种说法都不对 2 下列叙述中正确的是 ( )。 ( A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 ( B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动 态变化 ( C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 ( D)上述三种说法都不
2、对 3 软件测试的目的是 ( )。 ( A)评估软件可靠性 ( B)发现并改正程序中的错误 ( C)改正程序中的错误 ( D)发现程序中的错误 4 下面描述中,不属于软件危机表现的是 ( )。 ( A)软件过程不规范 ( B)软件开发生产率低 ( C)软件质量难以控制 ( D)软件成本不断提高 5 软件生命周期是指 ( )。 ( A)软件产品从提出、实现、使用维护到停止使用退役的过程 ( B)软件从需求分析、设计、实现到测试完成的过程 ( C)软件的开发过程 ( D)软件的运行维护过程 6 面向对象方法中,继承是指 ( )。 ( A)一组对象所具有的相似性质 ( B)一个对象具有另一个对象的性
3、质 ( C)各对象之间的共同性质 ( D)类之间共享属性和操作的机制 7 层次型、网状型和关系型数据库划分原则是 ( )。 ( A)记录长度 ( B)文件的大小 ( C)联系的复杂程度 ( D)数据之间的联系方式 8 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实 体工作人员与实体计算机之间的联系是 ( )。 ( A)一对一 ( B)一对多 ( C)多对多 ( D)多对一 9 数据库设计中反映用户对数据要求的模式是 ( )。 ( A)内模式 ( B)概念模式 ( C)外模式 ( D)设计模式 10 有三个关系 R、 S和 T如下: 则由关系 R和 S得到关系 T的操作是 (
4、)。 ( A)自然连接 ( B)交 ( C)投影 ( D)并 11 在 Visual Basic集成环境中,要添加一个窗体,可以单击工具栏上的一个按钮,这个按钮是 ( )。 12 在 Visual Basic集成环境的设计模式下,用鼠标双击窗体上的某个控件打开的窗口是 ( )。 ( A)工程资源管理器窗口 ( B)属性窗口 ( C)工具箱窗口 ( D)代码窗口 13 下列叙述中错误的是 ( )。 ( A)列表框和组合框都有 List属性 ( B)列表框有 Selected属性,而组合框没有 ( C)列表框和组合框都有 Style属性 ( D)组合框有 Text属性,而列表框没有 14 设窗体上
5、有一个命令按钮数组,能够区分数组中各个按钮的属性是 ( )。 ( A) Name ( B) Index ( C) Caption ( D) Left 15 滚动条可以响应的事件是 ( )。 ( A) Load ( B) Scroll ( C) Click ( D) MouseDown 16 设 a=5, b=6, c=7, d=8,执行语句 x=IIf(ab)And(cd), 10,20)后, x的值是( )。 ( A) 10 ( B) 20 ( C) 30 ( D) 200 17 语句 Print Sgn(-62)+Abs(-62)+Int(-62)的输出结果是 ( )。 ( A) 36 (
6、 B) 1 ( C) -1 ( D) -72 18 在窗体上画一个图片框,再在图片框中画一个命令按钮,位置如图所示,则命令按钮的 Top属性值是 ( )。 ( A) 200 ( B) 300 ( C) 500 ( D) 700 19 在窗体上画一个名称为 Commandl的命令按钮。单击命令按钮时执行如下事件过程: Private Sub Commandl_Click() a$=”software and hardware” b$=Right(a$, 8) c$=Mid(a$, 1, 8) MsgBox a$, bs, cS, 1 End sub 则在弹出的信息框标题栏中显示的标题是 ( )。
7、 ( A) software and hardware ( B) hardware ( C) software ( D) 1 20 在窗体上画一个文本框 (名称为 Text1)和一个标签 (名称为 Label1),程序运行后如果在文本框中输入文本,则标签中立即显示相同的内容。以下可以实现上述操作的事件过程是 ( )。 ( A) Private Sub Text1_Change() Label1 Caption=Text1 Text End Sub ( B) Private Sub Label 1_Change() Label1 Caption=Text1 Text End Sub ( C) P
8、rivate Sub Text1_Click() Label1 Caption=Text1 text End Sub ( D) Private Sub Label1_Click( ) Label1 Caption=Text1 Text End sot 21 以下说法中错误的是 ( )。 ( A)如果把一个命令按钮的 Default属性设置为 True,则按回车健与单击该命令按钮的作用相同 ( B)可以用多个命令按钮组成命令按钮数组 ( C)命令按钮只能识别单击 (Click)事件 ( D)通过设置命令按钮的 Enabled属性,可以使该命令按钮有效或禁用 22 以下关于局部变量的叙述中错误的是
9、 ( )。 ( A)在过程中用 Dim语句或 Static语句声明的变量是局部变量 ( B)局部变量的作用域是它所在的过程 ( C)在过程中用 Static语句声明的变量是静态局部变量 ( D)过程执 行完毕,该过程中用 Dim或 Static语句声明的变量即被释放 23 以下程序段的输出结果是 ( )。 x=1 y=4 Do Until y4 x=x*y y=y+1 Loop Print x ( A) 1 ( B) 4 ( C) 8 ( D) 20 24 如果执行一个语句后弹出如图所示的窗口,则这个语句是 ( )。( A) InputBox(”输入框 ”, ”请输入 VB数据 ”) ( B)
10、 x=InputBox(”输入框 ”, ”请输入 VB数据 ”) ( C) InputBox(”请输入 VB数据 ”, ”输 入框 ”) ( D) x=InputBox(”请输入 VB数据 ”, ”输入框 ”) 25 有如下事件过程: Private Sub Form Click() Dim n As Integer x=0 n=InputBox(”请输入一个整数 ”) For i=1 To i For j=1 To i x=x+1 Next j Next 1 Print x End sub 程序运行后,单击窗体,如果在输入对话框中输入 5,则在窗体上显示的内容是( )。 ( A) 13 (
11、B) 14 ( C) 15 ( D) 16 26 请阅读程序: Sub subP(b()As Integer) For i=1 To 4 b(i)=2*i Next i End Sub Private Sub Command 1_Click() Dim a(1 To 4)As Integer a(1)=5: a(2)=6: a(3)=7: a(4)=8 subP a() For i=1 To 4 Print a(i) Next i End Sub 运行上面的程序,单击命令按钮,则输出结果是 ( )。 ( A) 2 4 6 8 ( B) 5 6 7 8 ( C) 10 12 14 16 ( D)
12、出错 27 Fibonacci数列的规律是:前 2个数为 1,从第 3个数开始,每个数是它前 2个数之和,即 1, 1, 2, 3, 5, 8, 13, 2l, 34, 55, 89, 某人编写了下面的函数,判断大于 1的整数 X是否是 Fibonacci数列中的某个数,若是,则返回 True,否则返回 False。 Function Isfab(x As Integer)As Boolean Dim a As Integer,b As Integer,c As Integer,flag As Boolean flag=False a=1: b=1 Do While Xb ( D)把 If x
13、=b Then flag=True改为 If x=a Then flag=True 28 在窗体上画一个命令按钮,其名称为 Command1,然后编写如下事件过程: Private Sub Command1_Click() Dim aS, b$, c$, k a=”ABCD” b=”123456” c=” k=1 Do While k=0 s=s+a(i)*j i=i-1 j=j*10 Loop Print s End Sub 运行上面的程序,单击命令按钮,则输出结果是 ( )。 ( A) 4321 ( B) 123 ( C) 234 ( D) 1234 31 下列可以打开随机文件的语句是 (
14、 )。 ( A) Open”filel dat”For Input As#1 ( B) Open”filel dat”For Append As#1 ( C) Open”filel dat”For Output As#1 ( D) Open”filel dat”For Randow As#1 Len=20 32 有弹出式菜单的结构如下表,程序运行时,单击窗体则弹出如下图所示的菜单。下面的事件过程中能正确实现这一功能的是 ( )。( A) Private Sub Form_Click() PopupMenu cut End Sub ( B) Private Sub Command1_Click(
15、) PopupMenu edit End Sub ( C) Private Sub Form_Click() PopupMenu edit End Sub ( D) Private Sub Form_Click() PopupMenu cut End Sub 33 请阅读程序: Option Base 1 Pfivate Sub Form_Click() Dim Arr(4, 4)As Integer For i=1 To 4 For j=1 To 4 Arr(i,j)=(i-1)*2+j Next j Next i For i=3 To 4 For j=3 To 4 Print Arr(j,
16、 i); Next j Print Next i End Sub 程序运行后,单击窗体,则输出结果是 ( )。 ( A) 5 7 6 8 ( B) 6 8 7 9 ( C) 7 9 8 10 ( D) 8 10 8 11 34 下面函数的功能应该是:删除字符串 str中所有与变量 ch相同的字符,并返回删除后的结果,例如:若 str=”ABCDABCD”, ch=”B”,则函数的返回值为: ”ACDACD” Function delchar(str As String, ch As String)As String Dim kAs Integer,temp As String, ret As
17、String ret=” For k=1 To Len(str) temp=Mid(str,k, 1) If temp=ch Then ret=ret&temp End If Next k delchar=ret End Function 但实际上函数有错误,需要修改,下面的修改方案中正确的是 ( )。 ( A) 把 ret=ret&temp改为 ret=temp ( B)把 If temp=ch Then改为 Iftempb)And(cd), 10, 20)。有三个参数第一个参数为布尔型,如果 第一个参数为真,就返回第二个参数的值,若为假则返还第二个参数的值,所以选 B。 17 【正确答案】
18、 C 【试题解析】 sgn(x)是符号函数,此函数的值有三个,当 x0时, sgn(x)=1;当x=0时, sgn(x)=0;当 x4,所以关系表达式的结果为假,执行循环体中的语句,直到 x=4, y=5。然后再次进入循环判断因为 y=5,所以循环判断表达式结果为真,不执行循环体,循环结束。 Print x打印 x中的值。故选 B。 24 【正确答案】 D 【试题解析】 InputBox函数在一对话框中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的 String。 InputBox语法如下 InputBox(prompt ,title, default, xpos, ypos,
19、helpfile, context),其中 Prompt必需的,其余可选,参数 Prompt作为对话框消息出现的字符串表达式。 prompt的最大长度大约是 1024个字符。 Title可选,显示对话框标题栏中的字符串表达式。所以选 D。 25 【正确答案】 C 【试题解析】 本题考查嵌套 for循环语句,因为 n=5,所以外层循环执行 5次,内层循环为 1到 i次,所以循环体 x=x+1共执行 1+2+3+4+5=15次,故答案为 C。 26 【正确答案】 A 【试题解析】 本题考查数组为参数在函数间的传递。本题中,当用户点击控件Command1时,控件的 Command1 Click()事
20、件过程被触发,在此过程中首先定义了一个包含 4个元素的数组 a,并赋值。然后将数组 a为参数传递给过程 subP,在过程 subP中执行 for循环分别给 a中的 4个元素赋值为 2、 4、 6、 8。函数执行结束返回过程 Command1 Click(),利用 for循环打印输出 a数组中的值,所以选A。 27 【正确答案】 C 【试题解析】 本题中程序思路是利用 for循环求得斐波那契数列,然后和 x比对,若 x是斐波那契数列中的值,则返回布尔值 True,若不是则返回 false。题目源程序中循环条件是 xb,又因为 a、 b初始值都是 1,而 x是正整数,所以不论 x取何值,循环都不会
21、执行。 28 【正确答案】 D 【试题解析】 Mid函数用于提取字符串中的指定位数,函数调用 格式为Mid(string, start, length),其中 start为必要参数。为 Long型,为被取出部分的首字符的位置。如果 start超过 string的字符数, Mid返回空串。 length可选参数为返回的字符数,如果省略或 length超过文本的字符数,将返回字符串中从start到尾端的所有字符。 Len函数的作用是返回串的长度。本题中 a串长 4, b串长 6,每次循环将 a、 b的第 k个字符取出连在一起给串 c, k从 1开始,当 k=5时,将 b中 k位置的字符依次插入串
22、c中。 29 【正确答案】 A 【试题解 析】 本题是利用循环语句输出,每次循环在一行中输出 i个星号,变量m是行号, j是星号个数,无参数的 print语句让程序在新的一行输出。 30 【正确答案】 D 【试题解析】 此程序的作用是将数组 a中 a(0)、 a(1)、 a(2)、 a(3)作为千位、百位、十位、个位组成一个新数, i是数组的下标,作用是依次取 a(3)、 a(2)、 a(1)、a(0), s=s+a(i)*j的作用是将取到的数依次放到个位、百位、十位、千位,这是因为 j四次循环的取值分别为 1、 10、 100、 1000。所以 s四次循环的取值为 4、4+30、 34+20
23、0、 324、 324+10000。 31 【正确答案】 D 【试题解析】 本题主要考查随机文件与顺序文件的特点与区别,及文件操作的特点。 Visual Basic中有 3种文件访问的类型:顺序文件、随机文件、二进制文件。随机文件又称直接存取文件,简称随机文件或直接文件。随机文件的每个记录都有一个记录号,在写入数据时只要指定记录号,就可以把数据直接存入指定位置。而在读取数据时,只要给出记录号,就可直接读取。在记录文件中,可以同时进行读、写操作,所以能快速地查找和修改每个记录,不必为修改某个记 录而像顺序文件那样,对整个文件进行读、写操作。其优点是数据存取较为灵活,方便,速度快,容易修改,主要缺
24、点是占空间较大,数据组织复杂。顺序文件:顺序文件将文件中的记录一个接一个地按顺序存放。二进制访问能提供对文件的完全控制,因为文件中的字节可以代表任何东西,当要使文件的尺寸尽量小时,应使用二进制访问。在文件处理过程中,执行完 Open操作后,程序将生成一个文件指针,程序可以调用 LOF函数来获得返回给文件分配的字节数。在随机文件中,每个记录的长度是固定的,记录中的每个字段的长度也是固定的。因为是操作随机文件,所以 选 D。 32 【正确答案】 C 【试题解析】 PopupMenu方法用来显示弹出式菜单,其格式为: 对象 。PopupMenu菜单名 , Flags , X, Y, BoldComm
25、and。根据题意,为了显示菜单,所以要把 PopupMenu方法放到 Form Click事件中,菜单名为 edit,所以选 c。 33 【正确答案】 C 【试题解析】 本题利用嵌套 for循环给数组 Arr赋值。结果是 Arr(3, 3)=7,Arr(3, 4)=8, Arr(4, 3)=9, Arr(4, 4)=10,其他与后 面程序无关。然后再次利用嵌套循环输出,输出顺序为 Arr(3, 3), Arr(4, 3), print, Arr(3, 4), Arr(4,4),所以结果为 C。 34 【正确答案】 B 【试题解析】 Mid函数用于提取字符串中的指定位数。 Len函数的作用是返回
26、串的长度。本题中, Fork=1 To Len(str),语句的作用是每次循环提取 str串中的一个字符,语句 temp=Mid(str,k, 1)的作用是将提取的字符存入字符变量 temp中,然后将 temp和用户欲删除的字符做比对,若不同,则将此字符插入的字符串 ret的末尾。循环结束 ret中保存的就是不包含用户欲删除字符的字符串,也就是题目要求的字符串了。所以选 B。 35 【正确答案】 A 【试题解析】 KeyPreview属性被设置为 True,则一个窗体先于该窗体上的控件接收到此事件。 Form Load事件是窗体载入事件,常用于窗体的初始化, Text1和Text2的属性 En
27、abled设置成 false,禁止向文本框里输入。本题中Form_KeyDown, Form_KeyPress事件的作用是将用户按下的按键值分别传给字符串 s1、 s2,然后通过命令按钮输出。 36 【正确答案】 1DCBA2345 【试题解析】 栈是限制仅在表的一端进行插入和删除的运算的线性表,通常称插入、删除的这一端为栈顶,另一端称为栈底。 37 【正确答案】 1 【试题解析】 题干未说明线性表的元素是否已排序,若元素已降序排列,则用顺序查找法最少只需要找 1次。 38 【正确答案】 25 【试题解析】 在任意一棵二叉树中,度数为 0的结点 (即叶子结点 )总比度为 2的结点多一个,因此该
28、二叉树中叶子结点为 7+1=8, 8+17=25。 39 【正确答案】 结构化 【试题解析】 结构化程序可以分为三种基本结构, 即顺序结构、分支结构、循环结构。 40 【正确答案】 物理设计 【试题解析】 数据库设计的四个阶段包括:需求分析、概念设计、逻辑设计和物理设计四个阶段。 41 【正确答案】 fun 276 【试题解析】 因为 fun是个求值函数,故通过函数名返回值,所以第一空填fun。本题中 fun函数的参数 n是按地址传送的 (即此值不会在函数结束后被销毁 ),所以语句 Str(fun(x)+fun(x)+fun(x),据题意可知第一个 fun(x)结果为 4, 第二个 fun(x
29、)结果为 16,第三次 fun(x)结果为 256,所以第二空填 276。 42 【正确答案】 Cdl FileName Visible 【试题解析】 语句 Open Cd1 FileName For Input As1的作用是读取文件的内容,而 Cd1 FileName属性就是打开文件操作时用户选中的 in txt文件的名字(包含文件的绝对路径 ),所以第一空填 Cd1 FileName。由于菜单 FName的visible属性是 false,为了要将其显示,第二空须填 Visible。 43 【正确答案】 Array l city(i) 【试题解析】 根据题意欲创建名为 city的数组所以
30、第一空填 Array,然后利用for循环遍历数组 city的元素,由 OptionBase 1语句知数组的下界限定为 1,所以第二空填 1, Combo1 Addltemcity(i)的作用是将数组中的第 i项的字符串添加到Combol中构成组合框中下拉列表的第 i项。所以第三空填 city(i)。 44 【正确答案】 len p(i) gName picFile 【试题解析】 Open语句格式 Open filename For Random as#filenumber Len=Reclength。 (1)参数 filename和 filenumber分别表示文件名或文件号。 (2)关键字
31、Random表示打开的是随机文件。 (3)Len子句用于设置记录长度,长度由参数 Reclength指定, Reclength的值必须大于 0,而且必须与定义的记录结构的长度一致。本题中 len(pRec)是求 pic结构类型的长度,也就是设置欲读取的结构类型的长度。所以第一空填 Len。 RTtim(List1 List(i)=RTrim(),此判定表达式的作用是判定列表框中的列表项的值和物品名是否相同,函数 trim是去字符串中的空格,是干扰项对本题没什么影响,所以第二空填 p(i) gName。语句 Picture 1 Picture=LoadPicture(p(i) picFile)的作用是装载指定的图片, loadPicture函数的参数是所要载入图片的图片名,所以第三空填 picFile。