江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
2011年3月全国计算机二级VB考试真题

2011全国计算机等级考试二级VB考试真题

一、选择题(每小题2分,共70)

下列各题A)B)C)D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是
A)
对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B)
对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为
(n/2)
C)
对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为
(log2n)
D)
对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)

(2)算法的时间复杂度是指
A)
算法的执行时间                          B)算法所处理的数据量
C)
算法程序中的语司或指令条数              D)算法在执行过程中所需要的基本运算次数

(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是
A)
编辑软件             B)操作系统         C)教务管理系统    D)浏览器

(4)软件(程序)调试的任务是
A)
诊断和改正程序中的错误                  B)尽可能多地发现程序中的错误
C)
发现并改正程序中的所有错误         D)确定程序中错误的性质

(5)数据流程图(DFD)
A)
软件概要设计的工具                      B)软件详细设计的工具
C)
结构化方法的需求分析工具           D)面向对象方法的需求分析工具

(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于
A)
定义阶段             B)开发阶段             C)维护阶段         D)上述三个阶段

(7)数据库管理系统中负责数据模式定义的语言是
A)
数据定义语言         B)数据管理语言         C)数据操纵语言         D)数据控制语言

(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是
A)
文件             B)数据库               C)字段                 D)记录

(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
A)
需求分析阶段         B)逻辑设计一阶段   C)概念设计阶段         D)物理设计阶段

(10)有两个关系RT如下:

 

R

 

 

 

T

 

A

B

C

 

A

B

C

a

1

2

 

c

3

2

b

2

2

 

d

3

2

c

3

2

 

 

 

 

d

3

2

 

 

 

 

    则由关系R得到关系T的操作是
A)
选择             B)投影                 C)               D)

 

(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(2030)的随机整数的表达式是___

(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)滚动块处于任何位置

(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)它的Y1Y2属性的值相同            B)它的X1X2属性的值相等

C)它的X1Y1属性的值分别与X2Y2属性的值相等

D)它的X1X2属性的值分别与Y1Y2属性的值相等

(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)Print Sub Form1_Click()

   ...

  End Sub

B)Print Sub Form_Click()

   ...

  End Sub

C)Print Sub Command1_Click()

   ...

  End Sub

D)Print 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 Inteer, 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 "File.txt" For Input As #1

   则不能正确读文件的语句是

A)Input #1,Ch$      B)Line Input #1,ch$

C)ch$=Input$(5,#1)  D)Read #1,ch$

(25)下面程序的执行结果是

 Private Sub Command1_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的文本框和一个名为

Comamand1的命令按钮,并有以下事件过程

Private Sub Command1_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 Command1_Click()

   x=10 : y=0

   For i=1 to 5

     Do

       x=x-2

       y=y+2

     Loop Until y>5 Or x<-1

   Next

 End Sub

运行程序,其中Do循环执行的次数是___

A)15  B)10   C)7  D)3

(28)阅读程序

  Private Sub Command1_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

      print arr(7-i);

    Next

  End Sub

程序运行后,窗体上显示的是___

A)8  7  6   B)7  6  5

C)6  5  4   D)5  4  3

(29)在窗体上画一个名为Command1

命令按钮,然后编写以下程序

Private Sub Command1_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)窗体上有一个名为Command1的命令按钮,并有如下程序:

 Private Command1_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)窗体上有一个名为Command1的命令按钮和一个Timer1的计时器,并有下面的事件过程

Private Sub Command1_Click()

   Timer1.Enabled=True

End Sub

 

Private Sub Form_Load()

  Timer1.Interval=10

  Timer1.Enabled=False

End Sub

 

Private Sub Timer1_Timer()

  Command1.Left=Command1.Left+10

End Sub

程序运行时,单击命令按钮,则产生的结果是___

A)命令按钮每10秒向左移动一次

B)命令按钮每10秒向右移动一次

C)命令按钮每10毫秒向左移动一次

D)命令按钮每10毫秒向右移动一次

(32)设窗体上有一个名为List1的列表框,并编写下面的事件过程

Private Sub List1_Click()

  Dim ch as String

  ch=List1.List(List1.ListIndex)

  List1.RemoveItem List1.ListIndex

  List1.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)为了从当前文件夹中读入文件File.txt,某人编写了下面的程序:

 Private Sub Command1_Click()

   Open "FIle1.txt" For Output As #20

   Do While Not EOf(20)

     Line Input #20,ch$

     Print ch

   Loop

   Close #20

 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("添加项目成功")

Enb 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 Sub

  Next k

  Check=True

End Function

程序运行时,如果在组合框的编辑区输入"Java",则单击命令按钮后产生的结果是

A)显示"输入错误"

B)显示"添加项目失败"

C)显示"添加项目成功"

D)没有任何显示

二、填空题(每空2,30分)

请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。

 注意:以命令关键字填空的必须拼写完整。

(1)一个队列的初始状态为空。现将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为   1  

(2)设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有   2   个元素。

A

B

C

D

E

F

G

H

(3)设二叉树如下:

 

 

 

 

 

 

 

 

    对该二叉树进行后序遍历的结果为   3  

(4)软件是   4  、数据和文档的集合。

(5)有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号,   5   ,成绩)

 

(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后的输出结果为___

(7)在窗体上画1个名称为Command1的命令按钮,然后编写如下程序:

private Sub Command1_Click()

  Dim m as integer, x as integer

  Dim flag as Boolean

  flag=False

  n=Val(InputBox("请输入任意1个正整数"))

  Do While not flag

     a=2

     flag=__(7)___

     Do While flag And a<=Int(Sqr(n))

       if n/a=n\a then

         flag=False

       Else

         ___(8)___

       End If

     Loop

     If Not Flag Then n=n+1

   Loop

   Print ___(9)___

End Sub

上述程序的功能是,当在键盘输入任意的1个正整数时,将输出不小于该整数的最小素数,

(8)以下程序的功能是:先将随机产生的整数放入数组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)___

    End If

   Loop While i<10

   For i=1 to 9

     For j=___(11)___ to 10

       if a(i)>a(j) then Temp=a(i): a(i)=a(j): ___(12)___

     Next j

   Next i

   For i=1 to 10

     Print a(i)

   Next i

End Sub

(9)窗体上已有名称分别为Drive1Dir1File1的驱动器列表框、目录框、和文件列表框,且有1个名称为Text1的文本框,以下程序的功能是:将指定位置中扩展名为".txt"的文件显示在File1,如果双击File1中的某个文件,则在Text1中显示该文件的内容,请填空

Private Sub Form_Load()

  File1.Pattern=___(13)___

End Sub

 

Private Sub Drive1_Change()

  Dir1.Path=Drive1.Path

End Sub

 

Private Sub Dir1_Change()

  File1.Path=Dir1.Path

End Sub

 

Private Sub File1_DblClick()

  Dim s as string*1

  If Right(FIl1.Path,1)="\" Then

     f_name=File1.Path+Fil1.FileName

  Else

     f_name=File1.Path+"\"+File1.FileName

  End if

  Open f_name ___(14)___ as #1

  Text1.text=""

  Do While ___(15)___

     s=Input(1,#1)

     Text1.text=Text1.text+s

  Loop

  Close #1

End Sub