您现在的位置: NCRE100 -> 历年真题 -> 二级真题 -> Visual Basic

2012年9月全国计算机等级考试二级VB笔试试卷及参考答案

来源:NCRE100 作者:NCRE100 发布时间:2014-06-21 17:32:03
2012年9月全国计算机等级考试二级笔试试卷
Visual Basic语言程序设计
 
一、 选择题
1、下列链表中,其逻辑结构属于非线性结构的是
A、二叉链表
B、循环链表
C、双向链表
D、带链的栈
2、设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为
A、15
B、16
C、20
D、0或35
3、下列关于栈的叙述中,正确的是
A、栈底元素一定是最后入栈的元素
B、栈顶元素一定是最先入栈的元素
C、栈操作遵循先进后出的原则
D、以上三种说法都不对
4、在关系数据库中,用来表示实体间联系的是
A、属性
B、二维表
C、网状结构
D、树状结构
5、公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,则实体部门和职员间的联系是
A、1:1联系
B、m:1联系
C、1:m联系
D、m:n联系
6、有两个关系 R和S如下:
则由关系R得到关系S的操作是
A、选择
B、投影
C、自然连接
D、并
7、数据字典(DD)所定义的对象都包含于
A、数据流图(DFD图)
B、程序流程图
C、软件结构图
D、方框图
8、软件需求规格说明书的作用不包括
A、软件验收的依据
B、用户与开发人员对软件要做什么的共同理解
C、软件设计的依据
D、软件可行性研究的依据
9、下面属于墨盒测试的方法是
A、语句覆盖
B、逻辑覆盖
C、边界值分析
D、路径覆盖
10、下面不属于软件设计阶段任务的是
A、软件总体设计
B、算法设计
C、制定软件确认测试计划
D、数据库设计
11、以下叙述中错误的是
A、.vbp文件是工程文件,一个工程可以包含.bas文件
B、.frm文件是窗体文件,一个窗体可以包含.bas文件
C、.vbp文件是工程文件,一个工程可以由多个.frm文件组成
D、.vbg文件是工程组文件,一个工程组可以由多个工程组成
12、以下叙述中错误的是
A、在Visual Basic的窗体中,一个命令按钮是一个对象
B、事件是能够被对象识别的状态变化或动作
C、事件都是由用户的键盘操作或鼠标操作触发的
D、不同的对象可以具有相同的方法
13、设x=3.3,y=4.5,表达式x-Int(x)+Fix(y)的值是
A、3.5
B、4.8
C、4.3
D、4.7
14、窗体上有一个名称为Command1的命令按钮,其中部分代码如下:
Private Sub Command1_Click( )
  Dim a(10) As Integer
  Dim n As Integer
  ……
Call calc(a,n)
……
End Sub
calc过程的的首行应该是
A、Sub calc(x() As Integer,n As Integer)
B、Public Sub calc(x() As Integer)
C、Private Sub calc(a(n) As Integer,n As Integer)
D、Public Sub calc(a As Integer, n As Integer)
15、设有如下程序
Sub f(x As Integer,ByVal y As Integer)
   x=2*x
   y=y+x
End Sub
Private Sub Command1_Click()
   Dim a As Integer , b As Integer
   a=6 ; b=35
   call f(a,b)
   print a,b
End Sub
程序运行后,单击命令按钮Command1,输出结果为
A、6 47
B、12 47
C、6 35
D、12 35
16、以下叙述中正确的是
A、窗体及窗体上所有控件的事件过程代码都保存在窗体文件中
B、在工程中只有启动窗体可以建立菜单
C、窗体名称必须与窗体文件的名称相同
D、程序一定是从某个窗体开始执行的
17、窗体上有一个名称为Command1的命令按钮,其单击事件过程代码如下:
Private Sub Command1_Click()
   Static x As Variant
   n=0
   x=array(1,2,3,4,5,6,7,8,9,10)
   While n<=4
      x(n)=x/(n+5)
      Print x(n);
      N=n+1
Wend
End Sub
运行程序,单击命令按钮Command1,窗体上显示的是
A、12345
B、678910
C、23456
D、62345
18、窗体上有一个名称为Label1的标签和一个名称为Command1的命令按钮,命令按钮的单击事件过程如下:
Private Sub Command1_click()
   x=InputBox(“输入x: ”,,0)
   y=InputBox(“输入y: ”,,0)
   Label1.caption=x+y
