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

2011年3月全国计算机等级考试二级vb笔试试卷及参考答案

来源:NCRE100 作者:NCRE100 发布时间:2014-06-21 16:57:14
2011年3月全国计算机等级考试二级vb笔试试卷及参考答案
(考试时间 90分钟,满分100分)
 
一、选择题(每小题2分,共70分)
(1)下列关于栈叙述正确的是
A)栈顶元素最先能被删除        B)栈顶元素最后才能被删除
C)栈底元素永远不能被删除      D)以上三种说法都不对
 
(2)下列叙述中正确的是
A) 有一个以上根结点的数据结构不一定是非线性结构
B)只有一个根结点的数据结构不一定是线性结构
C)循环链表是非线性结构
D)双向链表是非线性结构
 
(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)
A)3    B)4   C)6   D)7
 
 (4)在软件开发中,需求分析阶段产生的主要文档是
A) 软件集成测试计划     B)软件详细设计说明书
C)用户手册              D)软件需求规格说明书
 
(5)结构化程序所要求的基本结构不包括
A)顺序结构              B)GOTO跳转
C)选择(分支)结构      D)重复(循环)结构
 
(6)下面描述中错误的是
A)系统总体结构图支持软件系统的详细设计
B)软件设计是将软件需求转换为软件表示的过程
C)数据结构与数据库设计是软件设计的任务之一
D)PAD图是软件详细设计的表示工具
  
 
(7)负责数据库中查询操作的数据库语言是
A)数据定义语言     B)数据管理语言     C)数据操纵语言      D)数据控制语言
  
 
(8)一个教师可讲授多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是
A)1:1联系       B)1:m联系   C)m:1联系  D)m:n联系
 
(9)有三个关系R、S和T如下:
R                            S                         T
C
1
 
A B C
A 1 2
B 2 1
C 3 1
A B
c 3
则由关系R和S得到关系T的操作是
A)自然连接      B)交         C)除      D)并
 
(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是
A)-369         B)369        C)0.369     D)整数集合{1,2,3,4,5}
 
(11)在Visual Basic集成环境中,可以列出工程中所有模块名称的窗口是
A)工程资源管理器窗口            B)窗体设计窗口
C)属性窗口                     D)代码窗口
 
(12)假定编写了如下4个窗体事件的事件过程,则运行应用程序并显示窗体后,已经执行的事件过程是
A)Load   B)Click   C)LostFocus    D)KeyPress
 
(13)为了使标签具有“透明”的显示效果,需要设置的属性是
A) Caption      B) Alignment      C) BackStyle       D) AutoSize
 
(14)下面可以产生20-30(含20和30)的随机整数的表达式是
A) Int(Rnd*10+20)     B) Int(Rnd*11+20)
C) Int(Rnd*20+30)     D) Int(Rnd*30+20)
 
(15)设窗体上有一个名称为HS1的水平滚动条,如果执行了语句:
HS1.Value=(HS1.Max-HS1.Min)/2+HS1.Min  则
A)滚动块处于最左端
B)滚动块处于最右端
C)滚动块处于中间位置
D)滚动块可能处于任何位置,具体位置取决于Max、Min属性的值
 
(16)窗体上有一个名称为Cb1的组合框,程序运行后,为了输出选中的列表项,应使用的语句是
A)Print Cb1.Selected  
B)Print Cb1.List(Cb1.ListIndex)
C)Print Cb1.Selected.Text
D)Print Cb1.List(ListIndex)
 
(17)为了在窗体上建立2组单选按钮,并且当程序运行时,每组都可以有一个单选按钮被选中,则以下做法中正确的是
A) 把这2组单选按钮设置为名称不同的2个控件数组
B) 使2组单选按钮的Index属性分别相同
C) 使2组单选按钮的名称分别相同
D) 使2组单选按钮分别画到2个不同的框架中
 
