第页(共7页)12006年05级VB程序设计期末考试卷[注意]所有答案写在单张的答题卷上。一、单选题(本题共20分,每小题2分)(1)在设计模式双击窗体中的对象后,VisualBasic将显示的窗口是___(1)___。[A]属性窗口[B]代码窗口[C]工具箱[D]项目(工程)窗口(2)语句Print2-2^3*7Mod9+Val(&H12)的显示结果是___(2)___。[A]18[B]12[C]0[D]-36(3)要使目录列表框Dir1的内容随着盘驱动器列表框Drive1的选择而改变,应该___(3)___。[A]在Dir1_Change事件中,用Dir1.Path=Drive1.Path语句[B]在Drive1_Change事件中,用Drive1.Drive=Dir1.Path语句[C]在Drive1_Change事件中,用Dir1.Path=Drive1.Path语句[D]在Drive1_Change事件中,用Dir1.Path=Drive1.Drive语句(4)在窗体Form1的一个事件过程中,使用___(4)___来清除窗体上所绘制的图形,是不正确的。[A]Form1.Cls[B]Me.Cls[C]Form.Cls[D]Cls(5)将文本框的___(5)___属性设置为True,在运行时,文本框不能编辑。[A]Enabled[B]Locked[C]Visible[D]MultiLine(6)要将当前目录中的文件ABC.dat改名为ABC.txt,应使用文件操作语句___(6)___。[A]ReNameABC.dat,ABC.txt[B]ReNameABC.dat,ABC.txt[C]NameABC.datAsABC.txt[D]NameABC.datAsABC.txt(7)要使Shape控件以实心方式填充,应该设置其___(7)___属性。[A]FillStyle[B]FillColor[C]BackStyle[D]Shape(8)在设计菜单时,为了创建分隔条,要在___(8)___中输入一个减号“-”。[A]名称栏[B]索引栏[C]标题栏[D]显示区(9)“打开”通用对话框的___(9)___属性是用来设定文件类型的。[A]Action[B]Pattern[C]FilterIndex[D]Filter(10)若要把abc添加到列表框List1中的第三项,则可执行语句___(10)___。[A]List1.AddItemabc,3[B]List1.AddItemabc,2[C]List1.AddItem3,abc[D]List1.AddItem2,abc二、程序填空题(本题共30分,每小题2分)阅读下列程序说明和程序代码,在每小题提供的若干可选项中,挑选一个最佳的选项。(1)【程序说明】单击命令按钮,输入n(0n10)后,在窗体上输出如图所示的n层数字金字塔(图为输入n=7的结果)。【程序代码】PrivateSubCommand1_Click()DimIAsInteger,JAsInteger,nAsIntegerDon=Val(InputBox(n=,输入1-9之间的整数))___(11)___'要求n在1-9之间,即0n10第页(共7页)2ForI=1Ton___(12)___'设置该行输出的起始位置ForJ=1To2*I-1Print___(13)______(14)___EndSub【选项】(11)[A]LoopUntiln1Orn9[B]LoopWhilen1Orn9[C]LoopUntiln1Andn9[D]LoopWhilen1Andn9(12)[A]PrintTab(n-I+1);[B]PrintSpc(n-I+1);[C]PrintTab(n-I);[D]PrintSpc(n-I);(13)[A]I;[B]Str(I);[C]CStr(I)[D]Trim(Str(I));(14)[A]NextJ[B]NextI[C]NextI,J[D]NextJ,I(2)【程序说明】窗体上有一个名称为List1的列表框,一个名称为Text1的文本框,一个名称为Label1、Caption属性为“SUM”的标签,一个名称为Command1、标题为“计算”的命令按钮。程序运行后,将把1~100之间能够被7整除的数添加到列表框中。如果单击“计算”按钮,则对List1中的数进行累加求和,并在文本框中显示计算结果,如图所示。【程序代码】PrivateSubForm_Load()DimIAsIntegerForI=1To100If___(15)___Then___(16)___NextIEndSubPrivateSubCommand1_Click()DimSumAsInteger,IAsIntegerForI=0To___(17)___Sum=Sum+___(18)___NextText1.Text=___(19)___EndSub【选项】(15)[A]I\7=0[B]7\I=0[C]IMod7=0[D]7ModI=0(16)[A]List1.AddItemTrim(Str(I));[B]List1.AddItemI[C]List1.AddItemI,0[D]List1.Clear:List1.AddItemI(17)[A]List1.ListCount-1[B]List1.ListCount[C]List1.ListIndex-1[D]List1.ListIndex(18)[A]List1.Text(I)[B]List1.Text[C]List1.List(I)[D]List1.List(I-1)(19)[A]List1.List(I)[B]List1.Text[C]I[D]Sum(3)【程序说明】单击命令按钮,随机产生10个100以内的正数,存放在单精度类型的数组N()中,按从大到小第页(共7页)3排序后在窗体显示输出。【程序代码】PrivateSubCommand1_Click()DimIAsByte,JAsByte___(20)___ForI=1To10N(I)=Rnd*99+1NextIForI=1To9P=IForJ=I+1To10If___(21)___ThenP=JNextJ___(22)___PrintN(I)NextIPrintN(I)EndSubPrivateSubSwap(___(23)___)AsSingleDimTempAsSingleTemp=X:X=Y:Y=TempEndSubEndSub【选项】(20)[A]DimN(I)AsSingle[B]DimN(10)AsSingle[C]ReDimN()AsSingle[D]ReDimN(I)AsSingle(21)[A]N(J)N(P)[B]N(J)N(P)[C]N(J)N(I)[D]N(J)N(I)(22)[A]CallSwapN(I),N(P)[B]CallSwap(N(I),N(P))[C]Temp=Swap(N(P),N(I))[D]Swap(N(P),N(I))(23)[A]ByValXAsInteger,ByValYAsInteger[B]ByValXAsSingle,ByValYAsSingle[C]ByRefXAsInteger,ByRefYAsInteger[D]ByRefXAsSingle,ByRefYAsSingle(4)【程序说明】如图所示,窗体下部的“字体”框架中有4个单选按钮组成控件数组Option1(),“字型”框架中有3个复选框组成控件数组Check1(),其Caption属性如图所示。单击单选按钮和选择复选框选择字体和字型后,窗体上部文本框的字体和字型随着改变。【程序代码】PrivateSubCheck1_Click(IndexAsInteger)SelectCaseIndexCase0:Text1.FontBold=___(24)___Case1:Text1.FontItalic=___(24)___Case2:Text1.FontUnderline=___(24)___EndSelectEndSubPrivateSubOption1_Click(IndexAsInteger)Text1.FontName=___(25)___EndSub【选项】第页(共7页)4(24)[A]True[B]False[C]Check1(Index)[D]1(25)[A]True[B]Option1(Index).Value[C]False[D]Option1(Index).Caption三、程序阅读题(本题共20分,每小题2分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确的答案。(1)【程序说明】在界面设计时,文本框控件Text1的Text属性已经设置为空。【程序代码】PrivateSubText1_Change()DimsAsIntegers=s+Val(Text1.Text)PrintsEndSub【选项】(26)运行时在文本框Text1中输入”123A”后,在窗体上输出的结果是___(26)___。[A]1[B]123A[C]1[D]1121312123136123123259123A(27)如果将程序中的DimsAsInteger改成StaticsAsInteger,运行时在文本框Text1中输入”123A”后,在窗体上输出的结果是___(27)___。[A]1[B]123A[C]1[D]1121312123136123123259123A(28)如果将程序中的DimsAsInteger移动到代码的通用部分,运行时在文本框Text1中输入”123A”后,在窗体上输出的结果是___(28)___。[A]1[B]123A[C]1[D]1121312123136123123259123A(2)【程序说明】窗体上有一个命令按钮Command1,程序代码如下。【程序代码】PrivateSubf(sAsString)DimiAsInteger,nAsInteger,cAsStringn=Len(s)IfnMod2=1Thenc=Mid(s,n\2+1,1)Fori=1ToLen(s)\2c=Mid(s,Len(s)+1-i,1)+c+Mid(s,i,1)Nextis=c第页(共7页)5EndSubPrivateSubCommand1_Click()DimxAsStringx=InputBox(x=)Callf(x)PrintxEndSub【选项】(29)单击Command1后输入abc,窗体上显示结果为___(29)___。[A]abc[B]cba[C]bca[D]acb(30)单击Command1后输入abcd,窗体上显示结果为___(30)___。[A]abdc[B]abcd[C]bcad[D]cdab(31)如果将Sub过程f首句改为PrivateSubf(ByValsAsString),单击Command1后输入abcd,窗体上显示结果为___(31)___。[A]abdc[B]abcd[C]bcad[D]cdab(3)【程序说明】窗体上放置一个图片框Picture1和命令按钮Command1。【程序代码】OptionExplicitConstPIAsInteger=3.14159PrivateSubCommand1_Click()DimIAsIntegerI=Val(InputBox(请输入画图选项))Picture1.ClsPicture1.FillStyle=IMod2SelectCaseICase0:Picture1.Circle(0,0),10Case1:Picture1.Circle(0,0),10,,-PI/2,PICase2:Picture1.Circle(0,0),10,,,,2Case3:Picture1.Circle(0,0),10,,,,0.5EndSelectEndSubPrivateSubForm_Load()Picture1