End Sub
运行程序后,单击命令按钮,在输入对话框中分别输入2,3,运行的结果是
A、程序运行有错误,数据类型不匹配
B、程序运行有错误,InputBox函数的格式不对
C、在Label1中显示5
D、在Label1中显示25
19、窗体上有一个名称为Shape1的形状控件和由三个命令按钮组成的名称cmdDraw的控件数组。窗体外观如图所示(从上到下的3个命令按钮下标分别为0、1、2)。有事件过程如下:
Private Sub cmdDraw_Click(Index As Integer)
   Select Case Index
      Case 0
         Shape1.shape=0
      Case 1
         Shape1.shape=1
      Case 2
         Shape1.Shape=3
   End Select
End Sub
当单击“画圆”命令按钮时,会执行cmdDraw_Click事件过程。以下叙述中正确的是
A、Case2分支有错,此Case后面表达式的值应该与赋给Shape1.Shape的值一致
B、程序运行有错,控件数级别的下标应该从1开始
C、Index是形状控件的参数
D、程序正常运行,形状控件被显示为圆形
20、如果一个正整数从高位到低位上的数字依次递减,则称其为降序数(如:9632是降序数,而8156则不是降序数)。现编写如下程序,判断输入的正整数是否为降序数。
Private Sub Command1_Click()
   Dim n As Long
   Dim flag As Boolean
   n=InputBox(“输入一个正整数”)
   s=Trim(Str(n))
   For i=2  To  Len(s)
      If Mid(s,i-1,1)<Mid(s,i,1) Then Exit For
Next i
If i=Len(s)  Then  flag=True  Else  flag=False
If  flag  Then
  Print  n ; “是降序数”
Else
  Print n ; “不是降序数”
End If
End Sub
运行以上程序,发现有错误,需要对给flag变量赋值的If语句进行修改,以下正确的修改是
A、if i =Len(s)+1 Then flag=False Else flag=True
B、if i=Len(s)+1 Then flag=True Else flag=False
C、if i=Len(s)-1 Then flag=False Else flag=True
D、if i=Len(s)-1 Then flag=True Else flag=False
21、现有以下程序:
Private Sub Command1_Click()
  c1=0
  c2=0
  For i=1 To 100
If  i  mod 3  = 0 Then
    c1=c1+1
    ElseIf i Mod 7 =0 Then
        c2=c2+1
     End If
   Next
   Print c1+c2
End Sub
此程序运行后输出的是在1~100范围内
A、同时能被3和7带队的整数个数
B、能被3或7整除的整数个数(同时被3和7整除的数只记一次)
C、能被3整除,而不能被7整除的整数个数
D、能被7整除,而不能被3整除的整数个数
22、设菜单编辑器中各菜单项的属性设置如下表所示:
序号 标题 名称 复选 有效 可见 内缩符号
1 File File
2 Open OpenFile 1
3 Save SaveFile 1
4 Exit EndOfAll 1
5 Help ShowHelp 1
针对上述属性设置,以下叙述中错误的是
A、属性设置有错,存在“标题”与“名称”重名现象
B、运行程序,序号为“3”的菜单项不显示
C、运行程序,序号为“4”的菜单项不可用
D、运行程序,序号为“5”的菜单项前显示“√”
23、窗体上有一个名称为Command1的命令按钮,并有如下程序:
Private Sub Command1_Click()
   x=15
   Do While x>0
      x=x-3
      x=iif(int(x/5)=x/5,x+2,x)
   loop
   print x
End Sub
程序运行后,单击命令按钮Command1,输出结果为
A、0
B、-1
C、-2
D、-3
24、以下关于通用对话框中叙述中,错误的是
A、若没有指定InitDir属性值,则起始目录为当前目录
B、用一个通用对话框控件可以建立几种不同的对话框
C、FileTitle属性指明了文件对话框中所选择的文件名
D、文件对话框用属性FilterIndex指定默认过滤器,它是一个从0开始的整数
25、窗体上有一个名为Command1的命令按钮,并有如下程序:
Private Command1_Click()
  Dim m As Integer , n As Integer
  m=InputBox(“输入第一个数”)
  n=InputBox(“输入第二个数”)
  Do While m<>n
     Do While m>n
        m=m-n
     Loop
     Do While n>m
        n=n-m
     Loop
  Loop
  Print m
End Sub
该程序的功能是
A、求数值m和n的最大公约数
B、求数值m和n的最小公倍数
C、求数值m和n 中的较大数
D、求数值m和n中的较小数
26、窗体上有一个名称为Command1的命令按钮,其单击事件过程及有关函数过程如下:
Private Sub Command1_Click()
   Dim n As Integer
   n=add(5,10)
   Print n
