Vb试题.docx
《Vb试题.docx》由会员分享,可在线阅读,更多相关《Vb试题.docx(15页珍藏版)》请在冰豆网上搜索。
Vb试题
中国矿业大学2007~2008学年第二学期
《VB程序设计》笔试试卷(A)卷
考试时间:
120分钟 考试方式:
闭卷
学院 姓名________ 班级_______ 班级序号_______
题 号
一
二
三
四
总分
分 值
30
20
30
20
100
得 分
阅卷人
注:
必须将答案按题号的先后顺序写在答题纸上,否则不予记分。
一、 选择题(本题30小题,每题1分,共30分)
1.关于窗体Name属性的叙述,正确的是 。
A.窗体Name属性的属性值必须通过属性窗口进行设置
B.窗体Name属性的属性值最长可达255个字符
C.窗体Name属性的属性值不能与其它的控件对象的Name属性的属性值相同
D.窗体Name属性的属性值可以通过赋值语句来给它赋值
2.只能用于除去字符串右侧空格的函数是 。
A.RightTrim B.RTrim C.Trim D.RLTrim
3.下列表达式中,值为True的是 。
A.3<2<1
B.Ucase("vb")>=Lcase("VB")
C.Mid("vbprogram",2,2)>Left("vbprogram",2)
D.14/2\3>10Mod4
4.数学表达式|e3+lnX+arctgY|对应的VB表达式是 。
A.Abs(e^3+Log(X)+1/Atn(Y))
B.Abs(Exp(3)+Log(X)/Log(10)+Atn(Y))
C.Abs(Exp(3)+Log(X)+1/Atn(Y))
D.Abs(Exp(3)+Log(X)+Atn(Y))
5.执行语句PrintSgn(Fix(3.1)+Int(-3.1)),在窗体上输出的结果是 。
A.1 B.0 C.-1 D.6
6.下列语句不能正常执行的是 。
A.Print20+5=25 B.Print"11"+11
C.Print11&11 D.Print32700+100
7.在窗体上有两个文本框Text1和Text2,若希望在Text1中输入字符时,该字符也将出现在Text2中,要实现该功能,则必须在文本框Text1的 事件中书写代码。
A.Click B.GotFocus C.LostFocus D.Change
8.在窗体(Name属性为Form1)上画两个文本框(Name属性分别为T1和T2)和一个命令按钮(Name属性为C1)。
单击命令按钮C1后在窗体上输出的结果为 。
PrivateSubC1_Click()
s=T1.Text+T2.Text
Prints
EndSub
PrivateSubForm_Load()
T1.Text=234
T2.Text=432
EndSub
A.666 B.234432 C.432234 D.出错
9.下列控件中,具有Caption属性的是 。
A.文本框 B.复选框 C.滚动条 D.列表框
10.下列选项中(其中对象的Name属性值均为默认值),控件的属性值既能在设计时设置,又能在运行时通过赋值语句改变的是 。
A.List1.Name B.Text1.MultiLine
C.Command1.Style D.Label1.Visible
11.为了在按下ESC键时执行某个命令按钮的Click事件过程,需要把该命令按钮的
属性的值设置为True。
A.Value B.Default C.Cancel D.Enabled
12.如图1所示,在窗体中创建了框架、单选钮和命令按钮(其中对象的Name属性值均为默认值),图中“公共基础课”字样的内容,是通过 语句来实现的。
A.Frame1.Caption="公共基础课"
B.Form1.Caption="公共基础课"
C.Option1.Caption="公共基础课"
D.Command1.Caption="公共基础课"
13.下列选项中,不能使控件获得焦点的操作是 。
A.在程序运行期间,用鼠标单击对象
B.在程序运行期间,用快捷键选择对象
C.在程序运行期间,用Tab键
D.在程序运行期间,用Enter键
14.下列选项中不属于结构化程序设计的基本结构的是 。
A.顺序结构 B.选择结构 C.循环结构 D.递归结构
15.下面关于赋值语句的说法中,错误的是 。
A.一个赋值语句只能给一个变量(或对象的一个属性)赋值
B.赋值语句是一种顺序语句
C.当赋值语句中变量的数据类型与表达式的数据类型不一致时,该语句一定会出错
D.赋值语句中出现两个“=”号时,系统会根据“=”所处的位置自动判断符号的意义。
16.如图2所示,Inputbox函数的参数中“提示信息”的值是 。
A.输入你的学号
B.信息输入框
C.0101001
D.确定
17.现有语句:
y=IIf(x>0,x\5,0)
设x=10,则y的值是 。
A.10 B.2 C.0 D.语句有错
18.对动态数组A(),若原数组为A(5),要改变其维界为A(10),同时还要保留原数组的数据不丢失,应使用 语句进行重新定义。
A.DimA(10) B.ReDimPreserveA(5To10)
C.ReDimPreserveA(10) D.ReDimA(10)
19.下面的循环语句中,不可以采用 来求1到100的和。
A.Sum=0 B.Sum=0
ForI=1To100 ForI=100To1Step-1
Sum=Sum+I Sum=Sum+I
NextI NextI
C.I=1 D.I=1
Do DoUntilI>100
Sum=Sum+I I=I+1
I=I+1 Sum=Sum+I
LoopWhileI<=100 Loop
20.下面关于Array函数的说法错误的是 。
A.Array函数可以给定义为变体类型的动态数组赋值
B.Array函数可以给任意维的数组赋值
C.Array函数可以给定义为变体类型的变量赋值
D.Array函数只能给一维数组赋值
21.下面定义数组的语句中错误的是 。
A.Dima(x-10) B.Dimf(3,1To4)
C.Dimm()AsSingle D.Staticb(0To5)AsLong
22.现有一自定义的Sub子过程PrivateSubSort(A()AsInteger),主调过程中对数组的定义语句为Dimm(10)AsInteger,下列选项中不能正确调用该子过程的语句是 。
A.Sort m B.Call Sort(m)
C.Call Sort(m(10)) D.Sort m()
23.以下关于变量的作用域的说法中正确的是 。
PrivateXAsInteger
PrivateSubForm_Load()
DimXAsInteger
Show
X=2
PrintX
EndSub
A.窗体的“通用声明”处声明的X的值2 B.两个变量的值都是2
C.Load事件过程中声明的X的值2 D.两个变量的值都不是2
24.关于窗体的Load语句和Show方法,下列说法正确的是 。
A.Load和Show的功能一样,都是将指定的窗体装入内容,同时显示出来
B.Load和Show的功能一样,都是将指定的窗体装入内容,但都不显示出来
C.Load和Show都能将窗体装入内存,但前者不显示出来,而后者显示出来
D.Load和Show都能将窗体装入内存,但前者显示出来,而后者不显示出来
25.输出列表框(List1)最后一个数据项可以使用 。
A.PrintList1.List(List1.ListCount)
B.PrintList1.List(List1.ListCount-1)
C.PrintList1.List(ListCount)
D.PrintList1.List(ListCount-1)
26.下列操作中,不能触发滚动条的Change事件的操作是 。
A.单击滚动条两端的箭头 B.单击滚动条空白区域
C.通过程序对滚动条的value属性赋值 D.单击滚动条上的滑块
27.通用对话框的Action属性决定了通用对话框在运行阶段打开何种类型的对话框,当Action属性值为1时,其与之对应的方法是 。
A.ShowSave B.ShowOpen C.ShowColor D.ShowFont
28.在VB中,下列关于控件的属性或方法中,搭配错误的有 个。
(1)Command1.Value
(2)List1.Cls (3)Label1.Print
(4)Timer1.Visible (5)VScroll1.Value (6)Picture1.Print
(7)Option1.Value (8)Text1.Value
A.3 B.4 C.5 D.6
29.下列选项中,可以列出计算机中的所有驱动器的控件是 。
A.驱动器列表框 B.目录列表框 C.文件列表框 D.列表框
30.下列有关打开顺序文件的说法错误的是 。
A.For模式中的Output选项可用来在磁盘上创建一个新的顺序文件。
B.Input选项用来从文件中读取。
若该文件不存在,则创建一个文件。
C.Append选项可用来打开一个新的顺序文件,文件打开后文件指针位于文件的末尾。
D.可以使用不同的文件号以Input方式打开同一顺序文件。
二、分析程序,写结果(本题10个空,每空2分,共20分)
1.运行下面的程序,当单击窗体时,窗体上显示的内容第一行是__
(1)__,第二行是___
(2)___。
PrivateSubForm_Click()
DimxAsInteger,yAsInteger
Do
x=x+2
y=y+x*x
Ifx>4Then
ExitDo
EndIf
Loop
Printx
Printy
EndSub
2.运行下面的程序,当单击窗体时,窗体上显示的内容第一行是___(3)___,第二行是__(4)__。
PrivateSubForm_Click()
Dima(3,3)AsInteger,iAsInteger,jAsInteger
Fori=1To3
Forj=1To3
a(i,j)=(i-1)*3+j*2
Nextj
Nexti
Fori=1To3
Forj=i+1To3
Printa(j,i);
Nextj
Print
Nexti
EndSub
3.运行下面的程序,当单击窗体时,窗体上显示的内容第一行是 (5) ,第三行是
(6) ,Form_Click()事件过程中的第二个For-Next循环共执行了 (7) 次。
PrivateSubForm_Click()
Dimx(1To4)AsInteger
DimiAsInteger,jAsInteger
Fori=1To4
x(i)=i*i
Printx(i);
Nexti
Print
Forj=1To4
Callsub1(x(j),j)
Printj
Nextj
EndSub
PrivateSubsub1(xAsInteger,mAsInteger)
Ifx-m<=2Then
m=m+2
Else
m=m+3
EndIf
EndSub
4.运行下面的程序,当单击窗体时,窗体上显示的内容第一行是___(8)____,第二行是___(9) _,第三行是___(10)___。
PrivateSubForm_Click()
Printcal
(2)
EndSub
PrivateFunctioncal(aAsInteger)AsInteger
DimtempAsInteger
Ifa=1Then
temp=2
Else
temp=cal(a-1)*2
EndIf
cal=temp
Printa,temp
EndFunction
三、完善程序(本题15个空,每空2分,共30分)
1.下列程序的功能是:
计算出租汽车收费。
出租车计费方式为:
3公里以内收费7元,超过3公里的部分每公里1.4元。
程序运行参考界面如图3。
PrivateSubForm_Click()
DimxAsSingle,yAsSingle
x=Val(Text1.Text)
If
(1) Then
y=7
Else
(2)
EndIf
Text2.Text=Str(y)
EndSub
2.使用下面的公式,根据输入的精度计算arcsh(x)的近似值,要求保留四位小数。
程序运行结果参考界面如图4。
PrivateSubForm_Click()
DimxAsSingle,epsAsSingle,resultAsDouble,nAsInteger
DimtAsDouble,iAsLong,pAsSingle
x=Val(Text1.Text)
eps=Val(Text2.Text)
n=1
result=x
(3)
DoWhile (4)
result=result+t
n=n+1
p=1
图4
Fori=1Ton
p=p*(2*i-1)/(2*i)
Nexti
t= (5)
Loop
Text3.Text=Format$(result,"0.0000")
EndSub
3.下列程序的功能是:
输出100以内的能被3整除且个位数为6的所有整数。
程序运行结果参考界面如图5所示。
PrivateSubForm_Click()
DimiAsInteger
Print"满足条件的数有:
"
Fori=1To100
If (6) Then
Printi
EndIf
图5
Nexti
EndSub
Functionshuju(ByValxAsInteger)AsBoolean
DimyAsInteger
shuju=False
(7)
Ify=6AndxMod3=0Then
(8)
EndIf
EndFunction
4.下列程序的功能是判断一个正整数是否符合要求。
要求是:
该数为一个奇数,并且当该数从低位到高位依次去掉一位数后剩下的数仍然是奇数。
并且用MsgBox给出此数是否满足条件的提示。
例如输入奇数1337,因为133、13、1都是奇数,所以弹出“1337是满足条件的数”。
程序运行参考界面如图6和图7所示。
PrivateSubForm_Click()
DimiAsInteger,flagAsBoolean
图6
i=Val(Text1.Text)
(9)
Ifflag=TrueThen
MsgBoxi&"是满足条件的数"
Else
MsgBoxi&"不是满足条件的数"
EndIf
图7
EndSub
PrivateSubsuperodd( (10) ,fAsBoolean)
DimpAsInteger
f=True
DoWhilen>0
If (11) Then
n=n\10
Else
f=False
ExitSub
EndIf
Loop
EndSub
5.下列程序的功能是:
随机生成10个三位正整数,存放到数组a中,再用选择排序法对数组a从大到小排序,并且把排好顺序的数组元素写入D盘的根目录下的file1.txt文件中。
程序运行参考界面如图8。
PrivateSubForm_Click()
DimnAsInteger,a(1to10)AsInteger,iAsInteger
DimjAsInteger,imaxAsInteger,tAsInteger
Print"排序前"
Fori=1To10
(12)
Printa(i);
Nexti
图8
Print
Print"排序后"
Fori=1To9
imax=i
Forj=i+1To10
If (13) Then imax=j
Nextj
t=a(i)
a(i)=a(imax)
a(imax)=t
Nexti
(14)
Fori=1To10
(15)
Nexti
Close#1
Print"d:
\file1.txt文件已经建立"
EndSub
四、编程题(20分)
1.在窗体上有一个命令按钮Command1和四个文本框txta、txtb、txtc和txtd。
在Command1_Click事件过程中编写程序完成以下功能:
在文本框txta、txtb和txtc中分别输入数值,单击“判断”命令按钮时,判断它们是否能组成一个三角形,如果能组成三角形,在文本框txtd中输出三角形的类型(直角三角形或普通三角形),如果不能则弹出提示窗口,窗口的提示信息为“不能构成三角形”,程序的参考界面如图9所示。
图9
2.编写程序找出所有10-99之间的所有素数,并在其中找出十位数和个位数之和为10的素数。
程序的参考界面如图10所示。
要求:
(1)编写一个判断某个正整数是否为素数的函数过程SuShu();
(2)单击“两位素数”命令按钮Command1时,则调用函数过程SuShu()在图片框Picture1上输出10-99之间所有素数,每行输出7个数;
图10
(3)单击“各位数字之和为10的素数”命令按钮Command2时,在列表框List1中输出十位数和个位数之和为10的素数;
(4)单击“退出”命令按钮Command3时,结束程序的运行。