VB期末考试试题及答案
- 格式:doc
- 大小:149.00 KB
- 文档页数:14
第一部分:客观题
一、单项选择题
1、在窗体模块的通用段中声明变量时,不能使用的关键字是()
A、 Dim
B、 Public
C、Private
D、 Static
2、在设计阶段,当双击窗体上的某个控件时,所打开的窗口是()
A、工程资源管理器窗口
B、工具箱窗口
C、属性窗口
D、代码窗口
3、若要使某可见控件获得焦点,可使用()方法来实现。
A、Refresh B、Setfocus C、Gotfocus D、Value
4、下列不可作为VB变量名的是()
A、ABT1
B、Alpha
C、ABC
D、4*Delta
5、表达式 5 Mod 3+3\5*2的值是()
A、 0
B、 6
C、4
D、 2
6、下列语句中,正确的赋值语句是()
A、 i + j = 10
B、 2i = j
C、 j = i + j
D、 i * j = 0
7、执行下列程序段后,x的值是()。
n = 4: x = 1: i = 1
Do
x = x * i
i = i + 1
Loop While i < n
A、 2
B、 6
C、 10
D、 14
8、当用户在窗体上单击鼠标时,不会触发的事件是()
A、Click B、MouseDown C、MouseUp D、DblClick
9、下列为整型变量的是()
A、 x!
B、 x#
C、x$
D、 x%
10、要从For循环中直接退出循环,可使用的语句( )。
A、Exit Do
B、Exit Loop
C、Exit For
D、Stop
11、下列逻辑表达式中,能正确表示条件“x,y都是奇数”的是()
A、x Mod 2 =1 Or y Mod 2 =1
B、x Mod 2 =0 Or y Mod 2=0
C、x Mod 2 =0 And y Mod 2=0
D、x Mod 2 =1 And y Mod 2 =1
12、在通用声明中给出Option Base 1语句,则数组a包含()个数组元素。
Dim a(3, -2 To 1, 5) As Integer
A、60
B、75
C、120
D、13
13、设窗体上有一个名称为Text1的文本框,要求只能显示信息,不能输入,应选择答案()
A、=0
B、=0
C、=False
D、=False
14、命令按钮CommandButton的Picture,DownPicture和DisablePicture属性都已装入图形,按下命令按钮,其上显示的图形是()
A、Picture属性中的图形
B、DownPicture属性中的图形
C、DisablePicture 属性中的图形
D、不显示图形
15、在窗体上画一个名称为Command1的命令按钮,并编写如下程序:
Private Sub Command1_Click()
Dim x As Integer
Static y As Integer
x=10:y=5
Call f1(x,y)
Print x,y
End Sub
Private Sub f1(ByRef x1 As Integer, y1 As Integer)
x1=x1+2
y1=y1+2
End Sub
程序运行后,单击命令按钮,在窗体上显示的内容是()
A、 10 5
B、 12 5
C、 10 7
D、 12 7
16、执行以下程序段,输出结果为()
Private Sub Command1_Click()
a$="abbacddcba"
For i=6 To 2 Step -2
X=Mid(a,i,i)
Y=Left(a,i)
z=Right(a,i)
z= UCase(x & y & z)
Next i
Print z
End Sub
A、 ABA
B、ABBABA
C、 BBABBA
D、AABAAB
17、以下()语句可表示[50,100]之间的随机数。
A、Int(Rnd * 51) + 49
B、Int(Rnd * 51 +50)
C、Int(Rnd * 50) + 5
D、Int(Rnd * 50 + 50)
18、执行x = InputBox("请输入半径",0,"求面积") ,在输入框中输入3后回车,则下列叙述正确的是()
A、x的值是数值3
B、 x的值是字符"3"
C、0是默认值
D、对话框标题是"求面积"
19、设置图像框的()可使框内的图片按图像框大小自动调整。
A、 AutoSize属性为True
B、 Stretch属性为True
C、 AutoSize属性为False
D、 Stretch属性为False
20、有如下事件过程
Private Sub Command1_Click()
x = 1
For i = 1 To 3
If i <= 1 Then a = x * x
If i <= 2 Then a = x * x + 1
If i >= 3 Then a = x * x + 2
Print a;
Next i
End Sub
运行时,单击命令按钮,则结果是():
A、 2 5 11
B、1 5 1
C、 2 2 3
D、1 1 1
21、在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
Private Sub Command1_Click()
Static X As Integer
Static Y As Integer
Cls
Y = 1: Y = Y + 5: X = 5 + X
Print X, Y
End Sub
程序运行时,单击命令按钮Command1三次后,窗体上显示的结果为()
A、15 16
B、15 6
C、15 15
D、 5 6
22、设a=3,b=5,则以下表达式值为TRUE的是()
A、 a>=b And b>10
B、 a>b Or b>0
C、 a<0 and b >0
D、 -3+5>a and b>0
23、从键盘上输入两个字符串,分别保存在变量str1、str2中。
确定第二个字符串在第一个字符串中起始位置的函数是()
A、 Left
B、Mid
C、String
D、Instr
24、下列哪组语句可以将变量a,b的值互换()
A、 a=b: b=a
B、 a=a+b: b=a-b: a=a-b
C、 a=c: c=b: b=a
D、 a=(a+b)/2: b=(a-b)/2
25、可以同时删除字符串前导和尾部空格的函数是()
A、 Ltrim
B、 Rtrim
C、Trim
D、Mid
26、表达式29\3的值是()
A、 1
B、7
C、 8
D、 9
27、下列程序运行后,单击command1时显示的结果是()
Private Sub Command1_Click()
x = 1
mysub x + 2
Print x
End Sub
Public Sub mysub(x As Integer)
x = 3 * x - 1
If x < 4 Then x = x + 10
Print x;
End Sub
A、 8 1
B、 8 8
C、 19 1
D、 19 19
28、以下有关Visual Basic语言描述中错误的是()。
A、不区分大小写
B、语句是一行一句,以回车键结束
C、用“,”分隔一行中的多个语句
D、一条语句放在多行中,则在前一行结束处使用续行符空格+下划线(“ _”)连接下一行
29、在窗体上添加两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(其Name 属性为Command1),然后编写如下事件过程:
Private Sub Command1_Click()
x = 0
Do While x < 50
x = (x + 2) * (x + 3)
n = n + 1
Loop
= Str(n)
= Str(x)
End Sub
程序运行后,单击命令按钮,在两个文本框中显示的值分别为( )
A、1和0
B、2和72
C、3和50
D、4和168
30、设有如下声明:
Dim X As Integer
如果Sgn(X) 的值为-1,则X的值是()
A、整数
B、大于0的整数
C、等于0的整数
D、小于0的数
二、判断题
下列各题如果是正确的,请在机读卡对应位置上涂A,如果是错误的涂B。
答在试卷
上不得分
1、VB程序运行后,在内存中只能驻留一个窗体。
2、在VB中,控件的属性只能在设计时修改,运行时无法改变。
3、执行Unload Form1语句后,窗体Form1消失,但仍在内存中。
4、在一个窗体模块中可以调用在其他窗体中被定义为Public的通用过程。
5、Function过程与Sub过程最主要的区别是:SUB过程不能返回值,而FUNCTION
过程能返回值。
6、用Print方法可以在图像框中输出数据。
7、Dim a,b,c As Integer能将a,b,c都声明成整型变量。
8、语句print “*”;tab(10);”a”与语句print “*”;spc(10);”a”的显示结果
是一样的。
9、控件数组使用Index属性来标识控件元素,其范围必须从0开始。
10、文件号的最大取值为512。
第二部分:主观题
三、填空题
请在答题卷对应位置填写答案,答在试卷上不得分。
1、数学关系式a2+b2表示成正确的VB表达式为___【1】___ 。
2、计算表达式的值Int * 100 + / 100=___【2】___ 。
3、赋值语句g = 123 + Mid("123456", 3, 2)执行后,变量g中的值是___【3】___ 。
4、在编写代码时可以添加说明性文字。
注释方法有2种,一种是使用注释标记符撇号(’);另一种是使用以关键字___【4】___开头的注释语言。
5、设a="a",b="b",c="c",d="d",执行语句x=IIf((a<b)Or(c>d), "A","B")后,x的值为
___【5】___ 。
6、在VB中,描述对象特征的数据称为对象的___【6】___。
7、有下面的表达式x1=val(“1e2abcd”),运行后,x1的值为:___【7】___ 。
8、产生一个两位数的随机数的表达式为:___【8】___。
9、只有控件对象的Enabled和Visible属性值均为___【9】___ 时,该控件对象才能接受焦点。
10、设a=10,b=5,c=1,执行语句Print a>b>c后,窗体上显示的是___【10】___ 。
四、读程序写结果
请将答案填写在答题卷对应位置处,答在试卷上不得分。
1、下面程序执行后a的值是___【1】___。
Private Sub Command1_Click()
Dim a As Integer, b As Integer
a = 1:
b = 1
Do While b <> 5
a =
b - a
b = b + 1
Loop
Print a
End Sub
2、下列程序运行后,单击窗体时显示的结果是___【2】___。
Private Sub Form_Click()
Dim x As Integer
x = 1
mysub x
Print x
End Sub
Private Sub mysub(x As Integer)
x = 3 * x - 1
If x < 5 Then x = x + 9
End Sub
3、单击窗体,程序运行后结果是___【3】___。
Private Sub form_Click()
Dim i As Integer, j As Integer
i = 22: j = 44
Call mysub(i, j)
Print j
End Sub
Public Sub mysub(ByVal x As Integer, y As Integer)
x = y + x
y = x Mod y
End Sub
4、程序运行时,单击Command1按钮,显示结果是___【4】___。
Private Sub Command1_Click()
Dim a As Variant, s As Integer
Dim i As Integer, j As Integer
a = Array(1, 2, 3, 4)
j = 1
For i = 3 To 0 Step -1
s = s + a(i) * j
j = j * 10
Next i
Print s
End Sub
5、程序运行时,单击Command1按钮,显示结果是___【5】___。
Private Sub Command1_Click()
Dim i As Integer, n As Integer
For i = 1 To 100
i = i + 4
n = n + 1
i = i + 2
If i > 30 Then Exit For
Next i
Print n, i
End Sub
五、编写程序题
请将程序代码写在答题卷对应位置处,答在试卷上不得分。
1、生成大小为1到100的50个随机整数,使用选择排序法对这些数进行由小到大的排序,并将其显示出来。
(8分)
2、编写一函数过程计算1到n的累乘,参数n在调用时传递,函数名为mul。
在主程序中调用该函数完成计算sum=1!+2!+3!+4!+5!,然后把sum结果打印出来。
(6分)
3、找出所有四位整数的回文数,并把找出的这些回文数保存在顺序文件”c:\”中。
(顺读和倒读都一样的字符串称“回文”,如:“level”,“1221”) (6分)
第一部分:客观题
一、单项选择题
1-5、DDBDD 6 -10、CBDDC 11-15、DADBD 16-20、CBBBC
21-25、BBDBC 26-30 、DACBD
二、判断题
1、B
2、B
3、B
4、A
5、A
6、B
7、B
8、B
9、B 10、B
第二部分:主观题
三、填空题
1、a^2+b^2
2、
3、157
4、REM
5、“A”
6、属性
7、100 8、int(rnd*90+10)
9、true 10、false
四、读程序写结果题
1、3
2、11
3、22
4、1234
5、5, 35
五、编写程序题
1、生成大小为1到100的50个随机整数,使用选择法对这些数进行由小到大的排序,并将其显示出来。
Private Sub Command1_Click()
Dim a(49) as integer (1分)
Dim i as integer, k as integer
Randomize Time
For i=0 to 49
a(i)=Int(Rnd*(100-1+1)+1) (1分)
next i
for i=0 to 48 (1分)
k=I (1分)
for j=i+1 to 49 (1分)
if a(k)>a(j) then k=j (1分)
next j
tmp=a(i): a(i)=a(k): a(k)=tmp (1分)
next i
for i=0 to 49
print a(i); (1分)
next i
End Sub
2、编写一函数过程计算1到n的累乘,参数n在调用时传递,函数名为mul。
在主程序中调用该函数完成计算sum=1!+2!+3!+4!+5!,然后把sum结果打印出来。
Private Sub Command1_Click()
Dim sum as Integer, I as integer
Sum=0 (1分)
For i=1 to 5
Sum=Sum+mul(i) (1分)
Next i
Print sum (1分)
End sub
Private Function mul(n as integer) as integer (1分)
Dim s as integer, i as integer
S=1
For i=1 to n
S=s*i (1分)
Next i
Mul=s (1分)
End Sub
3、找出所有四位整数的回文数,并把找出的这些回文数保存在顺序文件”c:\”中。
(顺读和倒读都一样的字符串称“回文”,如:level,1221)
Private Sub Command1_Click()
Dim i As Integer, n As Integer, s As String
Dim j As Integer
Open “c:\”for Output As #1 (1分)
For i = 1000 To 9999 (1分)
s = Trim(Str(i)) (1分)
If Mid(s, 1, 1) = Mid(s, 4, 1) And Mid(s, 2, 1) = Mid(s, 3, 1) Then (2分)
Print #1, s (1分)
End If
Next i
Close #1
End Sub
ViSual Basic程序设计上机试题
考试要求:
1、考试时间为2个小时。
2、不得使用U盘,不得使用VB课件:违反此要求者按作弊处理。
3、考试目录为F:\Source,要求将程序保存到该文件夹下。
4、每完成一题,在该文件夹中保存以题目序号命名的frm和vbp文件。
例如第二题的结果保存为和。
第一题:20分
1、设计一个如下界面的成绩计算程序。
其中总评成绩中平时占20%,期中和期末各占30%和50%。
程序结果保存为和。
参考代码:
Private sub Command1_Click()
=*val(text1)+*val(text2)+*val(text3)
End Sub
Private sub Command2_Click()
Text1=””: Text2=”” : Text3=””
End Sub
第二题:20分
一个四位数,各位之和等于其前两位,各位之积各于其后二位,试求之。
界面自定。
程序结果保存为和。
参考答案:
该题的结果为1236
For a=1 to 9
For b=0 to 9
For c=0 to 9
For d=0 to 9
X=1000*a+100*b+10*c+d
If a+b+c+d=10*a+b and a*b*c*d=10*c+d then print x
Next d,c,b,a
第三题:20分
3、设计一个如下界面的菜单程序,要求效果:单击菜单项可调出相应功能。
提示:Shell函数的格式为shell 路径,1。
程序结果保存为和。
程序结果保存为和。
参考程序:
Private Sub Mnote_Click()
Shell "", 1
End Sub
Private Sub MExit_Click()
End
End Sub
第四题:25分
编程实现如下程序,当在列表框中单击某一学生姓名时,在文本框出现学生的籍贯。
相应的学生信息如下表:
序号姓名籍贯
1 王芸姗安徽
2 林丽菲辽宁
3 张雪涛陕西
要求的程序界面:
程序结果保存为和。
参考答案:
Dim a, b
Private Sub Form_Load()
a = Array("王芸姗", "林丽菲", "张雪涛")
b = Array("安徽", "辽宁", "陕西")
For i = LBound(a) To UBound(a)
a(i)
Next i
End Sub
Private Sub List1_Click()
Text1 = b
End Sub
第五题:25分
用形状控件在窗体上画一个蓝色小球,运行时可用上、下、左、右四个方向键控制其移动。
程序界面为:程序结果保存为和。
参考程序:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyUp: , - 100
Case vbKeyDown: , + 100
Case vbKeyLeft: - 100,
Case vbKeyRight: + 100,
End Select
End Sub
第六题:20分
颜色拾取程序:单击“选取颜色”按钮后,出现调色板,选中某种颜色后,改变文本框的背景色。
界面如下:程序结果保存为和。
参考程序:
Private Sub Command1_Click()
=
End Sub
第七题:20分
数据库浏览程序,显示中Employees表中的Photo字段。
提示:数据库的位置在d:\program files\microsoft visual studio\vb98,照片显示采用OLE控件。
程序结果保存为和。
参考答案:
采用data控件,设置属性Databasename和Recordsource;
Ole控件的属性设置是Datasource和datafield。