End Sub
Function add(v1 As Integer , v2 As Integer , Optional v3) As Integer
   If Not IsMissing(V3) Then
     add=v1+v2+v3
   Else 
     add=v1+v2
   End If
End Function
运行程序,单击命令按钮,以下叙述中正确的是
A、程序不能正常运行,因为函数add的参数定义有错
B、程序不能正常运行,因为函数定义与函数调用语句的参数个数不匹配
C、程序能正常运行,结果是在窗体上显示15
D、程序能正常运行,结果是在窗体上显示510V3
27、目录列表框Path属性所表示的含义是
A、当前驱动器或指定驱动器上的路径
B、当前驱动器或指定驱动器上的某目录下的文件列表
C、根目录下的文件列表
D、指定路径下的文件列表
28、以下关于函数过程中叙述中错误的是
A、函数过程一定有返回值
B、函数过程一定有参数
C、函数过程可以在窗体模块和标准模块中定义
D、函数过程参数的类型与返回值的类型无关
29、在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
Public Eunm s
   a=4
   b=3
End Enum
Private Sub Command1_Click( )
   Dim x As Integer
   x=a
   If x>=3  Then MsgBox “Pass!”
End Sub
运行程序,其结果是
A、运行错误,因为Enum定义有错
B、运行错误,因为x=a类型不匹配
C、运行正常结束,不显示任何信息
D、运行正常,显示内容为“Pass!”的信息框
30、设有如下程序
Option Base 1
Private Sub Form_Click( )
  Dim a(5) As String , i As Integer
  For i=1  To 5
a(i)=Chr(Asc(“A”)+i)
Call f(a,i)
  Next i
End Sub
Sub  f(ta() As String , n As Integer)
  Dim i As Integer
  For i=1 To   
Print ta(i);
  Next i
End Sub
对上述程序,以下叙述中正确的是
A、程序有错,因为在过程f的定义中数组参数格式不正确
B、程序可正常运行,输出内容的第一行是一个字母“A”
C、程序可正常运行,输出内容的第一行是一个字母“B”
D、程序可正常运行,输出内容的第一行是数字65
31、窗体上有一个名称为Picture1的图片控件,一个名称为Timer的计时器控件,其Interval属性值为1000。要求每隔5秒钟图片框右移100。现编写程序如下:
Private Sub Timer1_Timer( )
  Static n As Integer
  n=n+1
  If (n/5)=Int(n/5) And Picture1.Left<Form1.Width Then
     Picture1.Left=Picture1.Left+100
  End If
End Sub
分析以上程序,以下叙述中正确的是
A、程序中没有设置5秒钟的时间,所以不能每隔5秒移动图片框一次
B、此程序运行时图片框位置保持不动
C、此程序运行时图片框移动方向与题目要求相反
D、If语句条件中“Picture1.Left<Form1.Width”用于限制图片框移动的范围
32、窗体上有一名称为Command1的命令按钮,其事件过程如下:
Private Sub Command1_Click( )
  Dim i As Integer,j As Integer , k As Integer
  Dim s As Double
  s=0 ; i=1 ; j=0 ; k=-1
  Do While i<6
     s=s+k*(j/i)
     i=i+1
      j=j+1
      k=-k
Loop
Print s
End Sub
以上程序所计算的表达式是
A、1/2-2/3+3/4-4/5
B、-1/2+2/3-3/4+4/5
C、1-1/2+2/3-3/4+4/5
D、-1+1/2-2/3+3/4-4/5
33、窗体上有一个名称为Command1的命令按钮,其单击事件过程如下:
Private Sub Command1_Click( )
   Dim a,b(2,3) As Integer
   a=Array(3,7,5,11,31,43,17,62,9,23,37,41)
   i=0
   Do While i<=UBound(a)
      For j=0 To 2
         For k=0  To  3
            B(j,k)=a(i)
            i=i+1
          Next
      Next
Loop
Pritn b(2,2)
End Sub
运行程序,窗体上显示的是
A、43
B、17
C、37
D、23
34、窗体上有一个名称为Command1的命令按钮,其事件过程如下:
Private Sub Command1_Click( )
   Dim s As String
   Open “c:\File1.txt” For Input As #1
   Open “c:\File2.txt” For Output As #2
   Do While Not EOF(1)
      Input #1,s
      Print #2,s
