航空 发表于 2011-9-14 19:53:56

2006年9月全国计算机等级考试二级笔试试卷Visual Basic语言程序设计

**** Hidden Message *****

航空 发表于 2011-9-14 19:54:26

2006年9月全国计算机等级考试二级笔试试卷Visual Basic语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)
    下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
(1)下列选项中不符合良好程序设计风格的是______。

A) 源程序要文档化
B) 数据说明的次序要规范化

C) 避免滥用goto语句
D) 模块设计要保证高耦合、高内聚
(2)从工程管理角度,软件设计一般分为两步完成,它们是______。

A) 概要设计与详细设计
B) 过程控制

C) 软件结构设计与数据设计
D) 程序设计与数据设计
(3)下列选项中不属于软件生命周期开发阶段任务的是______。

A) 软件测试
B) 概要设计

C) 软件维护
D) 详细设计
(4)在数据库系统中,用户所见数据模式为______。

A) 概念模式
B) 外模式

C) 内模式
D) 物理模式
(5) 数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和______。

A) 编码设计
B) 测试阶段

C) 运行阶段
D) 物理设计
(6) 设有如下三个关系表

  下列操作中正确的是______。

A) T=R∩S
B) R∪S

C) T=R×S
D) T=R/S
(7)下列叙述中正确的______。

A) 一个算法的空间复杂度大,则其时间复杂度也必定大

B) 一个算法的空间复杂度大,则其时间复杂度必定小

C) 一个算法的时间复杂度大,则其空间复杂度必定小

D) 上述三种说法都不对
(8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为______。

A) 63
B) 64

C) 6
D) 7
(9)数据库技术的根本目标是解决数据的______。

A) 存储问题
B) 共享问题

C) 安全问题,
D) 保护问题
(10)对下列二叉树

    进行中序遍历的结果是______。

A) ACBDFEG
B) ACBDFGE

C) ABDCGEF
D) FCADBEG
(11)以下叙述中正确的是______。

A) 窗体的Name属性指定窗体的名称,用来标识一个窗体

B) 窗体的Name属性值是显示在窗体标题栏中的文本

C) 可以在运行期间改变窗体的Name属性的值

D) 窗体的Name属性值可以为空
(12)以下叙述中错误的是______。

A) 打开一个工程文件时,系统自动装入与该工程有关的窗体文件

B) 保存Visual Basic程序时,应分别保存窗体文件及工程文件

C) Visual Basic应用程序只能以解释方式执行

D) 窗体文件包含该窗体及其控件的属性
(13) 设a=2,b=3,c=4,下列表达式的值是______。

Nota<=c Or 4*c=b^2 And b<>a+C

A) -1
B) 1
C) True
D) False
(14) 设有如下的用户定义类型:

Type Student

number As String

name As string

age As Integer

End Type
    则以下正确引用该类型成员的代码是______。


A) Student name="李明”
B) Dim s As Student

s.name="李明"

C) Dim s As Type Student
D) Dim s As Type

s.name="李明"
s.name="李明"
(15)设a=5,b=6,c=7,d=8,执行下列语句后,x的值为______。

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

A) 10
B) 20
C) True
D) False
(16)执行以下程序段后,变量c$的值为______。

a$="Visual Basic Programming"

b$="Quick"

c$=b$ & UCase(Mid$(a$,7,6)) & Right$(d$,12)

A) Visual BASIC Programming
B) Quick Basic Programming

C) QUICK Basic Programming
D) Quick BASIC Programming
(17)在窗体上画一个文本框(其名称为Text1)和一个标签(其名称为Labell),程序运行后,如果在文本框中输入指定的信息,则立即在标签中显示相同的内容。以下可以实现上述操作的事件过程是______。

A) Private Sub Text1 Click()
B) Private Sub Text1_Change()

Labell.Caption=Text1.Text
Labell.Caption=Text1.Text

End Sub
End Sub

C) Private Sub Labell_Change()
D) Private Sub Labell_Click()

Labell.Caption=Text1.Text
Labell.Caption=Text1.Text