(18)如果一个直线控件在窗体上呈现为一条垂直线,则可以确定的是
A)它的Y1、Y2属性的值相等
B)它的X1、X2属性的值相等
C)它的X1、Y1属性的值分别与X2、Y2属性的值相等
D)它的X1、X2属性的值分别与Y1、Y2属性的值相等
 
(19)设a=2,b=3,c=4,d=5,则下面语句的输出是
Print 3>2*b Or a=c And b<>c Or c>d
A) False   B) 1   C) True   D) -1
 
(20)窗体Form1上有一个名称为Command1的命令按钮,以下对应窗体单击事件的事件过程是
 
A)  Private Sub Form1_Click()
   
End Sub
B)   Private Sub Form_Click()
     
End Sub
C) Private Sub Command1_Click()
         …
End Sub
D) Private Sub Command_Click()
    …
End Sub
 
 
(21)默认情况下,下面声明的数组的元素个数是
Dim  a(5,-2 to 2)
A)20  B)24         C)25     D)30
 
(22)设有如下程序段
Dim a(10)
……
For Each x In a
   Print x;
Next x
在上面的程序段中,变量x必须是
A) 整型变量       B)变体型变量         C)动态数组         D)静态数组
 
(23) 设有以下函数过程
      Private Function Fun(a() As Integer, b As String)As Integer
End Function
若已有变量声明:
Dim x(5)As Integer,n As Integer,ch As String
则下面正确的过程调用语句是
A. x(0)=Fun(x,"ch")       B. n=Fun(n,ch)
C. Call Fun x,"ch"       D. n=Fun(x(5),ch)
 
(24)假定用下面的语句打开文件:
    Open“Filel.txt”ForInput  AS #1
则不能正确读文件的语句是
       A)  Input #1 ,ch$                     B)  Line Input #1,ch$
       C)  ch$=Input$(5,#1)                    D)  Read #1 ,ch$
 
(25)下面程序执行结果是
       Private Sub Command 1_Click()
              a=10 
             For k=1 To 5 Step-1
                a=a-k
             Next k
             Print a ;k
       End Sub
A)  -5 6             B)  -5  -5           C)10   0      D)  10  1
 
(26)设窗体上有一个名为Text1 的文体框和一个名为Command1 的命令按钮,并有以下事件过程:
   Private Sub Command 1_Click()
      X!=Val(Text1.Text)
      Select Case  x
      Case Is <-10,Is>=20
        Print “输入错误”
         Case Is<0
            Print 20-x
           Case Is <10
          Print 20
       Case Is<=20
        Print x +10
        End  Select
End  Sub
程序运行时,如果在文本框中输入-5,则单击命令按钮后的输出结果是
   A)  5         B)  20           C)  25               D)  输入错误
 
(27)设有如下程序
Private  Sub  Command 1_Click()
  X=10:y=0
For i=1 To 5
   Do
       x=x-2
       y=y+2
     Loop Unti1 y>5 Or x<-1
  Next
  End Sub
运行程序,其中Do循环执行的次数是
  A)  15                 B)  10             C)  7            D) 3  
 
(28)阅读程序
   Private Sub Command  1_ Click
  Dim arr
  Dim i As Integer
  Arr=Array (0,1,2,3,4,5,6,7,8,9,10)
  For i=0 To 2
   Printarr(7 –i);
 Next
End Sub
程序运行后,窗体上显示的是:
  A)  8   7   6                         B)   7    6   5 
  C)  6   5   4                         D)   5    4   3
 
(29)在窗体上画一个名为Command 1的命令按钮,然后编写以下程序:
    Private Sub Command 1_Click()
    Dim a(10) As Integer
    For k=10 TO 1 Step -1
      a(k)=20-2*k
  Next k
   K=k+7
   Print a(k-a(k))
     End  Sub
运行程序,单击命令按钮,输出结果是
A)  18                  B)  12                 C)8                D)6
 
