试卷编号
命题人: 试卷分类(A卷或B卷) B
五邑大学 试 卷
学期: 2008 至 2009 学年度 第 2 学期
课程: 计算机语言与程序设计 专业:
班级: 姓名: 学号:
题号
一
二
三
四
五
六
七
八
九
十
总分
得分
得分
一、 选择题(2分/题,15小题,共30分)
1. 以下叙述中,错误的是( C )。
A 一个VisualBasic应用程序可以含有多个标准模块文件
B 一个VisualBasic工程可以含有多个窗体文件
C 标准模块文件可以属于某个指定的窗体文件
D 标准模块文件的扩展名是.Bas
2. Visual Basic规定工程文件的扩展名是( B )。
A .frmB .vbpC .vbgD .bat
3. 下面的运算符中,优先级最高的是( D )。
A NotB AndC OrD Like
4. 下面的( D )不能用来在模块之间传递数据。
A 全局变量 B 对象属性C 全局数组D 模块级变量
5. VB提供了结构化程序设计的三种基本结构,三种基本结构是( D )。
A 递归结构、选择结构、循环结构B 选择结构、过程结构、循序结构
C 过程结构、输入输出结构、转向结构D 选择结构、顺序结构、循序结构
6. 如果要改变窗体的标题,则需要设置的属性是( A )。
A CaptionB NameC BackColorD BorderStyle
7.函数Mid(“WuyiUniversity”,5)的值为( B )。
A “WuyiU”B “University”C “rsity”D “Unive”
8.以下能判断是否到达文件尾的函数是( D ) 。
A BOFB LOCC LOFD EOF
9. 以下赋值语句中正确的是( D )。
A 10x=Sin(x)+yB c+x+y=c*y
C x=Sin(x)/(20 Mod 2)D c=3+Sqr(18)
10. 退出For循环可使用的语句为( A )。
A Exit ForB Exit DoC End ForD End Do
11. 下列符号中,合法的VB变量是( A )。
A a123B IntegerC 2abD sin(x)
12. 设有以下循环结构
Do
循环体
Loop While
则以下叙述中错误的是( A )。
A 若“条件”是一个为0的常数,则一次也不执行循环体
B “条件”可以是关系表达式、逻辑表达式或常数
C 循环体中可以使用Exit Do语句
D 如果“条件”总是为True,则不停地执行循环体
13. 如果要在菜单中添加一个分隔线,则应将其Caption属性设置为( D )。
A =B *C &D -
14. 如下数组声明语句,( D )正确。
A Dim a[3,4] As IntegerB Dim a(3,4) As Integer
C Dim a[n,n] As IntegerD Dim a(3: 4) As Integer
15. 要从磁盘上读入一个文件名为“c:\t1.txt”顺序文件,正确的是( A )。
A F=“ c:\t1.txt”B F=“ c:\t1.txt”
Open F For Input As #1Open “F” For Input As #1
C Open “c:\t1.txt” For output As #1D Open c:\t1.txt For input As #2
得分
二、 填空题(1分/空,20空,共20分)
1.VB有三种工作模式,它们分别是设计模式、运行模式和中断模式。
2.Visual Basic工程文件的扩展名是vbp,窗体文件的扩展名是frm。
3.若A=120,B=80,C=70,D=30,则表达式A+B>160 Or (B*C>200 And Not d>60)的值是 True 。
4.VB算术表达式 a/(c/(d+e^sqr(f))+b)所对应的数学表达式是
5.用随机函数产生一个两位的随机正整数的VB表达式是Int(Rnd*90+10)
6.Format(10, "0.00")的返回值为10.00
7.VB可能遇到的错误有语法错误、运行时错误、逻辑错误
8.设某个程序中要用到一个二维数组,要求数组名为Mark,类型为字符串类型,第一维下标从1到5,第二维下标从-2到6,
则相应的数组声明语句为Dim Mark(1 to 5,-2 to 6) as String
9.把数学表达式写成VB的算术表达式为abs(a^2-b^2) 或者 abs(a*a-b*b)
10.VB表达式 21 \ 5 + 14 Mod 4的运算结果是 6 。
1. 11.文本框的Text属性值是文本框中包含的文本内容。
2. 12.数组按大小是否可变分为 定长数组、动态数组 两类。
13.用Dim A(-3 to5)语句定义的数组的元素个数是 9 。
14.使用Exit Function 语句可以中途退出Function过程,使用Exit Sub语句可以中途退出Sub过程。
得分
三、 程序填空(2.5分/空,2空/小题,4小题,共20分)
1. 在窗体上输出金字塔型数字,如图所示。
Private Sub Form_click()
For i = 1 To 9
Print Spc(9 - i);
For j = 1 To 2 * i – 1
Print Format(i, "0");
Next j
Next i
End Sub
2. 在窗体上画一个名称为Label1的标签和一个名称为List1的列表框。程序运行后,在列表框中添加若干列表项。当单击列表框中的某个项目时,在标签Label1中显示所选中的项目,如下图所示。
Private Sub Form_load()
List1.AddItem "北京"
List1.AddItem "上海"
List1.AddItem "河北"
End Sub
Private Sub UBound(a) ()
Label1.Caption= sum = sum + a(i)
End Sub
3. 编写一子过程,求一维数组中所有元素之和。
Sub procSum(ByRef a%(), ByRef sum%)
Dim i%
For i = LBound(a) To List1_Click
List1.Text
Next i
End Sub
4. 在窗体单击Command1的命令按钮,通过调用过程swap,调换数组中数值的存放位置,即a(1)与a(10)的值互换,a(2)与a(9)的值互换,……,a(5)与a(6)的值互换。
Sub swap(b() As Integer)
n=UBound(b)
For i=1 To n/2
t=b(i): b(i)=b(n): b(n)=t
n=n-1
Next i
End Sub
Private Sub Command1_Click()
Dim a, i%
a=Array (1,2,3,4,5,6,7,8,9,10)
Call swap(__ a ___)
For i=1 To 10
Print a(i);
Next i
End Sub
得分
四、 程序阅读(5分/题,4小题,共20分)
1.有如下事件过程:
Private Sub Form_Click()
a=6
b=8
c=Sqr(a*a+b*b)
Print c
End Sub
问题:
(1)语句“c=Sqr(a*a+b*b)”的功能是:将a*a+b*b的值开平方,然后赋给变量c。
(2)程序运行后,单击窗体,输出的结果是:10。
2.有如下程序:
Private Sub Form_Click()
For m = 1 To 5
For n = 1 To m
Print Tab(n + 5); "*";
Next n
Next m
End Sub
问题:
(1)语句“Print”的功能是:(1)换行。
(2)程序运行后,单击窗体,输出的图案是:
*
* *
* * *
* * * *
* * * * *
3.有如下事件过程:
Private Sub Form_Click()
Dim n As Integer
n=8
Do While n>5
n=n-1
Print n,
Loop
End Sub
问题:
(1)语句“Do While n>5”的功能是:控制循环,当n 的值大于5的时候,就继续循环。。
(2)程序执行后,单击窗体,输出结果是:7 6 5
4.有如下事件过程:
Private Sub Form_Click()
Dim x As Integer, n As Integer
x = 1
n = 0
Do While x < 28
x = x * 3
n = n + 1
Loop
Print x, n
End Sub
问题:
(1)语句“n = 0”的功能是:(1)将数值0赋给变量n。(2)程序运行后,单击窗体,输出结果是:81 4 。
得分
五、 程序设计(10分/题,1小题,共10分)
1. 编写一个过程,要求使用冒泡法对一组整数数据进行升序排序。过程名为Sort,需要排序的数据通过数组从外部传入。
Public Sub Sort(ByRef a() As Integer)
Dim i%, j%, ln%, un%, temp%
ln= LBound(a)
un=UBound(a)
For i=ln To un-1
For j= ln To un-i-1
If a(j)>a(j+1) Then
temp=a(j)
a(j)=a(j+1)
a(j+1)=temp
End If
Next j
Next i
End Sub
展开阅读全文