VB期末考试题A卷一,选择题 每题2分,共50分
(1)以下叙述中错误的是 ()
A)Visual Basic 是事件驱动型可视 化编程工具
B)Visual Basic 应用程序不具有明显的开始和结束语句
C)Visual Basic 工具箱中的所有控件都具有宽度(Width)和高度(Height)属性
D)Visual Basic 中控件的某些属性只能在运行时设置
(2)下列可作为 Visual Basic 变量名的是()
A)A#A B)4A C) xY D)constA
(3)无论何控件,都具有一个共同属性.这个属性是()
A)Text
B)Font
C)Name
D)Caption
(4)表达式 3∧2*2+3 MOD 10\4 的值是()
A)18
B)1
C)19
D)0
(5)设有如下变量声明 Dim time1 As Date,为变量time1正确赋值的表达式是()
A)time1 = #11:34:04 #
B)time1 = Format(Time,"yy:mm:dd")
C)time1 = #"11:34:04"#
D)time1 = Format("hh:mm:ss",Time)
(6)在窗体上画一个名称为Command1的命令按钮,编写以列程序:
Private Sub Command1_Click( )
Dim a As Integer
Static b As Integer
a = a + b
b = b + 4
Print a,b
End Sub
程序运行后,单击该命令按钮三次,屏幕上显示的值是()
A)4 12
B)0 4
C)4 8
D)8 12
(7)Visual Basic 是一种面向对象的程序设计语言,构成对象的三要素是()
A)属性,控件和方法
B)属性,事件和方法
C)窗体,控件和过程
D)控件,过程和模块
(8)下列程序段错误的是()
A)Dim a As Integer
a = array(1,2,3,4)
B)Dim a(),b()
a = array(1,2,3,4):b = a
C)Dim a As Variant
a = array(1,"asd",true)
D)Dim a() As Variant
a = array(1,2,3,4)
(9)引用列表框(List1)最后一个数据项应使用的表达式是()
A)List1.List(List1.ListCount)
B)List1.List(List1.ListCount-1)
C)List1.List(ListCount)
D)List1.List(ListCount-1)
(10)在窗体上画一个名称为Command1的命令按钮,编写如下程序:
Private Sub Command1_Click()
Print pl(3,7)
End Sub
Public Function pl(x As Single,n As Integer) As Single
If n=0 Then
pl=1
Else
If n Mod 2=1 Then
pl=x*x+n
Else
P1=x*x-n
End If
End If
End Function
程序运行后,单击该命令按钮,屏幕上显示的结果是()
A)2
B)1
C)0
D)16
(11)执行如下语句:a=inutBox("Today","TomorroW,"Yesterday","Day before yesterday",5)
将显示一个输入对话框,在对话框的输入区中显示的信息是
A)Today B)Tomorrow C)Yesterday D)Day before yesterday
(12)设有语句open "c:\Test.Dat" For OutPut 则以下错误的叙述是 ()
A)该语句打开C盘根目录下一个己存在的文件Test.Da
B)该语句在C盘根目录下建立一个名为Test.Dat的文
C)该语句建立的文件的文件号为1
D)执行该语句后,就可以通过Print#语句向文件Test.Dat中写入信息
(13) Sub过程与Function过程最根本的区别是()
A) Sub过程可以用Call语句直接使用过程名调用,而Function过程不可以
B) Function过程可以有形参,Sub过程不可以
C) Sub过程不能返回值,而Function过程能返回值
D) 两种过程参数的传递方式不同
(14)下列关于过程叙述不正确的是()
A)过程的传值调用是将实参的具体值传值递给形参
B)过程的传址调用是将实参在内存的地址传递给形参
C)过程的传值调用参数是单向传递的,过程的传址调用参数是双向传递的
D)无论过程传值调用还是过程传址调用,参数传递都是双向的
(15)设组合框Combo1中有3个项目,则以下能删除最后一项的语句是()
A)Combo1.RemoveItem Text
B)Combo1.RemoveItem2
C)Combo1.RemoveItem 3
D)Combo1.RemoveItemCombo1.Listcount
(16)下列叙述中正确的是()
A) 在窗体的Form_Load事件过程中定义的变量是全局变量
B) 局部变量的作用域可以超出所定义的过程
C) 在某个Sub过程中定义的局部变量作用域只限于该过程可以与其它事件过程中定义的局部变量同名,但其
D) 在调用过程时,所有局部变量被系统初始化为0或空字符串
(17) 以下叙述中错误的是()
A) 在同一窗体的菜单项中,不允许出现标题相同的菜单项
B) 在菜单的标题栏中,"&"所引导的字母指明了访问该菜单项的访问键
C) 程序运行过程中,可以重新设置菜单的Visible属性
D) 弹出式菜单也在菜单编辑器中定义
(18) 以下叙述中错误的是()
A) 在程序运行时,通用对话框控件是不可见的
B) 在同一个程序中,用不同的方法(不同的作用如ShowOpen或ShowSave等)打开的通用对话框具有
C) 调用通用对话框控件的ShowOpen方法,可以直接打开在该通用对话框中指定的文件
D) 调用通用对话框控件的ShowColor方法,可以打开颜色对话框
(19)设S="中华人民共和国",表达式Left(S,1)+Right(S,1)+Mid(S,3,2)的值为()
A) "中华民国"
B) "中国人民"
C) "中共人民"
D) "人民共和"
(20) 在Visual Basic中,要将一个窗体加载到内存进行预处理但不显示,应使用的语句是()
A) Load
B) Show
C) Hide
D) Unload
(21)以下能够正确计算n!的程序是
A) Private Sub Commandl_ClicK()
n=5:x=1
Do
X=x*1
i=i十1
Loop While i
Print x
End Sub
B) Private Sub Commandl_Click()
n=5,x=1:i=1
Do
X=X*1
i=i十1
Loop While i<N
Print x
End Sub
C)Private Sub Commandl_Click()
n=5:x=1:i=1
Do
X=X*1
i=i十1
Loop while i<=n
Print x
End Sub
D)Private Sub Commandl_C1ick()n
Print x
End Sub
(22)执行了下面程序后,组合框中数据项的值是()
Private Sub Form_Click()
For i=1 to 6
Combo1.AddItem i
Next i
For i= 1 to 3
Combo1.RemoveItem i
Next i
End Sub
A)1 5 6
B)1 3 5
C)4 5 6
D)2 4 6
(23) 下列程序的执行结果为
Private Sub Command1_Click()
Dim FirStr As String
FirSt="abcdef"
Print Pat(FirStr)
End Sub
Private Function Pat(xStr As String) As String
Dim tempStr As String,strLen As Integer
tempStr=""
strLen=Len(xStr)
i=1
Do While i<=Len(xStr) -3
tempStr=tempStr+Mid(xStr,i,1) +Mid(xStr,strLen -i+1,1)
i=i+1
Loop
Pat=tempStr
End Function
A) abcdef
B) afbecd
C) fedcba
D) defabc
(24)下面关于多重窗体的叙述中,正确的是()
A)作为启动对象的Main 子过程只能放在窗体模块内
B)如果启动对象是Main 子过程,则程序启动时不加载任何窗体,以后由该过程根据不同情况决定是否加载窗体或加载哪一个窗体
C)没有启动窗体,程序不能执行
D)以上都不对
(25)在窗体上画一个名称为CommonDialogl的通用对话框,一个名称为Commandl的命令按钮.要求单击命令按钮时,打开一个保存文件的通用对话框.该窗口的标题为"Save",缺省文件名为"SaveFile ",在"文件类型"栏中显示*.txt.则能够满足上述要求的程序是 ()
A) Private Sub Command_C1ick()
Commondialogl.FileName="Savefile"
Commondialogl.filter="All Files|*.*|(*.txt)|*.txt|(*.doc).|*.doc"
CommonDialogl.Filterindex=2
CommonDialogl.Dial0g.title="Save"
CommonDialogl.Action=2
End Sub
B) Private Sub Commandl—Click()
CommonDialogl.FileName="SaveFile"
CommonDiaLogl.Filter="A11 Files|*.*|(*.txt)|*.txt|*.doc|*.doc"
C0mmonDialogl.FilterIndex=1
CommonDialogl.DialogTitle="Save"
CommonDialogl.Action=2
End Sub
C) Private Sub Cmmandl_C1ick()
COmmonDialogl.FileName="Save"
CommonDialogl.FiLter="A11Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc"
CommonDialogl.Filterindex=2
C0mmonDialogl.DialogTitle="SaveFile"
CommonDialogl.Action=2
End Sub
D) Private Sub Commandl_C1ick()
CommonDialogl.FileName="SaveFile"
CommonDialogl.Filter="All Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc"
CommonDialogl.FilterIndex=1
CommonDialogl.DialogTitle="Save"
CommonDialogl.Action=1
End Sub
二,填空:每空2分,共20分.
(1)visual Basic中有一种控件组合了文本框和列表框的特性,这种控件是【1】__________; Visual Basic提供的对数据文件问的三种访问方式为随机访问方式【2】____________ 和二进制访问方式;为了在运行时把d:\pic文件夹下的图形文件a.jpg装入图片框Picturel,所使用的句为【3】__________________________________,
(2)VB 变量声明格式,[Public | Dim ] 变量名 As 类型,用【4】___________关键字声明的变量在整个应用程序中有效,用【5】___________关键字声明的变量过程结束则消失,
(3)在刚建立工程时,使窗体上的所有控件具有区别于默认值的相同的字体格式,应对【6】_______的【7】________属性进行设置.
(4)执行下面的程序段后,i的值为【8】________,s的值为【9】_________,
s = 2
For i = 3.2 To 4.9 Step 0.8
s = s + 1
Next i
(5)VB提供【10】______函数用于将字符型转换成数值.
三,程序阅读题:每题5分,共10分.
(1)下面是一个歌手大赛评分程序.10位评委,除去一个最高分和一个最低分,计算平均分(设满分为10分).请在[1],[2],和[3]处填入适当的内容,将程序补充完整.
Private Sub Form_Click()
Max= 0
Min= 10
For i = 1 To 10
x=Val(InputBox("请输入分数"))
If[1]________ Then Max=x
If[2]________ Then Min=x
s =s + x
Next i
s =[3]________
p = s/8
Print "最高分";Max,"最低分";Min
Print "最后得分";p
End Sub
(2)Dim As String
a= "123456789"
For i =1 To 5
Print Space(6—i);Mid$3(a,6—i,2*i—1)
Nexti
End Sub
程序运行后,窗体上显示的输出结果为四,程序设计题:每题10分,共10分.
程序要求如下:
1,程序运行后,窗体初始化时,在左边列表框1(名称为List1)中列出当前屏幕对象(Screen)的所有字体,screen对象的fonts属性(fonts属性是一个数组)能够得到屏幕使用的所有字体,FontCount属性能够得到字体的数量,利用一个循环,将Screen对象的每个Fonts(i)添加到列表框1中;
2,窗体初始化时,在右边的列表框2(名称为List2)中列出8,10,12,14……72的数字,表示字号,
3,当用户在列表框1中单击选中某种字体名时,或在列表框2中单击选中某一字号时,使窗体下半部的标签框(名称为Label1)中文字设置为相应字体与字号,实现字体字号预览.