End Sub
End Sub
(18)在窗体上画一个命令按钮和一个标签,其名称分别为Command1和Labell,然后编写如下事件过程:

Private Sub Command1 Click()

Dim i As Integer,n As Integer

For i=0 To 50

i=i+3

n=n+1

If i>10 Then Exit For

Next

Text1.Text=Str(n)
End Sub
  程序运行后,单击命令按钮,标签中显示的内容是______。

A) 11

B) 12
C) 16
D) 20
(19)在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

a=0

For i=1 To 10

a=a+1

b=0

For j=1 To 10

a=a+1

b=b+2


Next j

Next i

Label1.Caption=Str(a)

Label2.Caption=Str(b)

End Sub
  程序运行后,单击命令按钮,在文本框中显示的值是______。

A) 5
B) 4
C) 3
D) 2
(20)在窗体上画一个命令按钮和两个标签,其名称分别为Command1、Label1和Label2,然后编写如下事件过程;

Private Sub Command1_Click()

a=0

For i=1 To 10

a=a+1

b=0

For j=1 To 10

a=a+1

b=b+2

Next j

Next i

Label1.Caption=Str(a)

Label2.Caption=Str(b)

End Sub
程序运行后,单击命令按钮,在标签Label1和Label2中显示的内容分别是______。

A) 10和20
B) 20和110
C) 200和110
D) 110和20
(21)在窗体上画一个名称为List1的列表框,一个名称为Label1的标签,列表框中显示若干城市的名称。当单击列表框中的某个城市名时,该城市名从列表框中消失,并在标签中显示出来。下列能正确实现上述操作的程序是______。

A) Private Sub List1_Click()
B) Private Sub List1_Click()

Label1.Caption=List1.ListIndex
Label1.Name=List1.ListIndex

List1.RemoveItem List1.Text
List1.RemoveItem List1.Text

End Sub
End Sub

C) Private Sub List1_Click()
D) Private Sub List1_Click()

Label1.Cavtion=List1.Text
Label1.Name=List1.Text

List1.RemoveItem List1.ListIndex
List1.RemoveItem List1.ListIndex

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

Private Sub Command1 Click()

Dim i As Integer,j As Integer

Dim a(10,10)As Integer

For i=1 To 3

For j=1 To 3

a(i,j)=(i-1)*3+j

Print a(i,j);

Next j

Print

Next i

End Sub
程序运行后,单击命令按钮,窗体上显示的是______。

A) 1 2 3
B) 2 3 4
C) 1 4 7
D) 1 2 3

2 4 6
3 4 5
2 5 8
4 5 6

3 6 9
4 5 6
3 6 9
7 8 9
(23)在窗体上画一个命令按钮,名称为Command1,然后编写如下代码:

Option Base()

Private Sub Command1 Click()

Dim A(4)As Integer,B(4)As Integer

For k=0 To 2

A(k+1)=InputBox(“请输入一个整数”)

B(3-k)=A(k+1)

Next k

Print B(k)

End sub
    程序运行后,单击命令按钮,在输入对话框中分别输入2、4、6,输出结果为______。

A) 0
B) 2
C) 3
D) 4
(24)有以下程序:

Option Base 1

Dim arr()As Integer

Private Sub Form Click()

Dim i As Integer,j As Integer

ReDim arr(3,2)

For i=1 To 3

For j=1 To 2

arr(i,j)=i*2+j

Next j

Next i

ReDim Preserve arr(3,4)

For j=3 To 4

arr(3,j)=j+9

Next j

Print arr(3,2);arr(3,4)

End Sub
  程序运行后,单击窗体,输出结果为______。

A) 813
B) 013
C) 712
D) 00
(25)以下叙述中正确的是______。

A) 一个Sub过程至少要有一个Exit Sub语句

B) 一个Sub过程必须有一个End Sub语句

C) 可以在Sub过程中定义一个Function过程,但不能定义Sub过程

D) 调用一个Function过程可以获得多个返回值
(26)有以下程序:

Sub subP(b()As Integer)

