2009全国计算机vb模拟试题1

全国计算机等级考试二级Visual Basic语言程序设计考前冲刺试卷(1)

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

1)下列选项中,不是算法的基本特征的是(    )。

A)完整性                                                                           B)可行性

C)有穷性                                                                           D)拥有足够的情报

2)结构化分析方法是面向(    )的自顶向下、逐步求精进行需求分析的方法。

A)对象                                 B)数据结构                       C)数据流                         D)目标

3)下列工具中为需求分析常用工具的是(    )。

APAD                                 BPFD                                CN-S                               DDFD

4)线性表进行二分法检索,其前提条件是(    )。

A)线性表以顺序方式存储,并按关键码值排好序

B)线性表以顺序方式存储,并按关键码的检索频率排好序

C)线性表以链式方式存储,并按关键码值排好序

D)线性表以链式方式存储,并按关键码的检索频率排好序

5)下列选项中不属于结构化程序设计方法的是(    )。

A)自顶向下                         B)逐步求精                       C)模块化                         D)可复用

6)下列关于结构化程序设计原则和方法的描述中,错误的是(    )。

A)选用的结构只准许有一个入口和一个出口

B)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现

C)不允许使用GOTO语句

D)语言中所没有的控制结构,应该采用前后一致的方法来模拟

7)软件需求分析阶段的工作,可以分为4个方面:需求获取、需求分析、编写需求规格说明书以及(    )。

A)阶段性报告                     B)需求评审                       C)总结                             D)都不正确

8)下列关于软件测试的描述中正确的是(    )。

A)软件测试的目的是证明程序是否正确

B)软件测试的目的是使程序运行结果正确

C)软件测试的目的是尽可能地多发现程序中的错误

D)软件测试的目的是使程序符合结构化原则

9)用链表表示线性表的优点是(    )。

A)便于随机存取

B)花费的存储空间较顺序存储少

C)便于插入和删除操作

D)数据元素的物理顺序和逻辑顺序相同

10)在数据库设计中,将E-R图转换为关系模式的过程属于(    )。

A)需求分析阶段                                                             B)逻辑设计阶段

C)概念设计阶段                                                             D)物理设计阶段

11)下列各种窗体事件中,不能由用户触发的事件是(    )。

ALoad事件和Unload事件                                           BClick事件和Unload事件

CClick事件和DblClick事件                                        DLoad事件和Initialize事件

12)关于变量作用域,下列叙述中正确的是(    )。

A)在窗体的Form_Load事件过程中定义的变量是全局变量

B)局部变量的作用域可以超出所定义的过程

C)在某个Sub过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程

D)在调用过程中,所有局部变量被系统初始化为0或空字符串

13下列可作为Visual Basic变量名的是   

AA#A                                 BconstA                          C)?xy                          D4A

14a="Visual Basic"下面语句中可使b="Basic"的是   

Ab=Left(a,8)                       Bb=Mid(a,8,5)                Cb=Right(a,8)              Db=Left(a,8,5)

15InputBox函数返回值的类型为    )。

A)数值                                                                              B)字符串

C)变体                                                                              D)数值或字符串(视输入的数据而定)

16)在文本框中,要设置显示的文本颜色,应该设置(    )属性。

AForeColor                         BBackColor                     CFillColor                    DBackStyle

17)假定在图片框Picturel中装入了一个图形,为了清除该图形(注意,清除图形,而不是删除图片框),应采用的正确方法是(    )。

A)选择图片框,然后按Del

B)执行语句Picturel.Picture = LoadPicture("")

C)执行语句Picturel.Picture = ""

D)选择图片框,在属性窗口中选择Picture属性条,然后按回车键

18)为组合框Combo1增加一个列表项“电脑”,下列语句正确的是(    )。

ACombo1.Text = "电脑"                                               BCombo1.ListIndex = "电脑"

CCombo1.AddItem "电脑"                                           DCombo1.ListCount = "电脑"

19)以下叙述错误的是(    )。

A)滚动条的重要事件是ChangeScroll

B)框架的主要作用是将控件进行分组,以完成各自相对独立的功能

C)组合框是组合了文本框和列表框的特性而形成的一种控件

D)计时器控件可以通过对Visible属性的设置,在程序运行期间显示在窗体上

20)设a=5b=6c=7d=8,执行下列语句后,x的值为(    )。

x=IIf((a>b) And (c>d),10,20)

A10                                     B20                                  CTrue                           DFalse

21)下面程序运行时,单击窗体后,窗体上显示的结果是(    )。

Private Sub Form_Click()

Dim i As Integer

Dim sum As Long

Dim t As Long

    t = 1: sum = 0

    For i = 1 To 3

        t = t * i

        sum = sum + t

    Next i

    Print sum

End Sub

A3                                         B9                                  C5                                  D6

22)在运行阶段,要在文本框Text1获得焦点时选中文本框中所有内容,如图所示,对应的事件过程是(    )。

APrivate Sub Text1_LostFocus()

Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text)

End Sub

BPrivate Sub Text1_GotFocus()

Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text)

End Sub

CPrivate Sub Text1_Change()

Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text)

