当前位置:文档之家› 郑州大学2013年vb考试题加答案

郑州大学2013年vb考试题加答案

一、单项选择题(50道小题,共50分)
1、Visual Basic程序中的注释所使用的字符是( A )。(1分)
A、' B、:
C、\ D、_

2、下列选项中,不属于VB特点的选项是( C )。(1分)
A、可视化程序设计 B、面向对象
C、窗口中包含有菜单栏和工具栏 D、事件驱动下的编程机制

3、下列关于Visual Basic的叙述不正确的是( A )。(1分)
A、变量名区分字母大、小写 B、不能用系统保留字声明为变量名
C、允许在一行中书写多条语句,但要用冒号隔开 D、允许一条语句分成若干行书写,但要在上一行末加上空格及下划线作为续行标志

4、有程序代码如下:Text1.Text = "郑州大学",则Text1、Text 、"郑州大学"分别代表( C )。(1分)
A、对象、值、属性 B、对象、方法、属性
C、对象、属性、值 D、属性、对象、值

5、下列叙述中,正确的是( D )。(1分)
A、VB的事件由用户定义 B、VB程序以顺序方式执行
C、每一个VB程序都是从Main()函数开始执行 D、VB运行时,系统等待事件的发生,事件的执行顺序与书写顺序无关

6、下列叙述错误的是( A )。(1分)
A、不允许使用行号与标号 B、单条语句可分行书写
C、同一行上可以书写多条语句 D、VB代码不区分字母的大小写

7、VB程序中,通常不会产生错误提示的是( D )。(1分)
A、编译错误 B、实时错误
C、运行时错误 D、逻辑错误

8、启动Visual Basic后,系统为用户新建的工程起一个名为( A )的临时名称。(1分)
A、工程1 B、窗体1
C、工程 D、窗体

9、在工具栏中有一个“启动”按钮,这个按钮的作用是( A )。(1分)
A、运行一个应用程序 B、运行一个窗体
C、打开被选中对象的属性窗口 D、打开被选中对象的代码窗口

10、当程序中断修改后再运行时,VB进入( B )模式。(1分)
A、设计 B、运行
C、中断 D、编程

11、在VB程序中,逐语句调试的操作键是( A )。(1分)
A、F8键 B、F9键
C、F2键 D、F1键

12、在Visual Basic的设计模式下,如果按下功能键F5,则( A )。(1分)
A、开始运行正在设计的程序 B、执行一句代码
C、编译当前正在设计的程序 D、退出Visual Basic

13、在设计阶段,双击窗体上的某个控件,可以打开( A )。(1分)
A、代码窗口 B、属性窗口
C、工具箱窗口 D、工程资源管理器窗口

14、打开Visual Basic集成环境后,默认显示的工具栏是( B )。(1分)
A、编辑工具栏 B、标准工具栏
C、调试工具栏 D、窗体工具栏

15、在设计阶段,当双击窗体上的某个控件时,所打开的窗口是( C )。(1分)
A、工程资源管理器窗口 B、工具箱窗口
C、

代码窗口 D、属性窗口

16、下面的过程定义语句中,不合法的是( A )。(1分)
A、Sub Para(ByVal n() ) B、Sub Para(n)
C、Function Para(ByVal n) D、Function Para(proc1)


17\不能脱离控件对象(包括客体)而独立存在的过程是(A )。(1分)
A、事件过程 B、通用过程
C、Sub过程 D、函数过程

18、Sub过程与 Function过程最根本的区别是( D )。(1分)
A、Sub过程可以使用Call语句或直接使用过程名调用,而Function过程不可以 B、Function过程可以有参数,Sub过程不可以
C、两种过程参数的传递方式不同 D、Sub过程的过程名不能返回值,而Function过程能够通过其过程名返回值

19、参数传递有按值传递和按地址传递,( A )关键字表示按值传递。(1分)
A、ByVal B、ByRef
C、Value D、Refrence