(30)窗体上有一个名为Command 1 的命令按钮,并有如下程序:
   Private Sub Command 1_Click()
     Dim a(10),x%
        For k=1   To  10
       a(k)=Int(Rnd*90+10)
      x=x+a(k) Mod 2
Next k
   Print  x
 End  Sub
程序运行后,单击命令按钮,输出结果是:
A)  10个数中奇数的个数                  B)  10个数中偶数的个数
C)  10个数中奇数的累加和                D)  10个数中偶数的累加和
 
 (31)  窗体上有一个名为 Command 1的命令按钮和一个名为Timer 1 的计时器,并有下面的事件过程:
     Private Sub  Command 1_Click()
Timer 1.Enabled=True
 End  Sub
  Private  Sub  Form  _Load()
    Timer 1.Interval=10
     Timer 1.Enabled=False
    End  Sub
    Private  Sub  Timer 1_Timer()
   Command 1.Left=Command 1.Left+10
End  Sub
程序运行时,单击命令按钮,则产生的结果是
A) 命令按钮每10秒向左移动一次
B) 命令按钮每10秒向右移动一次
C) 命令按钮每10毫秒向左移动一次
D) 命令按钮每10毫秒向右移动一次
 
(32)设窗体上有一个名为List1 的列表框,并编写下面的事件过程:
   Private Sub List 1_Click()
Dim ch AS String
ch=List 1.List(List1.ListIndex)
List 1.RemoveItem List1.ListIndex
List 1.AddItem ch
End Sub
程序运行时,单击一个列表项,则产生的结果是
A)  该列表项被移到列表的最前面           B) 该列表项被删除
C) 该列表项被移到列表的最后面       D) 该列表项被删除后又在原位置插入
 
(33)窗体上有一个名为Command1的命令按钮,并有如下程序:
Private Sub Command1_Click()
Dim a As Integer, b As Integer
a = 8
b = 12
Print Fun(a, b); a; b
End Sub
Private Function Fun(ByVal a As Integer, b As Integer) As Integer
a = a Mod 5
b = b \ 5
Fun = a
End Function
程序运行时,单击命令按钮,则输出结果是
 
A)3  3  2
B)3  8  2
C)8  8  12
D)3  8  12
 
 
(34)为了从当前文件夹中读入文件File1.txt,某人编写了下面的程序:
Private Sub Command1_Click()
Open "File1.txt" For Output As #20
Do While Not EOF(20)
   Line Input #20, ch$
   Print ch
Loop
End Sub
程序调试时,发现有错误,下面的修改方案中正确的是
A)在Open语句中的文件名前添加路径
B)把程序中各处的“20”改为“1”
C)把Print ch 语句改为Print #20,ch
D)把Open语句中的Output改为Input
 
(35)以下程序运行后的窗体如图所示,其中组合框的名称是Combo1,已有列表项如图所示;
命令按钮的名称是Command1。
Private Sub Command1_Click()
If Not check(Combo1.Text) Then
  MsgBox ("输入错误")
  Exit Sub
End If
For k = 0 To Combo1.ListCount - 1
  If Combo1.Text = Combo1.List(k) Then
     MsgBox ("添加项目失败")
     Exit Sub
  End If
Next k
Combo1.AddItem Combo1.Text
MsgBox ("添加项目成功")
End Sub
Private Function Check(ch As String) As Boolean
  n = Len(ch)
  For k = 1 To n
     c$ = UCase(Mid(ch, k, 1))
       If c < "A" Or c > "Z" Then
         Check = False
         Exit Function
       End If
  Next k
  Check = True
End Function
程序运行时,如果在组合框的编辑区中输入“Java”,则单击命令按钮后产生的结果是
A) 显示“输入错误”      B) 显示“添加项目失败”
C) 显示“添加项目成功”  D) 没有任何显示
 
