南京工业大学VB期末考试复习vb期末考试试卷9王飞0A
vb期末考试试卷9王飞0A
满分:100分
姓名:________
1、单项选择题(本题共计50分)
1、一个应用程序_________窗体。( )
A、只许有一个
B、可以没有
C、应该有两个
D、可包括多个
2、以下关于事件的说法,正确的是________。 ( )
A、事件是由系统预先定义好的,能够被对象识别的动作
B、用户可以根据需要建立新的事件
C、事件的名称是可以改变的,由用户预先定义
D、不同类型的对象所能识别的事件一定不相同
3、VisualBasic中的标准模块文件的扩展名是____________。 ( )
A、.reg
B、.frm
C、.bas
D、.vbp
4、所谓____________就是使某个对象进入活动状态(又称激活)的一种操作或动作。( )
A、事件
B、属性
C、方法
D、对象
5、一只白色的足球踢进球门,则白色、足球、踢、进球门是________。( )
A、属性、对象、方法、事件
B、属性、对象、事件、方法
C、对象、属性、方法、事件
D、对象、属性、事件、方法
6、下面________语句,可以将列表框List1中当前选定的列表项的值替换成“ABC”。( )
A、List1.AddItem“ABC”,List1.ListIndex
B、List1.Text=“ABC”
C、List1.List(List1.ListIndex)=“ABC”
D、前三项均可
7、下面所列的控件属性中,其值既能在程序设计时设定,又能在程序运行时通过赋值改变的是________。( )
A、List1.ListCount
B、Text1.Index
C、Dir1.Path
D、Label1.Visible
8、在VB中,下列关于控件的属性或方法中,搭配错误的有
________个。
①Timer1.Interval
②List1.Cls
③Text1.Print
④
List1.RemoveItem
⑤Vscroll1.Value
⑥Picture1.Print ( )
A、0
B、1
C、2
D、3
9、单选按钮(OptionButton)用于一组互斥的选项中。若一个应用程序包含多组互斥条件,可在不同的________中安排适当的单选按钮,即可实现。( )
A、框架控件(Frame)或图象控件(Image)
B、组合框(ComboBox)或图象控件(Image)
C、组合框(ComboBox)或图片框(PictureBox)
D、框架控件(Frame)或图片框(PictureBox)
10、若在一个应用程序窗体上,依次创建了CommandButton、TextBox、Label1等控件,则运行该程序显示窗体时,________会首先获得焦点。( )
A、窗体
B、CommandButton
C、Label1
D、TextBox
11、如果要在两个菜单命令项之间加一条分隔线,可在标题文本框中键入________。( )
A、-
B、+
C、&
D、#
12、在VisualBasic最基本的对象是________,它是应用程序的基石。( )
A、标签
B、窗体
C、文本框
D、命令按钮
13、VisualBasic程序设计时常用的Print、Cls属于________。( )
A、属性
B、打印字库
C、方法
D、事件
14、滚动条的____________属性表示当用户单击滚动条的空白处,滑块移动的增量值。( )
A、Max
B、Value
C、SmallChange
D、LargeChange
15、关于窗体Name属性的叙述,正确的是________。 ( )
A、窗体Name属性可以具有与别的公共对象相同的名字
B、窗体Name属性和变量定义一样
C、窗体Name属性最长可达255个字符
D、窗体Name属性不以具有与别的公共对象相同的名字
16、对正实数X的第四位小数四舍五入的VB表达式是________。( )
A、0.001*Int(x+0.0005)
B、0.001*(1000*x+0.5)
C、0.001*Int(1000*x+5)
D、0.001*Int(1000*(x+0.0005))
17、设整型变量a、b的当前取值分别为200与20,以下赋值语句中不能正确执行的是
________。( )
A、Text1=a/b*a
B、Text1=a*a/b
C、Text1=“200”*a/b
D、Text1=a&b&a
18、函数Cint(–3.5),Int(–3.5),Fix(–3.5)的值分别是________。( )
A、-3,–4,–3
B、-4,–4,–3
C、-3,–4,–4
D、-4,–3,–3
19、有如下程序代码:
Private Sub Command1_Click( )
s=Sin(3.1415926/2)
MsgBox s
End Sub
程序运行后,消息对话框显示_________。 ( )
A、0
B、1
C、1.5708
D、2
20、VB表达式Sqr(a+b)^3*2中优先进行运算的是________。( )
A、Sqr函数
B、+
C、^
D、*
21、有如下程序:
Private Sub Command1_Click( )
s = Fix(-23.1)
e = Int(23.1)
Print Sin(e+s)
End Sub
运行时输出的结果是__________。( )
A、-1
B、0
C、1
D、23
22、日期类型(Date)在程序中运用时,日期类型必须用______符号括起来。( )
A、#
B、@
C、$
D、%
23、如果一个变量未指明数据类型,那么,VB默认这个变量为______变量。( )
A、变体型
B、整型
C、公共
D、字符串型
24、语句
Print 4 + 5\6*7/8 Mod 9
的值是____________。( )
A、4
B、5
C、6
D、7
25、执行语句
Print Format(1234.567,“##,##0.00”)
后,输出结果是____________。( )
A、1234.57
B、1,234.57
C、1,234.567
D、1,234.56
26. 在窗体上画一个命令按钮,名称为Command1,然后编写如下程序:Private Sub Command1_Click( )
Dim a As Integer,b As Integer
Do While b <100
b=b+5
a=a+b
If b>20 Then Exit Do
Loop
Print a,b
End Sub
程序运行后,如果单击命令按钮,则在窗体上显示的内容是_________。
A. 50 20
B. 75 25
C. 50 25
D. 75 20
(1分) 27. 有如下程序:
Private Sub Command1_Click( )
score=65
select Case score
Case Is<60
a$=“F”
Case 60 To 69
a$=“D”
Case 70 To 79
a$=“C”
Case 80 To 89
a$=“B”
Case else
a$=“A”
End Select
MsgBox a$
End Sub
程序运行后,消息对话框中显示的内容为_______。
A. A
B. B
C. C
D. D
(1分) 28. 存在如下程序:
Private Sub Command1_Click( )
a=Val(Inp utBox(“请输入”))
b=Val(InputBox(“请输入”))
x=a+b
If a>b Then
x=a–b
endif
Print x
End Sub
运行后,从InputBox对话框中连续输入3和4,输出结果为_______。
A. 3
B. 34
C. 7
D. 0
(1分) 29. 在窗体上添加一个命令按钮,名为Command1,一文本框,名为Text1,则执行如下事件过程后,文本框中的输出为______。
Private Sub Command1_Click( )
For i = 1 To 4
x = 3
For j = 1 To 3
For k = 1 To 3
x = x+3
Next k
Next j
Next i
Text1.Text=Str(x)
End Sub
A. 6
B. 12
C. 18
D. 30
30、下列有关数组的说法中,不正确的是________。( )
A、在窗体模块中不可以定义全局数据组
B、可以使用Erase语句释放所有数组所占据的存储储空间
C、语句Dim X(3.6+2)As Integer定义了一个维上界是6的一维的整型数组
D、形参数组的类型可以是定长符串类型
31. 在窗体模块的通用声明处用下面的语句声明变量、数组,正确语句有
________个。
①Public A(5) As Integer
②Public N As Integer
③Public St As String
④Private b() As Integer
A. 2
B. 3
C. 4
D. 1
(1分)
32. 下面有关数组处理的叙述中,不正确的是_______。
①控件数组可由多个控件组成,这些控件具有相同的名字
②控件数组中的元素可以是不同类型的控件
③用ReDim语句重新定义动态数组时,不得改变该数组的数据类型
④可用Public语句在窗体模块的通用说明处定义一个全局数组
A. ①②③④
B. ②④
C. ①②③
D. ①③④
33、假如用复制、粘贴的方法建立了一个命令按钮数组Command1,以下对该数组的说法错误的是________。( )
A、命令按钮的所有Caption属性都是Command1
B、在代码中访问命令按钮只需使用名称Command1
C、命令按钮的大小都相同
D、命令按钮共享相同的事件过程
34. 在窗体的通用声明处有语句Dim A() As Single,以下在某事件过程中重定义此数组的一组正确语句是:____________。
A. ReDim A(3,3)
ReDim A(4,4) As Integer
B. ReDim A (3,3)
ReDim Preserve A (4,4)
C. ReDim A(3)
ReDim A(3,3) As Integer
D. ReDim A (3,3)
ReDim Preserve A(3,4)
35、运行程序产生死循环时,按________键可以终止程序的运行。( )
A、Ctrl+C
B、Ctrl +Z
C、Ctrl+Break
D、单击停止运行按钮
36、以下____________情况不会进入中断状态。( )
A、在程序运行中,按Ctrl+C键。
B、程序运行中,发生了运行错误。
C、用户在程序中设置了断点,当程序运行到断点时。
D、采用单步调试方式,每运行一个可执行代码行后。
37、窗体上有名为Drivel与Dirl的驱动器列表框与文件夹列表框,需要在选定驱动列表框中的列表项时,文件夹表框中内容随之改变,正确的语句及语句的位置是________。( )
A、Dir1.Path=Drive1.Path ′位于Drive1 Change()过程
B、Dir1.Path=Drive1.Path ′位于Dir1 Change()过程
C、Dir1.Path=Drive1. Drive ′位于Drive1 Change()过程
D、Dir1.Path=Drive1. Drive ′位于Dir1 Change()过程
38. 如果打开一个不存在的文件,下列____________访问模式将出错。
A. Output
B. Append
C. Input
D. Random
(1分) 39. 要指定在文件列表框中只显示具有“归档”、“只读”属性的文件,只需把文件列表框的____________设置为False。
A. Archive
B. ReadOnly
C. Normal
D. Hidden
(1分) 40. 若在应用程序中用Private Sub Sub1(Xasinteger,YasSingle)定义了子程序Sub1,调用程序中的变量I、J均为Integer型,则正确调用子程序Sub1的Call语句是________。
①Call Sub1(I,J)
②Call Sub1(3.1415,1)
③Call Sub1(3.14,234)
④Call Sub1(“245”, “231.5”)
A. ①③
B. ③④
C. ①②③
D. 无
(1分) 41. 执行VB工程时第一次出现的窗体称启动窗体,关于该窗体的叙述不正确的是____________。
A. 若不对启动窗体进行设置,工程中的第一个窗体默认为启动窗体
B. 启动窗体可进行设置,设置方法是执行“工程”菜单中的“属性”
C. 启动窗体和其他窗体一样可以隐藏和关闭
D. 启动窗体一般作为用户工作的界面,不可更改
(1分) 42. 阅读下列程序:
Private Sub Command1_Click( )
Dim a(1 To 3)As Integer
For i=1 To 3
a(i)=i
Next i
Call sub1(a)
For i=2 To 3
Print a(i)
Next i
End Sub
Public Sub sub1(a( ) As Integer)
For i=1 To 3
a(i)=i*i
Next i
End Sub
当发生Command1_Click事件时,输出的结果是________ 。
A. 1 2
B. 2 3
C. 4 9
D. 1 4
43以下说法正确的是____________ ( )
A、在Visual Basic中,过程可以嵌套定义也可以嵌套调用
B、在Visual Basic中,过程可以嵌套定义但不可以嵌套调用
C、在Visual Basic中,过程可以不嵌套定义但可以嵌套调用
D、在Visual Basic中,过程不可以嵌套定义也不可以嵌套调用
44、在窗体的General段声明变量时,不能使用____________关键字。( )
A、Dim
B、Public
C、Private
D、Static
45. 给出下列程序代码,在单击命令按钮时的输出结果是________。
Private Sub Command1_Click ( )
Dim x As Integer, y As Integer
x=1:y=1
For n=1 TO 3
z=FirstFunc (x, y)
Print n, z
Next n
End Sub
Private Function FirstFunc (x As Integer, y As Integer) As Integer Dim n As Integer
Do While n <= 4
x=x+y
n=n+1
Loop
FirstFunc=x
End Function
A. 1 6 2 11 3 16
B. 2 6 1 3 11 16
C. 1 2 3 4 5 6
D. 2 1 3 1 3 3
(1分) 46. 给出下列程序代码在第一次单击命令按钮时文本框Text1和Text2中的内容,第二次单击命令按钮时文本框Text1和Text2的内容。
Dim y As Integer
Private Sub Command1_Click( )
Dim x As Integer
x=2
Text1.Text=SecondFunc(FirstFunc(x), y)
Text2.Text=FirstFunc(x)
End Sub
Private Function FirstFunc(x As Integer)
x=x+y:y=x+y
FirstFunc=x+Y
End Function
Private Function SecondFunc(x As Integer, y As Integer)
SecondFunc=2*x+y
End Function
A. 10,10 20,20
B. 20,20 30,30
C. 50,50 10,10
D. 10,10 58,58
47、一般来说,当变量名称相同而作用域不同时,局限性_____________的变量总会用“阴影”遮住局限性不太大的变量。( )
A、大
B、小
C、更小
D、比较小
48. 如下程序,运行的结果是____________。
Public Function pi!(x!, n%)
If n = 0 Then
pi = 1
ElseIf n Mod 2 = 1 Then
pi = x * pi(x, n \ 2)
Else
pi = pi(x, n \ 2) \ x
End If
End Function
Private Sub Command1_Click()
Print pi(3, 7)
End Sub
A. 18
B. 7
C. 14
D. 27
49、可以在________中,使用语句Public PubStr As String*20定义一个定长字符串。( )
A、窗体模块
B、标准模块
C、类模块
D、三者均可
50. 执行下面的程序段,结果是________。
X=Windth/2
Y=Height/2
Picture1.Line(X,Y)–(X,Y–2000)
Picture1.Line(X,Y+2000)–(X,Y)
Picture1.Line–(x–2000,Y)
A. 在图片框中画形如┫的交叉直线
B. 在图片框中画形如┠ 的交叉直线
C. 在图片框中画形如┳ 的交叉直线
D. 在图片框中画形如┻ 的交叉直线
2、填空题(本题共计30分)
1. 可使用列表框的______ 方法向列表框中增加一个项目。
答案:
(1分) 2. 在VB中一个汉字的长度等于__(1)__ 个英文字母的长度。
答案:
(1分) 3. 要使文本框可以显示多行文本,应把文本框的__(1)___ 属性设置为True。
答案:
(1分) 4. 已知K=2,J=3,A=True,则VB表达式(K–J<=K)AND(NOT A)OR(K+J>=J)的值为 _____。
答案:
(1分) 5. 能正确产生[1--30]之间的随机整数的表达式是 ________ 。
答案:
(1分) 6. 已知A=7.5,B=2,C=-3.6,表达式 a>b and c>a or ab 的值为___(1)____.
答案:
(1分) 7. Visual Basic有三种运行模式,分别是__(1)___ 、运行模式和中断模式,其中__(2)__ 模式可以监视表达式和变量的值。
答案:
(2分)
8. ___(1)___的功能是显示当前过程所有局部变量的当前值。
答案:
(1分) 9. __(1)__属性决定了按Tab键时,焦点在各个控件移动的顺序。
答案:
(1分) 10. 运行下面的程序,单击窗体后在窗体上显示的内容是____(1)______;若将A语句与B语句的位置互换,再次执行程序,单击窗体后在窗体上显示的内容是____(2)_______。
Private Sub Form_click()
Dim x, y As Integer
x = 1: y = 0
Do While x < 3
y = y + x 'A
x = x + 1 'B
Loop
Print x, y
End Sub
答案:
(2分) 11. 下列函数调用时弹出的对话框中按钮的个数为________ 。
MsgBox ("程序非法!",vbAbortRetryIgnore,"消息提示:")
答案:
(1分) 12. 执行下面的程序,在窗体上显示的输出结果的第一行是 ______ ,第三行是______ ,Form_Click( )事件过程中的第二个For–Next循环共执行了 ______ 次。
Option Explicit
Option Base 1
Private Sub Form_Click( )
Dim x(6) As Integer,I As Integer,j As Integer
For i=1 To 6
x(i)=i^2
Print x(i);
Next i
For j=1 To i–2
Call sub1(x(j),j)
Print j
Next j
End Sub
Public Sub sub1(x As Integer,m As Integer)
If x–m<=2 Then
m=m+2
Else
m=m+3
End If
End Sub
答案:
(3分) 13. 下列程序执行后,打印结果是______ 。
Option Explicit
Private Sub Command1_Click( )
Dim i As Integer
Dim sum As Integer
sum = 0
For i = 3 To 100
If i Mod 3 = 0 And i Mod 11 = 0 Then
sum = sum + i
End If
Next i
Print sum
End Sub
答案:
(1分) 14. 执行下面程序后,A(1,3)的值是 __(1)___ ,A(2,2)的值是 ___(2)___ ,
A(3,1)的值是 ___(3)___ 。
Option Explicit
Option Base 0
Private Sub Form_Click( )
Dim A(3,3)As Integer,I As Integer
Dim k As Integer,m As Integer
m=16
For k=6 To 0 Step–1
If k>=2 Then
For I=0 To 5–k
A(k–2+I,I)=m
m=m–1
Next I
Else
For I=0 To k
A(k–I,3–I)=m
m=m–1
Next I
End If
Next k
For k=0 To 3
For I=0 To 3
Print A(k,I);
Next I
Next k
End Sub
答案:
(3分) 15. 下面程序的功能是判断100~999之间的所有素数,所谓素数是指只能被1和它本身整除的数。完善下列程序。
Private Sub Form_Click( )
Dim i As Integer
Dim k As integer
For i=100 To 999
For k=2 To i–1
If ___(1)__ Then
____(2)___
End If
Next k
If ___(3)___ Then
Print i
End If
Next i
End Sub
答案:
(3分) 16. 下面和程序功能是将一个由字母与数字相混的字符串中选出字符串,并把该字符串在窗体上打印出来,请完善下面程序。
Option Explicit
Private Sub Command1_Click( )
Dim s As String,k As Integer
Dim r As String,i As Integer,t As String
s=“aa11bb22Cc33”
For i=1 To Len(s)
t= (1)
If t>=“a”And t<=“z”Or t>=“A”And t<=“Z”Then
r=r & t
End If
Next i
Print r
End Sub
答案:
(1分) 17. 求满足如下条件的三位数,它除以11所得的商等于各位数字的平方和。例如:550/11=50=5×5+5×5+0。完善下列程序。程序代码如下:
Private Sub Form_Click( )
Dim a As Integer,b As Integer,c As Integer,n As Integer,j As Integer For a= __(1)__
For b=0 To 9
For c=0 To 9
n= __(2)__
If (n Mod 11 =0)And(n\11=a*a+b*b+c*c)Then
Print n;“/11=”;n/11;“=”;a*a;b*b;c*c
End If
Next c
Next b
Next a
End Sub
答案:
(2分) 18. 已知数组A(4,4),各个元素在运行程序时,被赋值并打印,形成四阶方阵。程序执行后,产生一个转置矩阵(即行列互换),仍放在数组A中,并打印出来。请完善下列程序。例如:
1 2 3 41 1 1 1
1 2 3 4 2 2 2 2
1 2 3 4 -------> 3 3 3 3
1 2 3 4 4 4 4 4
Private Sub Command1_Click( )
Dim a(4,4)
For k=1 To 4
For j=1 To 4
a(k,j)=j
Print a(k,j);
Next j
Next k
For k=2 To 4
For j=1 To _______
t=a(j,k)
a(j,k)=_______
a(k,j)=t
Next j
Next k
End Sub
答案:
(2分) 19. 如下程序,运行的结果是____________,若将A语句改为Static i%,运行的结果是___________。 Public Sub Proc(a%())
Dim i% 'A
Do
a(i)=a(i)+a(i+1)
i=i+1
Loop While i<2
End Sub
Private Sub Command1_Click()
Dim m%, i%, x%(10)
For i=0 To 4
x(i)=i+1
Next i
For i=1 To 2:
Call Proc(x)
Next i
For I=0 To 4:
Print x(i);
Next i
End Sub
答案:
(2分)-3.问答题
1.求100以内的孪生素数。孪生素数是指相差为2的两个素数,如3和5、5和7、11和13……
要求有一个通用过程。
答:
(10分) 2.设有一个数组a(5,5),要求计算:
(1)、所有元素之和;
(2)、各行的和;
(3)、各列的和;
(4)、所有靠边元素的和。
参考答案1.d,2.a,3.c,4.a,5.b,6.c,7.d,8.c,9.d,10.b,11.a,12.b,13.c,14.d,15.d,16.d,17.b,18.b,19.b,20. b,21.b,22.a,23.a,24.b,25.b,26.b,27.d,28.c,29.d,30.b,31.a,32.b,33.b,34.d,35.c,36.a,37.c, 38.c,39.c,40.d,41.d,42.c,43.c,44.d,45.a,46.d,47.b,48.d,49.b,50.a
1.AddItem,
2.1,
3.MultiLine ,
4.True,
5.Int(Rnd()*30)+1,
6.false,
7.设计模式,中断模式,
8.本地窗口,
9.TabIndex,10.3 3,3 5,11.3,12.1 4 9 16 25
36,7,2,13.198,14.6,8,14,15.i Mod k=0,Exit For,k=I,16.mid(s,i,1),17.1 to
9,a*100+b*10+c,18.k,a(k,j),19.8 8 3 4 5,3 5 7 4 5