20、窗体上有两个文本框(Text1、Text2)和一个命令按钮(Command1),阅读如下程序: Private Sub func(T As TextBox, a As Integer): T.Text = "1234": a = a * a: End Sub: Private Sub Form_Load(): Text1.Text = "ABCD": Text2.Text = 10: End Sub: Private Sub Command1_Click(): Dim temp As Integer: temp = Val(Text2.Text): Call func(Text1, temp): Text2.Text = temp: End Sub,运行后,单击按钮,Text1和Text2将分别显示( A )。(1分)
A、ABCD和10 B、1234和100
C、ABCD和100 D、1234和10

21、在定义过程时,若将参数传递方式指定为传值方式,应该用关键字( C )。(1分)
A、Dim B、Var
C、ByVal D、Byadr

22、下列说法中,不正确的说法是( B )。(1分)
A、可以在窗体的某个子程序中定义窗体级变量 B、声明窗体级变量的位置是在窗体所有过程的最前面
C、窗体级变量声明后,窗体内的各个过程都能使用它并能改变其值 D、程序运行时,先执行窗体级变量声明语句,再去执行窗体上的过程

23、由( C )关键字声明的局部变量在整个程序运行时一直存在。(1分)
A、Dim B、Public
C、Static D、Private

24、定义过程的局部变量时,用关键字( C )表示被定义的变量在调用离开过程后仍保留其值。(1分)
A、Dim B、ByVal
C、Static D、Public

25、以下四个用于变量声明的关键字中,不能在模块通用声明段中使用的是( A )。(1分)
A、Static B、Public
C、Private D、Dim

26、VB中有三种类型的模块,分别是类模块、( A )。(1分)
A、窗体模块和标准模块 B、过程模块和窗体模块
C、函数模块和标准模块 D、全局模块和标准模块

27、在窗体的通用段声明变量时,不能使用( D )关键字。 (1分)
A、Dim B、Public
C、Private D、Static

28、下列说法中,不正确的说法是( A )。(1分)
A、不能用Private定义模块级变量 B、不能在“通用声明”段中为变量赋值
C、不能在

窗体的某个子程序中定义窗体级变量 D、声明窗体级变量的位置是在窗体所有过程的最前面

29、能够被本模块的其它过程引用的是( B )。(1分)
A、局部变量 B、模块级变量
C、静态变量 D、以上都是

30、在声明一个过程中必须有的是( B )。(1分)
A、Private关键字 B、SUB关键字
C、返回值类型说明 D、参数

31、以( A )保留字开始的为子过程。(1分)
A、Sub B、Event
C、Function D、Property

32、Sub子过程用的退出语句是( B )。(1分)
A、End Sub B、Exit Sub
C、End Function D、Exit Function

33、以下关于函数过程的叙述中,正确的是( B )。(1分)
A、函数过程形参的类型与函数返回值的类型没有关系 B、在函数过程中,可以通过函数名返回一个值
C、当数组作为函数过程的参数时,只能以传值方式传递,不能以传址方式传递 D、如果不指明函数过程参数的类型,则该参数没有数据类型

34、以( C )保留字开始的为函数过程。(1分)
A、Sub B、Event
C、Function D、Property

35、一个工程含有多个窗体及标准模块,下列叙述错误的是( A )。(1分)
A、如果工程含Form1窗体,程序首先执行该窗体的事件过程 B、任何时刻最多只有一个窗体是活动窗体
C、标准模块不能设置为启动模块 D、Hide方法只是隐藏而不从内存中清除窗体

36、如果要在应用程序中建立另一个窗体,正确的操作方法是( B )。(1分)
A、在“文件”下拉菜单中选择“添加窗体”命令 B、在“工程”下拉菜单中选择“添加窗体”命令
C、在“编辑”下拉菜单中选择“添加窗体”命令 D、在“工具”下拉菜单中选择“添加窗体”命令

37、在VB中,建立新窗体的方法是( B )。(1分)
A、利用标准工具箱中的窗体控件 B、利用"工程"下拉菜单中的命令
C、由系统自动生成 D、利用VB命令生成

38、如果一个工程含有多个窗体及标准模块,则以下叙述中,错误的是( A )。(1分)
A、不能把标准模块设置为启动模块 B、任何时刻最多只有一个窗体是活动窗体
C、用Hide方法将把窗体隐藏起来 D、如果工程中含Sub Main过程,则程序可能首先执行该过程