Loop
Close #1,#2
End Sub
关于上述程序,以下叙述错误的是
A、程序把File1.txt文件的内容存放到File2.txt文件中
B、程序中打开了两个随机文件
C、程序中打开了两个顺序文件
D、“EOF(1)”中的“1”对应于File1.txt文件
35、以下关于文件及相关操作的叙述中错误的是
A、以Append方式打开的文件可以进行读写操作
B、文件记录的各个字段的数据类型可以不同
C、随机文件各记录的长度是相同的
D、随机文件可以通过记录号直接访问文件中的指定记录。
二、填空题(每空2分,共30分)
1. 一棵二叉树共有47个结点,其中有23个度为2的结点。假设根结点在第1层,则该二叉树的深度为【     1    】
2. 设栈的存储空间为S(1:40),初始状态为bottom=0,top=0。现经过一系列入栈与出栈运算后,top=20,则当前栈中有【     2    】个元素
3. 数据独立性分为逻辑独立性和物理独立性。当总体逻辑结构改变时,其局部逻辑结构可以不变,从而根据局部逻辑结构编写的应用程序不必修改,称为【     3    】
4. 关系数据库中能实现的专门关系运算包括【     4    】、连接和投影
5. 软件按功能通常可以分为应用软件、系统软件和支撑软件(或工具软件)。UNIX操作系统属于【     5    】软件
6. 窗体上有从左到右的4个单选按钮组成的控件数组Opt1,下标从0开始。程序运行时,单击命令按钮“选择”(名称为Command1),则在标签Label1中显示所选中的信息,如图所示。
以下是完成上述功能的程序,请填空。
Private Sub Command1_Click( )
   For i=0 To 3
      If Opt(i).Value=True Then
         Call f(【     6    】)
      End If
Next
End Sub
Private Sub f(x As Control)
   Label1.Caption=”你选择的是:”&【     7    】.Caption
End Sub
7. 窗体上有一个名称为List1的列表框,列表框中有若干数据项,列表框的style属性为1;有一个名称为Label2的标称;还有一个名称为Command1,Caption属性为“计算”的命令按钮(见图)。运行程序,在列表框中选中某些数据项后,单击命令按钮,则可以计算机所选数据之和,并将结果显示在标签Label2中。以下是实现上述功能的程序,请填空。
Private Sub Command1_Click( )
  s=0
  For i=0 To List1.ListCount-1
     If 【     8    】=True Then
         s=s+【     9    】
     End If
Next
Label2.Caption=【     10    】
End Sub
8. 以下程序的功能是从随机产生的20个20~200(含20和200)的整数中,找出能够同时被3和5整除的数的最大值,并显示出来。请填空。
Option Base 1
Private Sub Command1_Click( )
   Dim a(20) As Integer
   m =0
   For i=1 To 20
      a(i)=Int(Rnd * 【     11    】)+20
      If a(i) Mod 3 = 0 【     12    】 a(i) Mod 5=0 Then
           If a(i) >m Then m=a(i)
      End If
Next 
If 【     13    】Then
Print “没有满足条件的数”
Else
Print “满足条件的数是”;m
End If
End Sub
9. 在窗体上画一个名称为Timer1的计时器控件,其Enabled属性值为False,Interval属性值设为100。要求程序运行后,当鼠标在窗体上移动时,沿鼠标经过的轨迹画出一系列半径为100的小圆。其效果如图所示。以下是实现上述功能的程序,请填空。
Dim a As Integer, b As Integer
Private Sub Form_【     14    】(Button As Integer,Shift As Integer,X As Single,Y As Single)
   a=X
   b=Y
   Timer1.Enabled=【     15    】
End Sub
Private Sub Timer1_timer( )
Form1.Cirle(a,b),100  ‘以(a,b)为圆心画一个半径为100的圆
End Sub
 
答案
1 2 3 4 5 6 7 8 9 10
A D C B C A A D C C
11 12 13 14 15 16 17 18 19 20
B C C A D A B D D B
21 22 23 24 25 26 27 28 29 30
B A B A A C A B D C
31 32 33 34 35
D A C B A
填空题:
1. 6
2. 20
3. 逻辑独立性
4. 选择
5. 系统
6. Opt1(i)
7. X
8. List1.selected(i)
9. Val(List1.list(i))
10. Str (s)
11. 181
12. And
13. m=0
14. MouseMove
15. true
关于我们付款方式广告联系合作联系教师合作网站地图网站声明友情链接考试论坛帮助中心
全国计算机等级考试NCRE100门户网站 www.ncre100.com 客服QQ:279206599
NCRE100是一家公益网站,为广大考试提供考试信息服务 NCRE100版权所有 ? 2004-2014 Ncre100.com 京ICP备13021823-3号
扫描关注微信