For i=1 To 4

b(i)=2*i

Next i

End Sub

Private Sub Command1_Click()

Dim a(1 To 4)As Integer

a(i)=5


a(2)=6

a(3)=7

a(4)=8

subP a()

For i=1 To 4

Print a(i)

Next i

End Sub
    运行上面的程序,单击命令按钮,输出结果为______。

A) 2
B) 5
C) 10
D) 出错

4
6
12

6
7
14

8
8
6
(27)设有如下通用过程:

Public Function Fun(xStr As String)As String

Dim tStr As String,strL As Integer

tStr=""

strL=Len(xStr)

i=1

Do While i<=strL/2

tStr=tStr & Mid(xStr,i,1) & Mid(xStr,strL-i+1,1)

i=i+1

Loop

Fun=tStr

End Function
    在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮。然后编写如下的事件过程:

Private Sub Command1_Click()

Dim S1 As String

S1="abcdef"

Text1.Text=UCase(Fun(S1))

End Sub
  程序运行后,单击命令按钮,则Text1中显示的是______。

A) ABCDEF
B) abcdef
C) AFBECD
D) DEFABC
(28)在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:

Private Sub TxtA_KeyPress(KeyAscii As Integer)

End Sub
    假定焦点已经位于文本框中,则能够触发KeyPress事件的操作是______。

A) 单击鼠标
B) 双击文本框


C) 鼠标滑过文本框
D) 按下键盘上的某个键
(29)在窗体上画一个命令按钮和两个文本框,其名称分别为Command1、Text1和Text2,然后编写如下程序:

Dim S1 As String,S2 As String

Private Sub Form_Load()

Text1.Text=""

Text2.Text=""

End Sub

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

S2=S2 & Chr(Keycode)

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

S1=S1 & Chr(KeyAscii)

End Sub

Private Sub Command1_Click()

Text1.Text=S2

Text2.Text=S1

S1=""

S2=""

End Sub
    程序运行后,在Text1中输入“abc”,然后单击命令按钮,在文本框Text1和Text2中显示的内容分别为______。

A) abc和ABC
B) abc和abe
C) ABC和abc
D) ABC和ABC
(30)以下说法中正确的是______。

A) 任何时候都可以通过执行“工具”菜单中的“菜单编辑器”命令打开菜单编辑器

B) 只有当某个窗体为当前活动窗体时,才能打开菜单编辑器

C) 任何时候都可以通过单击标准工具栏上的“菜单编辑器”按钮打开菜单编辑器

D) 只有当代码窗口为当前活动窗口时,才能打开菜单编辑器
(31)在窗体上画一个通用对话框,其名称为CommonDialog1,然后画一个命令按钮,并编写如下事件过程:

Private Sub Command1_Click()

CommonDialog1.Filter="All Files(*.*)|*.*|Text Files"&_

"(*.txt)|*.txt|Executable Files(*.exe)|*.exe"

CommonDialog1.FilterIndex=3

CommonDialog1.ShowOpen

MsgBox CommonDialog1.FileName

End Sub
    程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显示的是______。

A) AllFiles(*.*)
B) Text Files(*.txt)

C) Executable Files(*.exe)
D) 不确定
(32) 以下叙述中错误的是______。

A) 一个工程中可以包含多个窗体文件

B) 在一个窗体文件中用Public定义的通用过程不能被其他窗体调用

C) 窗体和标准模块需要分别保存为不同类型的磁盘文件

D) 用Dim定义的窗体层变量只能在该窗体中使用
(33)以下叙述中错误的是______。

A) 语句"Dim a,b As Integer"声明了两个整型变量

B) 不能在标准模块中定义Static型变量

C) 窗体层变量必须先声明,后使用

D) 在事件过程或通用过程内定义的变量是局部变量
(34) 设有语句:Open "d:\Test.txt" For Output As #1,以下叙述中错误的是______。

A) 若d盘根目录下无Test.txt文件,则该语句创建此文件

B) 用该语句建立的文件的文件号为1