39、如果一个工程含有多个窗体及标准模块,则以下叙述中,错误的是( A )。(1分)
A、如果工程中含有Sub Main过程,则程序一定首先执行该工程 B、不能把标准模块设置为启动模块
C、用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体 D、任何时刻最多只有一个窗体是活动窗体

40、如果Form1是启动窗体,并且Form1的Load事件过程中有Form2.Show,则程序启动后( B )。(1分)
A、Form2是最后的活动窗体 B、Form1是最后的活动窗体
C、编译错误 D、

运行出错

41、如果Form2是启动窗体,并且Form2的Load事件过程中有Form1.Show,则程序启动后( D )。(1分)
A、发生一个运行时错误 B、发生一个编译时错误
C、在所有的初始化代码运行后Form1是活动窗体 D、在所有的初始化代码运行后Form2是活动窗体

42、程序运行时,不是由系统触发的事件是( B )。(1分)
A、Initialize B、Click
C、Load D、Activate

43、顺序文件是因为( D )。(1分)
A、文件按每条记录的记录号从小到大排序 B、文件按记录长度从小到大排序
C、文件中按记录的某项关键字从大到小排序 D、记录按进入的先后顺序存放的,读出也是按照原写入的顺序进行的

44、下列关于顺序文件的叙述正确的是( A )。(1分)
A、所有记录的长度必须相同 B、可以使用文本编辑软件编辑
C、可以随机读取文件中的记录 D、文件中记录按关键字顺序存放

45、关于Visual Basic6.0文件的命名原则,下列说法正确的是( D )。(1分)
A、可以在文件名中使用*和? B、支持文件名为任意长度
C、与Windows命名方式不一致 D、支持传统的命名方式:8位主文件名,3位扩展名

46、在Visual Basic中,按文件的数据性质的不同,可将文件分为( A )。(1分)
A、数据文件和程序文件 B、文本文件和数据文件
C、顺序文件和随机文件 D、ACSII文件和二进制文件

47、下列叙述中,错误的叙述是( A )。(1分)
A、文件号的使用范围是1~256 B、顺序文件的数据或者只能读,或者只能写
C、文件的打开必须使用Open语句 D、文件的关闭必须使用Close语句

48、要以读方式打开D盘根目录上的一个顺序文件 Test.txt,应使用的语句是( B )。(1分)
A、Open "Test.txt" For Output As #1 B、Open "D:\Test.txt" For Input As #1
C、Open "D:\Test.txt" For Output As #1 D、Open "Test.txt" For Input As #1

49、要从顺序文件中读出一个数据项,可以用( A )函数。(1分)
A、Input B、Write
C、InputBox D、InputString

50、如果要向Stu.dat文件追加数据,正确打开该文件的语句是( B )。(1分)
A、Open "Stu.dat" For Output As #1 B、Open "Stu.dat" For Append As #1
C、Open Stu.dat For Output As #1 D、Open Stu.dat For Append As #1



二、填空题(7道小题,共30分)
1、* 将一维数组a中的数值反序放置。
* 程序代码如下:
Private Sub Command1_Click()
Dim a(10) As Integer, i As Integer, t As Integer
For i = 1 To 10
a(i) = Int(90 * Rnd) + 10
Print a(i);
Next i: Print
For i = 1 To 5
t= a(i)
a(i) = a(11 - i)
a(11 - i) = t
Next i
For i = 1 To 10
Print a(i);
Next i: Print
End Sub


(4分)



2、* 输出九九乘法表的左下角
程序代码如下:
Pri

vate Sub Command1_Click()
Dim se As String
Print Tab(35); "九九乘法表"
For =1 To 9
For j = 1 to i-1
se = i & "×" & j & "=" & i*j
Print Tab((j - 1) * 9 + 1);se ;
Next j
Print
Next i
End Sub




(4分)