End Sub

DPrivate Sub Text1_SetFocus()

Text.SelStart = 0

Text1.SelLength = Len(Text1.Text)

End Sub

23下列程序段错误的是   

ADim a As Integer                                                         BDim a(),b()

a=array(1,2,3,4)                                                                  a=array(1,2,3,4)b=a

CDim a As Variant                                                         DDim a()As Variant

a=array(1,"asd",true)                                                          a=array(1,2,3,4)

24)在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:

Option Base 1

Private Sub Commandl Click()

  Dim a

  a = Array1, 2, 3, 4

  j = 1

  For i = 4 To 1 Step −1

     s = s + ai * j

     j = j * 10

  Next i

  Print s

End Sub

运行上面的程序,单击命令按钮,其输出结果是(    )。

A4321                                 B12                                  C34                              D1234

25)在窗体上用复制、粘贴的方法建立了一个命令按钮数组,数组名为ComTest1。设窗体Form1标题为“MyForml”,双击控件数组中的第3个按钮,打开代码编辑器,编写如下代码:

Privae Sub Comtest1_Click(Index As Integer)

Form1.Caption = "MyForm2"

End Sub

运行时,单击按钮数组中的第1个按钮,则窗体标题显示为(    )。

AForm1                                                                         BComTest1

CMyForm1                                                                   DMyForm2

26)下列有关过程的叙述中错误的是(    )。

A)如果过程被定义为Static类型,则该过程中的局部变量都是Static类型

BSub过程中不能嵌套定义Sub过程

CSub过程中可以嵌套调用Sub过程

D)事件过程可以像通用过程一样由用户定义过程名

27运行下面的程序,单击命令按钮,输出结果为(    )。

Function F(a As Integer)

    b = 0

    Static c

    b = b + l

    c = c + 1

    F = a + b + c

End Function

Private Sub Commandl_Click()

    Dim a As Integer

    a = 2

    For i = 1 To 3

        Print F(a)

    Next i

End Sub

A4                                       B4                                    C4                                D4

4                                              5                                           6                                       7

4                                              6                                           8                                       9

28在属性窗口中把窗体的KeyPreview属性设置为True然后编写如下两个事件过程

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

    Print Chr(KeyCode)

End Sub

 

Private Sub Form_KeyPress(KeyAscii As Integer)

    Print Chr(KeyAscli)

End Sub

在一般情况下(即不按住Shift键和锁定大写),运行程序,如果按“A”键,则程序的输出是(    )。

AA                                      Ba                                    CA                               Da

a                                              A                                          A                                      a

29)关于MDI窗体下列说法正确的是(    )。

A)一个应用程序可以有多个MDI窗体

B)子窗体可以移到MDI窗体以外

C)不可以在MDI窗体上放置按钮控件

DMDI窗体的子窗体不可拥有菜单

30窗体上有文本框Text1和一个菜单,菜单标题、名称如表,结构见图。要求程序执行时单击"保存"菜单项,则把其标题显示在Text1文本框中,下面可实现此功能的事件过程是(    )。

APrivate Sub save_Click()  BPrivate Sub save_Click()

      save_Click()                                                                   Text1.Text=save.Caption

      Text1.Text=file.save.Caption                                     End Sub

   End Sub

CPrivate Sub file_Click()    DPrivate Sub file_Click()

     Text1.Text=file.save.Caption                                         Text1.Text=save.Caption

   End Sub                                                                            End Sub

31)如下有一段不完整的程序段,如果要求该程序执行3次循环,则在程序中的空白处要填入(    )。

x = 1

Do

    x = x + 3 : Print x

Loop Until ___________

Ax>=8                                  Bx<8                          Cx>=7                            Dx<=7

32)下列程序的功能是调用字体对话框来设置文本框中的字体,单击Command1按钮弹出对话框,进行相应的字体、字号等的设置,然后单击“确定”按钮退出对话框,则将发生哪些变化(    )。

Private Sub Command1_Click()

    CommonDialog1.CancelError = True

    CommonDialog1.Flags = 3

On Error Resume Next

    CommonDialog1.ShowFont

    Text1.Font.Name = CommonDialog1.FontName

    Text1.Font.Size = CornmonDialog1.FontSize

    Text1.Font.Bold = CommonDialog1.FontBold

    Text1.Font.Italic = CommonDialog1.FontItalic

    Text1.Font.Underline = CommonDialog1.FontUnderline

    Text1.FontStrikethru = CommonDialog1.FontStrikethru

    Text1.ForeColor = CommonDialog1.Color

End Sub

AText1的字体不发生变化                                           BText1的字体发生变化

CText1的字体和颜色发生变化                                   D)程序出错

33窗体上有两个名称分别为TextlText2的文本框一个名称为Commandl的命令按钮。设有如下的类型声明

Type Person

name As String*8

major As String*20

End Type

当单击命令按钮时,将两个文本框中的内容写入一个随机文件Test.dat中。设文本框中的数据已正确地赋值给Person类型的变量p。则能够正确地把数据写入文件的程序段是(    )。

AOpen "c:\Test.dat" For Random As #1