二、填空题(每空2分,共30分)
请将每空的正确答案写在答题卡1:至15:序号的横线上,答在试卷上不得分。
(1)有序线性表能进行二分查找的前提是该线性表必须是[1]顺序存储的。
解析:二分查找只适用于顺序存储的有序线性表。
 
(2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为[2]DEBFCA。
 
(3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为[3]单元
解析:单元测试是对软件设计的最小单位——模块(程序单元)进行正确性检验的测试。单元测试的目的是发现各模块内部可能存在的各种错误。
 
(4)实体完整性约束要求关系数据库中元组的[4]主键属性值不能为空。
解析:实体完整性约束要求关系的主键中属性值不能为空值,因为主键是惟一决定元组的,如为空值则其惟一性就成为不可能的了。
 
(5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称[5] D是关系A的外码。
解析:如果表A中的某属性集是某表B的键,则称该属性集为A的外键或外码。
 
(6)在窗体上有1个名称为Command1的命令按钮,并有如下事件过程和函数过程:
Private Sub Command1_Click()
Dim p As Integer
p = m(1) + m(2) + m(3)
Print p
End Sub
Private Function m(n As Integer) As Integer
 Static s As Integer
 For k = 1 To n
  s = s + 1
  Next
  m = s
End Function
运行程序,单击命令按钮Command1后的输出结果为[6]10
 
(7)在窗体上画1个名称为Command1的命令按钮,然后编写如下程序:
Private Sub Command1_Click()
Dim m As Integer, x As Integer
Dim flag As Boolean
flag = False
n = Val(Intputbox("请输入任意1个正整数"))
Do While Not flag
  a = 2 
  flag = [7] True
  Do While flag And a <= Int(Sqr(n))
     If n / a = n \ a Then
       flag = False
     Else
       [8] a=a+1
     End If
  Loop
  If Not flag Then n = n + 1
Loop
Print  [9] n
End Sub
上述程序的功能是,当在键盘输入任意的1个正整数时,将输出不小于该整数的最小素数。请填空完善程序。
 
(8)以下程序的功能是,先将随机产生的10个不同的整数放入数组a中,再将这10个数按升序方式输出。请填空。
Private Sub Form_Click()
Dim a(10) As Integer, i As Integer
Randomize
i = 0
Do
  num = Int(Rnd * 90) + 10
  For j = 1 To I ’检查新产生的随机数是否与以前的相同,相同的无效
     If num = a(j) Then
        Exit For
     End If
  Next j
  If j > i Then
    i = i + 1
    a(i) = [10] num
  End If
  Loop While i < 10
  For i = 1 To 9
    For j = [11] i+1 To 10
      if a(i)>a(j) then temp =a(i),a(i)=a(j);[12] a(j)=temp
    Next j
  Next i
  For i = 1 To 10
    Print a(i)
  Next i
End Sub
 
(9)窗体上已有名称分别为Drive1、Dir1、File1的驱动器列表框、目录列表框和文件列表框,且有1个名称为Text1的文本框。以下程序的功能是:将指定位置中扩展名为“.txt”的文件显示在File1中,如果双击File1中某个文件,则在Text1中显示该文件的内容。请填空。
Private Sub Form_Load()
File1.Pattern = [13] *.txt
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Private Sub File1_DblClick()
Dim s As String * 1
If Right(File1.Path, 1) = "\" Then
  f_name = File1.Path + File1.FileName
Else
  f_name = File1.Path + "\" + File1.FileName
End If
Open f_name [14] For Input As #1
  Text1.Text = ""
  Do While [15]NOT EOF(1)
    s = Input(1, #1)
    Text1.Text = Text1.Text + s
  Loop
  Close #1
End Sub
 
2011年3月全国计算机等级考试二级VB笔试试卷答案
选择题:
  1-5 AADDB     6-10 BCDCB
  11-15 AACBC   16-20 BDBAB
  21-25 DBACD     26-30 CCBAA
31-35 DCBDB
 
填空题
1、顺序   2、DEBFCA   3、单元     4、主键     5、D 
6、10     7、Ture      8、a=a+1 9、n     10、num
11、i      12、a(j)=temp       13、”*.txt|*.txt” 
14、for input      15、not eof(1)
详细解析:
1.答案:A
解析:栈的特点是“先进后出,后进先出”的线性结构,进栈又称为入栈最先进入栈的数据元素会被压入栈底,最后进入栈的元素所在位置称为栈顶,出栈又称为退栈即将元素从栈中删除,将元素退栈是先将栈顶的元素退栈,对于栈的运行原理可参考快动网公共基础知识视频教程。所以上边选项正确的是A。
 
2. 答案:B 
 解析: A错误,符合线性结构的特点是:(1)有且只有一个根结点(2)每一个结点最多只有一个前件,也最多只有一个后件,根据题意不一定是非线性结构即指的是线性结构,那么根据线性结构的特点只有一个根结点,所以选项A叙述错误。
B正确,比如二叉树是一个非线性结构,二叉树就是一个根结点,所以该选数正确。
C和D叙述错误,循环链表和双向链表都是线性结构。
 
3. 答案: D
解析:根据二叉树的性质,叶子结点即度为0的结点个数总比度为2的结点个数多1,根据题目内容可知度为2的结点个数为0,因为叶子结点只有1个,由于二叉树的结点类型有三种:度为0,度为1,度为2,根据题目内容可知二叉树共有7个结点所以度为1的结点个数是6,度为1表示结点只有一个分支,这个分支可以是左子树或右子树.
 
4. 答案: D
解析:在软件开发过程中,需求分析阶段产生的主要文档是软件需求规格说明书。
A错误,集成测试计划是在概要设计阶段编写的文档。
B错误,详细设计阶段产生的文档是软件详细设计说明书。
C错误,用户手册是在软件实现阶段要完成文档。
D正确。 需求规格说明书是后续工作如设计、编码等需要的重要参考文档。
 
5. 答案:B
解析:结构化程序的基本结构有:顺序结构、选择结构和循环结构,没有GOTO跳转结构。
以上选项B所说的GOTO结构是错误的,goto只是一种编程指令不是一种程序结构。
 
6.答案:A
解析:系统总体结构图描述了软件系统的结构这是概要设计阶段的任务,详细设计阶段正是在概要设计阶段之后要进行工作。
软件设计是将软件需求转换为软件表示的过程;数据结构与数据库设计是软件设计的任务之一;PAD图,即问题分析图,是一种主要用于描述软件详细设计的图形工具。
C正确,数据结构和数据库设计是概要设计阶段的任务。
D正确,详细设计的表示具包括:程序流程图,N-S,PAD,HIPO等。
 
7.答案:C
解析:用户通过数据定义语言可以方便地对数据库中的相关内容进行定义。例如,对数据库、表、索引进行定义。用户通过数据操纵语言可以实现对数据库的基本操作。例如,对表中数据的查询、插入、删除和修改。数据控制语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。
所以该题目选择C。
 
8. 答案:D
解析:一个教师可讲授多门课程,一门课程可由多个教师讲授,则实体教师和课程的联系是多对多的联系。
 
9. 答案:C
解析:
A错误,自然连接是关系的横向运算。连接运算将两个关系横向地拼接成一个更宽的关系所以T关系不是R和S的自然连接后的结果。
B错误,关系R与关系S经交运算后所得到的关系是既在R中又在S中的元组组成,题目中的T关系的元组在S中不存在。
C正确。
D错误。并是两个关系的和集,从上图可以看出T不是R和S的和
 
10.答案:B
解析:UInt表示的是无符号整数类,所以它的每个实例都是一个无符号整数,所以排除选项A)和选项C),选项D)是整数集合,所以也排除。
 
11.答案:A
 
12.答案:A
解析:Load事件用来在启动程序时对属性和变量进行初始化,在装入窗体后,如果运行程序,将自动触发该事件。
 
13.答案:C
解析:Caption属性用来在标签中显示文本;Alignment属性用来确定标签中标签的放置方式
;AutoSize属性设置标签是否根据标题的长度自动调整大小;BackStyle属性可以取两个值,当值为1时,标签将覆盖背景,当值为0时,则标签具有“透明”的显示效果。
 
14.答案:B
解析:Rnd函数用来生成范围在[0,1)之间的随机数。
 
15.答案:C
解析:本题中语句的设置效果是将滚动条的Value值设为当前滚动条刻度个数的1/2再加上Min值,此值正好为滚动条的中间位置,而Value值用来设置滚动块的位置,故答案为C。
 
16.答案:B
 
17.答案:D
解析:当窗体上有多个单选按钮时,如果选择其中的一个,其他单选按钮将自动关闭。当需要在同一个窗体上建立几组相互独立的单选按钮时,则必须通过框架为单选按钮分组,使得在一个框架内的单选按钮为一组,每个框架内的单选按钮操作不影响其他组的按钮。
 
18.答案:B
解析:平行线的Y1、Y2属性的值相等;垂直线的X1、X2属性的值相等。
 
19.答案:A
解析:分别计算表达式3>2*b;a=c And b<>c;c>d的值,其值均为False,则输出为False。
20.答案:B
 
21.答案:D
解析:VB中数组下标默认从0开始,数组定义的值为数组可取的最大值,因此第一维可取值为6个,第二维可取值为:-2,-1,0,1,2,为5个,故数组元素个数为5*6=30个。
 
22.答案:B
解析:在For Each…Next语句中,x为一个变体变量,它是为循环提供的,并在For  Each…Next结构中重复使用,它实际上代表的是数组中的每个元素。
 
23.答案:A
 
24.答案:D
解析:本题打开的是顺序文件,读取方式有:Input #语句,Line Input #语句,Input函数,故答案选D。
25.解析:本题For循环的步长为-1,但题中给出的初始值比终止值小,因此循环未执行,故a值未变,仍为10。k值需被赋值为1后与5作比较才知道大小,故k值为1。
 
26.答案:C
解析:本题考查的知识点是Select Case语句,其功能是根据“测试表达式”的值(本题中测试表达式为x),从多个语句块中选择符合条件的一个语句块执行。
 
27.答案:C
解析:本题需要注意区分Do Until…Loop语句和Do…Loop Until语句。后者为后判断条件的循环语句,无论初始条件是否满足都至少执行一次循环,当条件满足时跳出循环。
 
28.答案:B
解析:本题中,arr被Array函数定义为数组并被赋初值;For循环中i的值为0到2,那么,7-i的值为7,6,5;Print arr(7-i)也就是输出arr(7),arr(6),arr(5)的值,即输出7,6,5。
 
29.答案:A
 
30.答案:A
解析:Mod函数为求余函数,与2取余,值为0表示为偶数,值为1表示为奇数。因加上0对x的值并无影响,加上1表示有一个奇数,因此答案为A。
 
31.答案:D
解析:Interval属性的单位为毫秒。
 
32.答案:C
解析:RemoveItem方法作用是删除项;AddItem方法作用是添加项,若省略Index值,则默认为插入到列表的最后面。
 
33.答案:B
 
34.答案:D
解析:本题要求从当前文件夹中读入文件,因此在Open语句中应使用输入(Input)打开文件。
 
35.答案:B
关于我们付款方式广告联系合作联系教师合作网站地图网站声明友情链接考试论坛帮助中心
全国计算机等级考试NCRE100门户网站 www.ncre100.com 客服QQ:279206599
NCRE100是一家公益网站,为广大考试提供考试信息服务 NCRE100版权所有 ? 2004-2014 Ncre100.com 京ICP备13021823-3号
扫描关注微信