C) 该语句打开d盘根目录下一个已存在的文件Test.txt,之后就可以从文件中读取信息

D) 执行该语句后,就可以通过Print#语句向文件Test.txt中写入信息
(35)以下叙述中错误的是______。

A) 顺序文件中的数据只能按顺序读写

B) 对同一个文件,可以用不同的方式和不同的文件号打开

C) 执行Close语句,可将文件缓冲区中的数据写到文件中

D) 随机文件中各记录的长度是随机的
二、填空题(每空2分,共30分)
    请将每空的正确答案写在【1】~【15】的横线上。
(1)下列软件系统结构图
      
    的宽度为  【1】  。
(2)
【2】  的任务是诊断和改正程序中的错误。
(3)一个关系表的行称为  【3】  。
(4)按“先进后出”原则组织数据的数据结构是
【4】  。
(5)数据结构分为线性结构和非线性结构,带链的队列属于  【5】  。
(6)描述“X是小于100的非负整数”的Visual Basic表达式是  【6】  。
(7) 在窗体上有一个名称为Command1的命令按钮和一个名称为Text1的文本框。程序运行后,Command1为禁用(灰色),此时如果在文本框中输入字符,则命令按钮Command1
变为可用。请填空。

Private Sub Form_Load()

Command1.Enabled=False

End sub

Private Sub Text1_
【7】
()

Command1.Enabled=Tree

End Sub
(8)在窗体上画一个名称为“Command1”的命令按钮。然后编写如下事件过程

Private Sub Command1 Click()

Dim a As String

a="123456789"

For i=1 To 5

Print Space(6-i);Mid$(a,  【8】  ,2*i-1)

Next i

End Sub
    程序运行后,单击命令按钮,窗体上的输出结果是

5

456

34567

2345678

123456789
  请填空。
(9)以下程序的功能是:将一维数组A中的100个元素分别赋给二维数组B的每个元素并打印出来,要求把A(i)到A(10)依次赋给B(1,1)到B(1,10),把A(11)到A(20)依次赋给

B(2,1)到B(2,10),……,把A(91)到A(100)依次赋给B(10,1)到B(10,10)。请填空。

Option Base 1

Private Sub Form_Click()

Dim i As Integer,j As Integer

Dim A(1 To 100)As Integer

Dim B(1 To 10,1 To 10)As Integer

For i=1 To 100

A(i)=Int(Rnd*100)

Next i

For i=1 To
【9】


For j=1 To
【10】


B(i,j)=  【11】


Print B(i,j);

Next j

Print

Next i

End Sub
(10)在窗体上画一个名称为Combol的组合框,然后画两个名称分别为Label1、Label2,标题分别为“城市名称”和空白的标签。程序运行后,在组合框中输入一个新项目并按回
车键,如果输入的项目在组合框的列表中不存在,则自动将其添加到组合框的列表中,并在Label2中给出提示“已成功添加新输入项。”,如图所示。如果输入的项目已存在,则在Label2中给出提示“输入项已在组合框中。”。请填空。
     

Private Sub Combo1_KeyPress(KeyAscii As Integer)

If KeyAscii=13 Then

For i=0 To Combo1.ListCount-1

If Combo1.Text=
【12】
Then

Label2.Caption="输入项已在组合框中。"

Exit Sub

End If

Next i

Label2.Caption="已成功添加新输入项。"

Combo1.
【13】
Combo1.Text

End If

End Sub
(11) 在窗体上画一个命令按钮和一个文本框,其名称分别为Command1和Text1,然后编写如下事件过程:

Private Sub Command1_Click()

Dim inData As String

Text1.Text=""

Open"d:\myfile.txt" For
【14】
As#1

Do While
【15】


Input #1,inData

Text1.Text=Text1.Text+inData

Loop

Close#1

End Sub
    程序的功能是,打开D盘根目录下的文本文件myfile.txt,读取它的全部内容并显示在文本框中。请填空。

页: [1]
查看完整版本: 2006年9月全国计算机等级考试二级笔试试卷Visual Basic语言程序设计