Put #1,1,p

Close #1  

BOpen "c:\Test.dat" For Random As #1

Get#1,1,p

C10se #1

COpen "c:\Test.dat" For Random As #1 Len =Len(p)

Put #1,1,p

Close #1

DOpen "c:\Test.dat " For Random As #1 Len =Len(p)

Get #1,1,p

CloSe #1

34)函数过程F1的功能是:如果参数a为奇数,则返回值为1,否则返回值为0。以下能正确实现所述功能的代码的是(    )。

AFunction F1(a As Integer)                                            BFunction F1(a As Integer)

     If a Mod 2 = 0 Then                                                      If  a  Mod 2 = 0 Then

          Return 0                                                                   F1 = 0

     Else                                                                                 Else

          Return 1                                                                   F1 = 1

     End If                                                                             End If

   End Function                                                                    End Function

CFunction F1(a As Integer)                                            DFunction F1(a As Integer)

     If  a  Mod  2 = 0 Then                                             If  a Mod 2 <> 0 Then

         F1 = 1                                                                        Return 0

     Else                                                                                 Else

         F1 = 0                                                                        Return 1

     End If                                                                             End If

   End Function                                                                   End Function

35)假定在窗体(名称为Form1)的代码窗口中定义如下记录类型:

Private Type animal

    AnimalName As String * 20

    AColor As String * 10

End Type

在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim rec As animal

    Open "c:\vbTest.dat" For Random As #1 Len = Len(rec)

    rec.AnimalName = "Cat" : rec.AColor = "White"

    Put #1, , rec

    Close #1

End Sub

则以下叙述中正确的是(    )。

A记录类型animal不能在Form1中定义必须在标准模块中定义

B)如果文件c:\vbTest.dat不存在,则Open命令执行失败

C)由于Put命令中没有指明记录号,因此每次都把记录写到文件的末尾

D)语句“Put #1, , rec”将animal类型的两个数据元素写到文件中

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

1)数据库系统的主要特点为数据集成性、数据的高___________和低冗余性、数据独立性和数据统一管理和控制。

2)数据库的逻辑模型设计阶段的任务是将___________转换成关系模式。

3)在面向对象方法中,___________描述的是具有相似属性与操作的一组对象。

4)最简单的交换排序方法是___________

5)在链表的运算过程中,能够使空表与非空表的运算统一的结构是___________

6)设有一个有10个元素的数组,下列程序将该数组的第1个元素与第10个元素交换,第2个元素与第9个元素交换……,第5个元素与第6个元素交换,请填空。

Private Sub Command1_Click()

    Dim a(1 To 10) As Integer

    Dim i As Integer

    Dim p As Integer

    Dim t As Integer

    Dim j As Integer

    For i = 1 To 10

        a(i) = i

    Next i

    For j = 1 To 5

        t = a(j)

        ___________

        ___________

    Next j

    For i = 1 To 10

        Print a(i)

    Next i

End Sub

7)过程(Sub)和函数(Function)两者中,___________可以有返回值。

8)为了执行鼠标自动拖放,必须把___________属性设置为___________;而为了执行手动拖放,必须把该属性设置为___________

9)在窗体上有一个名称为Text1的文本框,有三个单选按钮,这三个单选按钮构成一个控件数组,名称为Option1。要求程序执行时,如果单击某个单选按钮,则文本框中的字体将根据所选择的单选按钮切换,如图所示。请填空。

Private Sub Option1_Click(Index As Integer)

Select Case ___________

Case 0

  a="宋体"

Case 1

  a="黑体"

Case 2

  a="楷体_GB2312"

End Select

Text1___________=a

End Sub

10)下面程序的功能是将一个一维数组中的元素循环向右移动,每次移位次数由文本框Text中的输入决定。例如,数组各元素的值依次为0,1,2,3,4,5,6,7,8,9,10;移动3次后,各元素的值依次为8,9,10,0,1,2,3,4,5,6,7。请将程序补充完整。

Private Sub MoveRight(x() As Integer)

Dim i As Integer, j As Integer, k As Integer

    i = UBound(x)

    j = x(i)

    For k = i To ___________ Step -1

    ___________

    Next k

    x(LBound(x)) = j

End Sub

Private Sub Command1_Click()

Dim a(10) As Integer

Dim i As Integer, j As Integer, k As Integer

    For i = 0 To 10

        a(i) = i

    Next i

    j = Val(Text1.Text)

    k = 0

    Do

    k = k + 1

    Call MoveRight(a)

    Loop Until k = j

    For i = 0 To 10

        Print a(i);

    Next i

End Sub

参考答案

一、选择题

1A   2C  3D  4A  5D  6C  7B 

8C   9C  10B         11D         12C         13B         14B

15B 16A         17B         18C         19D         20B         21B

22B 23D         24D         25D         26D         27B         28A

29C 30B         31A         32B         33C         34B         35C

二、填空题

1)共享性

2E-R

3)类

4)冒泡排序

5)循环链表

6a(j)=a(11-j)    a(11-j)=t

7Function

8DragMode  1    0

9Index   FontName

101    x(i)=x(i-1)