1、国家计算机二级(VB)85 及答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:35,分数:70.00)1.下列程序的运行结果为( )。 Dim a(-1 To 6) For i=LBound(a,1)To UBound(a,1) a(i) = i Next i Print a (LBound(a,1);a(UBound(a,1) (分数:2.00)A.0 0B.-5 0C.-1 6D.0 62.在属性窗口中设置何属性,可以把指定的图形放入当前对象中? (分数:2.00)A.Current YB.PictureC.Current xD
2、.Stretch3.以下为 Visual Basic学习版的控件的是( )。(分数:2.00)A.数据绑定控件B.ActiveX控件C.自动化管理器D.报表控件4.有如下事件过程: Private Sub Form_KeyDown(KeyCode As Integer,Shift As Integer) If(Button And 3)=3 Then Print“OK“ End If End Sub 程序运行后,为了在窗体上输出“OK”,应当按下的鼠标键是 ( )。 (分数:2.00)A.interfaceB.staticC.finalD.abstract5.下列可以启动 Visual Bas
3、ic的方法是( )。(分数:2.00)A.打开“我的电脑”,找到存放 Visual Basic所在系统文件的硬盘及文件夹,双击“VB6exe”图标B.在 DOS窗口中,键入 Visual Basic的路径,执行 Visual Basic可执行文件C.利用“开始”莱单中的“程序”命令可启动 Visual BasicD.A)和 C)6.下面 Change事件过程中,文本框控件 Text1用来接收数字字符的输入,该事件过程的作用是( )。 Private Sub Text1_Change ( ) Text2Text=Str(628* Val(Text1Text) End Sub (分数:2.00)A
4、.将在文本框 Text1输入的数字变为数值B.将在文本框 Text1输入的数字作为半径,求圆的周长并转换为字符串C.只要 Text1中的内容一改变,Text2 中显示的圆周长也随之改变D.事件过程中的 Val函数和 Str函数使用错误,事件过程不能执行7.对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是_。 (分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/28.下列程序段,在运行时最后输出的内容是( )。 a=2 c=3 AAA: c=c * a If c10 Then Print c GoTo AAA El
5、se Print“10 以内的奇数显示完毕” End If (分数:2.00)A.5,2,3B.-5,-12,-7C.-5,-12,-17D.5,-2,-79.设窗体上有一个文本框,名称为 Text1,程序运行后,要求该文本框只能显示信息,不能接收输入的信息,以下能实现该操作的语句是( )。 (分数:2.00)A.Text1Maxength=0B.Text1Enabled=FalseC.Text1Visible=FalseD.Text1Width=010.设有声明语句 Dim b(-1 To 10,2 To 9,20)As Integer 则数组 b中全部元素的个数是( )。 (分数:2.00
6、)A.“设计”视图B.“打印预览”视图C.“报表预览”视图D.“版面预览”视图11.执行下面的程序段后,变量 c的值为( )。 a=14 b=30 Slect Case b/10 Case 0 C=a * 10 + b Case 1 To 9 C=a * 100+b Case 10 To 99 C=a * 1000 + b End Select print c (分数:2.00)A.363B.2548C.1430D.987512.关于货币型数据的说明,正确的是( )。(分数:2.00)A.货币型数据有时可以表示成整型数据B.货币型数据与浮点型数据完全一样C.货币型数据是由数字和小数点组成的字符
7、串D.货币型数据是小数点位置固定的实型数13.以下关于过程及过程参数的描述中,错误的是(分数:2.00)A.调用过程时可以用控件名称作为实际参数B.用数组作为过程的参数时,使用的是“传地址”方式C.只有函数过程能够将过程中处理的信息传回到调用的程序中D.窗体(Form)可以作为过程的参数14.在窗体上画一个名称为 Command1的命令按钮,并编写如下程序: Private Sub Command1_Click( ) Dim x As Integer Static y As Integer x=10 y=5 Call f1(x,y) Print x,y End Sub Private Sub
8、f1(ByRef x1 As Integer,y1 As Integer) x1=x1+2 y1=y1+2 End Sub 程序运行后,单击命令按钮,在窗体上显示的内容是( )。 (分数:2.00)A.10 5B.12 5C.10 7D.12 715.一个工程中含有窗体 Form1、Form2 和标准模块 Model1,如果在 Form1中有语句 Pubilc X As Integer,在 Model1中有语句 Pubilc Y As Integer,则以下叙述中正确的是( )。 (分数:2.00)A.变量 X、Y 的作用域相同B.Y的作用域是 Model1C.在 Form1中可以直接使用 X
9、D.在 Form2中可以直接使用 X和 Y16.在程序运行期间可以将图形装入窗体、图片框或图像框的函数是( )。(分数:2.00)A.DrawStyleB.AutoSizeC.PasswordCharD.LoadPicture17.下列描述中正确的是_。 (分数:2.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合18.在属性窗口中,加载指定的图形放入当前对象中的属性是( )。(分数:2.00)A.CurrentYB.PictureC.CurrentXD.Caption19.有如下程序: Private Sub For
10、m_Click() Dim Check, Counter Check = True Counter = 0 Do Do While Counter 0 Then -|_|- Else -|_|- End If Next k Print pos,neg End Sub 以上程序的功能是,计算并输出数组 Arr中 10个数的正数之和 pos与负数之和neg,请填空。 (分数:3.00)_40.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可 以不变,因此,基于逻辑结构的应用程序不必修改,称为 -|_|-。(分数:3.00)_41.已知 B的 ASCII码为 66,以下程序
11、统计由键盘输入的字符串中各英文字母的使用次数 Dim -|_|- For i=65 To 90 pp(i) =0 Next x$=InputBox(“Enter a string“,x$) x$=UCase$(x$) For i=1 To -|_|- n=Asc(Mid$(x$,i,1) If n =65 And n =90 Then -|_|- End If Next i For i=65 To 90 If pp(i) 0 Then Print Chr$(i);pp(i) End If Next (分数:3.00)_42.在 KeyPress事件过程中,KeyAscii 是所按键的 -|_|
12、-值。(分数:3.00)_43.在窗体上先画一个名为 Text1的文本框和一个名为 Table1的标签,再画一个名为 OP1的四个单选按钮的单选按钮数组,其 Index属性按季度顺序为 1-3(见图 1),文件 sales.txt中按月份顺序存有某企业某年 12月份的销售额。要求在执行程序时,鼠标单击一个单选按钮,则 Text1中显示相应季度的销售总额,并把相应的文字显示在标签上。图 2是单击第三季度显示的结果 (分数:3.00)_44.在窗体上有一个过程函数,然后编写如下事件程序,该过程的功能是用选择交换法将 10个数排成升序,请在空白处填入适当的语句。 Sub SORT( ) Dim a(
13、1 To 10) For i=1 To 10 a(i)=Val(InputBox(“ “ ,“ “,0) Next i For i= -|_|- k=i For j= -|_|- If a(k)a(j)Then -|_|- If k i Then ba(k) a(k)a(i) a(i) =b End If Next j Next i For k=1 To 10 Print a(k) Next k End Sub (分数:3.00)_45.下列程序的功能是:当 x100时,没有意义。请填空。 Private Sub Command1_Click() Dim x As Single x=Input
14、Box(“请输入 x的值!“) -|_|- Case Is_国家计算机二级(VB)85 答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:35,分数:70.00)1.下列程序的运行结果为( )。 Dim a(-1 To 6) For i=LBound(a,1)To UBound(a,1) a(i) = i Next i Print a (LBound(a,1);a(UBound(a,1) (分数:2.00)A.0 0B.-5 0C.-1 6 D.0 6解析:取数值的下界函数 LBound()功能是返回数值名指定的数组的指定维数 的下界
15、值,取数组的上界函数 UBound()的功能是返回数组名指定的数组的指定维度的 上界值。因为程序中定义了一个数组 a(-1,6),所以上界是 6,下界是-1。 2.在属性窗口中设置何属性,可以把指定的图形放入当前对象中? (分数:2.00)A.Current YB.Picture C.Current xD.Stretch解析:打开对象的属性列表,从中选择 Picture属性栏,单击后面的“”,将弹出“加载图片”对话框,用户选择相应的路径和文件名,图形就显示在当前对象中了,可见选项 B) 是正确的;而 Current Y和Current X用来设置光标当前位置;Stretch 决定图像是否可以伸
16、缩。3.以下为 Visual Basic学习版的控件的是( )。(分数:2.00)A.数据绑定控件 B.ActiveX控件C.自动化管理器D.报表控件解析:Visual Basic 学习版中包括内部控件、网格控件、数据绑定控件和 Tab 对象,所以数据绑定控件是 Visual Basic学习版中的控件;报表控件为专业版中的控件;而自动化管理器是企业版的控制系统。4.有如下事件过程: Private Sub Form_KeyDown(KeyCode As Integer,Shift As Integer) If(Button And 3)=3 Then Print“OK“ End If End
17、Sub 程序运行后,为了在窗体上输出“OK”,应当按下的鼠标键是 ( )。 (分数:2.00)A.interfaceB.staticC.finalD.abstract 解析:Applet 作为 Java的个重要组成部分,有着与应用程序不同的执行过程。下图是入门程序 hello在浏览器中的运行过程。*5.下列可以启动 Visual Basic的方法是( )。(分数:2.00)A.打开“我的电脑”,找到存放 Visual Basic所在系统文件的硬盘及文件夹,双击“VB6exe”图标B.在 DOS窗口中,键入 Visual Basic的路径,执行 Visual Basic可执行文件C.利用“开始”
18、莱单中的“程序”命令可启动 Visual BasicD.A)和 C) 解析:启动 Visual Basic有 4种方式:打开“我的电脑”,找到存放 Visual Basic所在的系统文件的硬盘及文件夹,双击“VB6exe”图标,即可进入 Visual Basic编程环境;所以选项 A)是正确的;利用“开始”菜单 中的“程序”命令方式进入;所以选项 C)也是正确的;使用“开始”菜单中的“运行”命令,在“打开”栏中键入 VB6exe 的存放路径,单击 “确定”按钮即可;把 VB6exe 文件直接拖到桌面可建立启动 Visual Basic的快捷方式,双击该执行文件即可。6.下面 Change事件过
19、程中,文本框控件 Text1用来接收数字字符的输入,该事件过程的作用是( )。 Private Sub Text1_Change ( ) Text2Text=Str(628* Val(Text1Text) End Sub (分数:2.00)A.将在文本框 Text1输入的数字变为数值B.将在文本框 Text1输入的数字作为半径,求圆的周长并转换为字符串C.只要 Text1中的内容一改变,Text2 中显示的圆周长也随之改变 D.事件过程中的 Val函数和 Str函数使用错误,事件过程不能执行解析:Chang 事件是当文本框的内容被改变时将触发该事件。文本框的 Text 属性是字符串类型,可将一
20、个字符串常量或字符串变量直接赋给 Text属性。如果 Text 属性值是由一个数字组成的字符串,要使它参与算术运算,应该用 Val函数先将它转换成数值型数据。7.对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是_。 (分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/2 解析:假设线性表的长度为 n,则在最坏情况下,冒泡排序需要经过 n/2 遍的从前往后扫描和 n/2 遍的从后 往前扫描,需要比较次数为 n(n-1)/2。快速排序法的最坏情况比较次数也是 n(n-1)/2。8.下列程序段,在运行时最后输出的内容是
21、( )。 a=2 c=3 AAA: c=c * a If c10 Then Print c GoTo AAA Else Print“10 以内的奇数显示完毕” End If (分数:2.00)A.5,2,3B.-5,-12,-7 C.-5,-12,-17D.5,-2,-7解析:第一个循环对数组 c( )进行赋值,第二个循环对数组 p( )进行赋值,第三个循环对 k进行累加,k的初值等于 5,第一次循环 k=k+p(0)*2=5,第三次循环 k=k+p(2)*2=21并输出。9.设窗体上有一个文本框,名称为 Text1,程序运行后,要求该文本框只能显示信息,不能接收输入的信息,以下能实现该操作的
22、语句是( )。 (分数:2.00)A.Text1Maxength=0B.Text1Enabled=False C.Text1Visible=FalseD.Text1Width=0解析:10.设有声明语句 Dim b(-1 To 10,2 To 9,20)As Integer 则数组 b中全部元素的个数是( )。 (分数:2.00)A.“设计”视图B.“打印预览”视图 C.“报表预览”视图D.“版面预览”视图解析:3 种报表视图分别为“设计”、“打印预览”和“版面预览”,没有“报 表预览”。“打印预览”用于查看报表的页面数据输出形态。11.执行下面的程序段后,变量 c的值为( )。 a=14 b
23、=30 Slect Case b/10 Case 0 C=a * 10 + b Case 1 To 9 C=a * 100+b Case 10 To 99 C=a * 1000 + b End Select print c (分数:2.00)A.363B.2548C.1430 D.9875解析:Select Case 结构的一般格式为: Select Case expr 【Case expr1】 【clausel) 【Case expr2】 【clause 2】 【Case else】 【clause n】 End Select 其中 expr是测试表达式,如果满足expr n,就执行这条语句
24、,然后退出。 具体过程分析:b=30,所以 b/lO=3,在 19 之间,执行语句 c = a * 100 + b,c= 14 * 100 + 30 = 1430。 12.关于货币型数据的说明,正确的是( )。(分数:2.00)A.货币型数据有时可以表示成整型数据B.货币型数据与浮点型数据完全一样C.货币型数据是由数字和小数点组成的字符串D.货币型数据是小数点位置固定的实型数 解析:货币型数据是 Visual Basic特有的一种数据结构,是专门用来表示货币数量的数据类型。货币型数据不能表示成整型数据 的形式,这是使用“货币”数据的实际需要决定的。货币型数据是数值的,经常要进行各种运算,不能是
25、字符串。货币型数据与浮点型数据都 是带有小数点的数,但货币型数据小数点后的有效数位固定为 4位。13.以下关于过程及过程参数的描述中,错误的是(分数:2.00)A.调用过程时可以用控件名称作为实际参数B.用数组作为过程的参数时,使用的是“传地址”方式C.只有函数过程能够将过程中处理的信息传回到调用的程序中 D.窗体(Form)可以作为过程的参数解析:Sub 过程可以通过参数表的参数把处理的信息传回调用过程。14.在窗体上画一个名称为 Command1的命令按钮,并编写如下程序: Private Sub Command1_Click( ) Dim x As Integer Static y As
26、 Integer x=10 y=5 Call f1(x,y) Print x,y End Sub Private Sub f1(ByRef x1 As Integer,y1 As Integer) x1=x1+2 y1=y1+2 End Sub 程序运行后,单击命令按钮,在窗体上显示的内容是( )。 (分数:2.00)A.10 5B.12 5C.10 7D.12 7 解析:15.一个工程中含有窗体 Form1、Form2 和标准模块 Model1,如果在 Form1中有语句 Pubilc X As Integer,在 Model1中有语句 Pubilc Y As Integer,则以下叙述中正
27、确的是( )。 (分数:2.00)A.变量 X、Y 的作用域相同B.Y的作用域是 Model1C.在 Form1中可以直接使用 X D.在 Form2中可以直接使用 X和 Y解析:16.在程序运行期间可以将图形装入窗体、图片框或图像框的函数是( )。(分数:2.00)A.DrawStyleB.AutoSizeC.PasswordCharD.LoadPicture 解析:LoadPicture 函数用于在程序远行期间对窗体、图片框或者 m像框的 pic-0 ture属性赋值,加载图形文件,它的格式为:.Picture=LondPicture(“文件 名”),当默认文件名时,时清空所指定对象中的图
28、形;PasswordChar 是用于决定密码的 显示方式的,不正确;Drawstyle 决定外观。 17.下列描述中正确的是_。 (分数:2.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合 解析:计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。软件具有以下特点:软件是一种逻辑实体,而不是物理实体,具有抽象性;软件的生产过程与硬件不 同,它没有明显的制作过程;软件在运行、使用期间不存在磨损、老化问题;软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致软件移植的问题
29、;软件复杂性高,成本昂贵;软 件开发涉及诸多的社会因素。18.在属性窗口中,加载指定的图形放入当前对象中的属性是( )。(分数:2.00)A.CurrentYB.Picture C.CurrentXD.Caption解析:打开对象的属性列表,从中选择 Picture属性栏,单击后面的“”,将弹 出“加载图片”对话框,用户选择相应的路径和文件名,图形就显示在当前对象中了,可见 选项 B)是正确的;而选项 A)CurrentY和选项 C)是设置当前位置的;选项 D)Caption属性 决定标题的显示信息。19.有如下程序: Private Sub Form_Click() Dim Check, C
30、ounter Check = True Counter = 0 Do Do While Counter 0 Then -|_|- Else -|_|- End If Next k Print pos,neg End Sub 以上程序的功能是,计算并输出数组 Arr中 10个数的正数之和 pos与负数之和neg,请填空。 (分数:3.00)_正确答案:(pos=pos+Art(k) , neg=neg+Arr(k)解析:根据题意,如果取出来的是正数,则加到 pos上;如果是负数,则加到 neg上。40.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可 以不变,因此,基于
31、逻辑结构的应用程序不必修改,称为 -|_|-。(分数:3.00)_正确答案:(物理独立性)解析:数据独立性包括数据的物理独立性和逻辑独立性。物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。数据在磁盘上的数据库中怎样存储是由 DBMS 管理的,用户程序不需要了 解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变时,应用程序不用改变。逻辑独 立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程 序也可以不变。41.已知 B的 ASCII码为 66,以下程序统计由键盘输入的字符串中各英文字母的使用次数 Dim -|_|- F
32、or i=65 To 90 pp(i) =0 Next x$=InputBox(“Enter a string“,x$) x$=UCase$(x$) For i=1 To -|_|- n=Asc(Mid$(x$,i,1) If n =65 And n =90 Then -|_|- End If Next i For i=65 To 90 If pp(i) 0 Then Print Chr$(i);pp(i) End If Next (分数:3.00)_正确答案:(pp(65-|-To-|-90)解析:程序中,在第一个空处定义了一个数组,从程序中反映出数组的下标的范围是 65 90,在第二个空处
33、有一个循环语句,决定了循环的次数,由于一次循环只处理一个字符,因此循环次数要与字符串的长度相等;而在第三个空处是统计相同字符出项的次数,因为相同字符的 ASCII码也不同,因此利用字符的ASCII码作为数组的下标,下标相同者统计到同一个下表变量中,这样就实现了统计功能。42.在 KeyPress事件过程中,KeyAscii 是所按键的 -|_|-值。(分数:3.00)_正确答案:(ASCII)解析:当按下键盘上的某个键时,触发 KeyPress事件过程,该事件用到的 KeyAscii作为参数,此参数是一个预定义的变量,执行 KeyPress 事件过程时,KeyAscii 是所按键的 ASCII
34、 码。 43.在窗体上先画一个名为 Text1的文本框和一个名为 Table1的标签,再画一个名为 OP1的四个单选按钮的单选按钮数组,其 Index属性按季度顺序为 1-3(见图 1),文件 sales.txt中按月份顺序存有某企业某年 12月份的销售额。要求在执行程序时,鼠标单击一个单选按钮,则 Text1中显示相应季度的销售总额,并把相应的文字显示在标签上。图 2是单击第三季度显示的结果 (分数:3.00)_正确答案:(Op1_Click-|-3-|-Caption)解析:通过题意得知,在第一处应该是单选按钮的单击事件,所以应填人的是 Op1_Click;在第二处是计算月份的总数的语句,
35、因为每个季度有 3个月,所以此处应填 3;第三处应输出所选季度的信息,故应用单选按钮的 Caption属性,故本处应填人的是 Caption。44.在窗体上有一个过程函数,然后编写如下事件程序,该过程的功能是用选择交换法将 10个数排成升序,请在空白处填入适当的语句。 Sub SORT( ) Dim a(1 To 10) For i=1 To 10 a(i)=Val(InputBox(“ “ ,“ “,0) Next i For i= -|_|- k=i For j= -|_|- If a(k)a(j)Then -|_|- If k i Then ba(k) a(k)a(i) a(i) =b
36、End If Next j Next i For k=1 To 10 Print a(k) Next k End Sub (分数:3.00)_正确答案:(1-|-To-|-9)解析:由于是 10个数所以 1从 1到 9,j 从 i到 10形成两次循环,如果是 100个的话,那就是 1从 1到99,j 从 1到 100形成两次循环;由于 a(k)a(j)所以要交换,以便排序。45.下列程序的功能是:当 x100时,没有意义。请填空。 Private Sub Command1_Click() Dim x As Single x=InputBox(“请输入 x的值!“) -|_|- Case Is_正确答案:(Select Case x)解析:阅读程序后,看到程序中有了 Case和 End Select子句,没有多分支选择结构的起始语句,很明显,第一个空应该填写多分支结构的起始语句 Select Case x。在 Select Case结构中,只有两个 Case子句,分别表示 x取值的两种情况,但题目中将 x的值分为 3种情况,可见第二个空应该填写 Case Else语句。