3、* 用随机函数产生n个10~99之间的随机整数存入一维数组A,通过键盘输入X,然后在数组中查找。如果找到了,就把这个数从数组中删去;如果没有找到,则给出“无可删除的元素”信息。
Private Sub Form_Click()
Dim n As Integer, a(100) As Integer
Dim x As Integer, i As Integer
Dim k As Integer, flag As Boolean
n = InputBox("N=")
For i = 1 To 99
a(i) = Int(90 * Rnd + 10)
Print a(i);
Next i:Print
x = InputBox("X=") : Print "X="; x
flag = False
For i = 1 To n
If a(i) = x Then
flag = True
k = i
Exit For
End If
Next i
If Not flag Then
Print "无可删除的元素"
Else
For i = k To n - 1
a(i) = a(i + 1)
Next i: n = n - 1
For i = 1 To n
Print a(i);
Next i
End If
End Sub


(4分)



4、* 使用冒泡排序法,将一维数组A按从大到小排序(降序)。
Private Sub Command启动_Click()
Dim a(10) As Integer
Dim i As Integer, j As Integer, t As Integer
For i = 1 To 10
a(i) = Int(90 *Rnd) + 10
Print a(i);
Next i: Print
For i = 10 To 2 Step -1
For j = 1 To i - 1
If a(j) < a(j + 1) Then
t = a(j): a(j) = a(j + 1): a(j + 1) = t
End If
Next j
Next i
For i = 1 To 10
Print a(i);
Next i: Print
End Sub



(4分)



5、 杨辉三角形如图所示:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
.............................

程序代码如下:
Private Sub Form_Click()
Dim a(1 To 10, 1 To 10) As Integer, i%, j%
For i = 1 To 10
a(i, 1) = 1
a(i, i) = 1
Next i
For i = 1 To 10
For j = 2 To - 1
a(i, j) = a(i - 1, j - 1) + a(i - 1, j)
Next j
Next i
For i = 1 To 10
For j = 1 To i - 1
Print Tab(5 * (j - 1) + 1); a(i, j);
Next j
Print
Next i
End Sub


(4分)



6、* 利用阶乘函数过程 fac(n) = n! 求1!+2!+…+10!
* 程序代码如下:
Public jc (ByVal n As Integer) As Long
Dim i% , jc As Long
jc = 1
For i = 1 To n
jc = jc * i
Next i
fac = jc
End Function
Private Sub Form_Click()
Dim S&,k%
S=0
For k=1 to 10
S=S+fac(k)
Next k
Print S
End Sub



(4分)



7、* 设计一前景背景色互换程序,如图{<1-1.jpg>}
* 单击命令按钮“换”,互换窗体中标签

的前景色和背景色。
'1-1.jpg
Private Sub Form_Load()
Label1 = “大象无形 大音希声”
End Sub

Private Sub Command1_Click()
Dim t As Variant
Dim i As Integer
i = MsgBox("确定换吗?", vbOkCancel)
If i = 1 Then
t = Label1.caption
Label1.ForeColor =Label1.BackColor
Label1.caption = t
End If
End Sub



(6分)





三、编程题(3道小题,选作2道,每道15分,共30分)
1、* 编写程序,计算从100到2000中,所有首位和末尾加起来为7的数的和是多少?例如,106,205即为这样的数。
Private Sub Command1_Click()
Dim x%, y%, sum
For i = 100 To 2000
x = Left(i, 1)
y = Right(i, 1)
If x + y = 7 Then sum = sum + i
Next
Print sum
End Sub









2、* 下载数据文件data0002.txt到自己的机器中,编程求出该数据文件里的前10000个数中,末位是1的素数的个数。

(【下载文件“data0002.txt”】;)下载方法:在链接上右击打开弹出菜单,选择“目标另存为”。
(10分)
Private Sub Command1_Click()
Dim s, x
Open "d:/data0002.txt" For Input As 1
For i = 1 To 1000
Input #1, x
s = Right(x, 1)
If s = 1 Then
For j = 2 To x
If x Mod j = 0 Then Exit For
Next j
If j > x - 1 Then n = n + 1
End If
Next i
Close (1)
Print n
End Sub









相关主题
文本预览
相关文档 最新文档