1/8课程号:SG04002《VB程序设计》考试试卷(A)考试形式:闭卷考试考试时间:120分钟所有答案答在答题纸上院系学号姓名得分题号一二三四五总分一.判断题(正确划√,错误划×)(10分)1.方法的实质是程序代码模块√2.MDI和SDI窗体支持相同的事件和方法3.程序运行中通过代码改变单选按钮的Value值是不会触发该控件的单击事件的4.若某子窗体拥有菜单,程序运行时一旦它获取焦点就会自动覆盖父窗口的菜单5.利用通用对话框控件可以直接完成图形文件的保存或打开操作,无法直接完成文本文件的保存或打开操作6.由一个父窗口和多个子窗口构成的应用程序,关闭父窗口就可以终止程序运行√7.若窗口的Enabled属性为False,其上的控件也不再响应鼠标事件了。√8.控件数组中的元素可以由不同类型的控件构成9.Me.ForeColor=vbWhite与Me.ForeColor=RGB(0,0,0)等价10.AutoRedraw属性是窗体独有的属性二.单项选择填空题(共40分)1.按Delete键在TextBox控件中删除文本时下列那个事件不会触发【】A.ChangeB.KeyDownC.KeyUpD.KeyPress2.下列控件中有Text属性的是【】A.滚动条B.ImageC.组合框D.Frame3.下列控件中无value属性的是【】A.CheckBoxB.OptionButtonC.ScrollBarD.ListBox4.下列控件中无Caption属性的是【】A.LabelB.FrameC.CommandButtonD.Timer5.对于一个正常显示的窗口来说下列【】事件是最后发生的A.UnloadB.QueryUnloadC.TerminateD.LostFocus6.下面【】方法可以直接使组合框控件具有输入焦点A.SetFocusB.RemoveItemC.RefreshD.AddItem7.在列表框L中删除第二条列表条目的值应使用【】语句A.L.RemoveItem2B.L.RemoveItemC.L.RemoveItem1D.L.RemoveItem02/88.下列【】语句可以完成随机文件的写操作A.PutB.WriteC.GetD.Print9.若要处理程序运行过程中的错误应使用【】语句先捕获错误A.OnErrorGoTo0B.OnErrorResumeNextC.OnErrorGoTo语句行号D.ResumeNext10.在VB中保存一个图形、图像文件应使用【】。A.PictureSaveB.SavePictureC.LoadPictureD.PictureLoad11.Timer控件的【】属性不为0时可以激发Timer事件A.EnabledB.IntervalC.VisibleD.Tag12.一个控件可以正常接收和处理事件必须保证Visible和【】属性同时为真A.EnabledB.FocusC.MoveableD.Appearance13.Circle语句不能绘制【】A.扇B.弧C.椭圆D.圆角正方形-14.若要隐藏某窗体应使用【】A.me.HideB.Me.Appearance=FalseC.Me.BorderStyle=NoneD.Me.WindowState=015.若要使窗体先于其上控件获取键盘输入,应将窗体的【】设置为TrueA.AutoRedrawB.MDIChildC.AutoSizeD.KeyPreview16.应使用【】属性为文本框设置掩码A.PasswordCharB.MultiLineC.MaxLengthD.Font17.设置【】属性可使文本框接收多行文字A.ScrollBarsB.MultiLineC.MaxLengthD.Width18.【】属性标记列表框中列表条目的数目A.SelCountB.ListCountC.CountD.List19.下列【】属性不是只读属性A.SelCountB.ListCountC.CurrentXD.AddItem20.若要使SDI窗体成为子窗体,应将窗体的【】属性设置为TrueA.BorderStyleB.MDIChildC.AppearanceD.Moveable三.阅读下面程序,写出单击Command1后的程序运行结果(10分)1.Functions(ParamArraya())AsIntegerDimcAsInteger,mAsIntegerDimvAsVariantForEachvInam=m+vc=c+1Nexts=cEndFunctionPrivateSubCommand1_Click()Prints(10,20,30)EndSub(3)2.PrivateSubCommand1_Click()DimmAsInteger,nAsIntegerm=20:n=10Cm,n3/8Printm,nEndSubSubC(aAsInteger,ByValbAsInteger)DimxAsInteger,yAsIntegerx=a:y=ba=x+y:b=x-yEndSub(3010)3.FunctionC(aAsInteger)StaticxAsIntegerx=x-aC=xEndFunctionPrivateSubCommand1_Click()DimmAsIntegerm=C(1)+C(2)PrintmEndSub(-4)4.PrivateSubCommand1_Click()PrintUCase(Bj)+LCase(Ge)EndSub(BJge)5.PrivateSubCommand1_Click()DimmAsInteger,nAsIntegerm=123Don=n+mMod10m=m/10Ifm0Thenn=n*10ElseExitDoEndIfLoopWhileTruePrintn(321)EndSub四.程序填空(30分)1.下面程序是一个打字练习的小游戏。当用户单击开始按钮(Command1)后,将随机产生一个字母(大小写都可能出现)并显示在标签L中。随后标签以每200毫秒移动100缇的方式从窗口的顶部向下移动。下落过程中若用户敲击键盘的字母与标签中的一致,则产生一个新字母,标签重新从窗口的顶部落下;若标签下落到窗口底部前,用户输入的字母与标签中的不符,则在判定标签已移出窗口后同样产生一个新字母,标签重新从窗口的顶部落下。请按要求填写程序缺失的代码,实现上述功能。(窗体的相关属性均已在属性窗口中设定,Timer1控件的属性保持着初始状态。)4/8Subzimu()RandomizeDimiAsIntegerDoi=【Int(Rnd*58+65)】LoopWhilei90Andi97L.Caption=Chr(i)L.Left=Rnd*(Me.ScaleWidth-L.Width)L.Top=0EndSubPrivateSubCommand1_Click()zimuL.Visible=TrueTimer1.【interval=200】EndSubPrivateSubForm_KeyPress(KeyAsciiAsInteger)IfL.Caption=【Chr(KeyAscii)】ThenzimuEndIfEndSubPrivateSubTimer1_Timer()L.Top=L.Top+100IfL.Top=Me.ScaleHeightThen【L.caption=zimu】EndIfEndSub2.一程序运行后单击命令按钮Command1,会将一些数据写入文本文件abc.txt。文件内容如下图。请根据文件的内容填写程序缺失的代码。5/8PrivateSubCommand1_Click()DimiAsInteger,jAsInteger【Open“abc.txt”foroutputas#1】Fori=1To9For【j=1toi】【print#1,j&”*”&i&”=”&i*j】NextjPrint#1,Chr(13)Nexti【close】EndSub3.某程序运行后单击命令按钮Command1将在窗口中描绘一状如蜷曲的丝带的图形,如下图所示。其实该图并不复杂,它只是将]2,[的sin曲线和]3,0[的cos曲线上对应各点从左至右连接起来形成的。绘图时,窗体横向划分了14个单位,纵向划分了8个单位且窗体左上角在新坐标系中的坐标为(-4,3)请仔细阅读程序,填写程序缺失的代码。6/8PrivateSubCommand1_Click()Dimx1AsSingle,y1AsSingleDimx2AsSingle,y2AsSingleConstpai=3.14【Me.scale(-4,3)-(10,-5)】Forx1=-paiTopai*2Step0.03y1=Sin(x1)x2=x1+pai【y2=cosx2】【Me.line=(x1,y1)-(x2,y2)】NextEndSub4.下图所示为一登录界面,用户首先须选择登录身份:学生(user(0))或教师(user(1)),然后在文本框(T)中输入密码(学生密码是:student,教师密码是:teacher);当单击“登录”按钮(Command4)时,将按不同的身份核对密码。若学生身份登录且密码正确将进入学生操作界面(Form1),同时卸载登录窗口;若教师身份登录且密码正确将进入教师操作界面(Form2),同时卸载登录窗口。若用户单击“取消”按钮(Command3)放弃登录将退出系统,终止程序运行。请仔细阅读程序,填写程序缺失的代码。PrivateSubCommand3_Click()【End】EndSubPrivateSubCommand4_Click()DimsAsString,iAsIntegerFori=0To1Ifuser(i).Value=TrueThen【S=user(i).caption】EndIfNextSelectCasesCase学生IfT.Text=studentThen【(14)Form1.show】UnloadMeElseMsgBox密码错误,vbInformation7/8EndIfCase教师IfT.Text=teacherThenForm2.Show【unloadme】ElseMsgBox密码错误,vbInformationEndIfEndSelectEndSub五.程序设计(10分)1.编写一个求体积函数V,利用可选参数的特性实现如下功能:1)若给一个实参a,将求边长为a的正方体的体积;2)若给两个实参a和b,将求底面是正方形且边长为a,高为b的长方体的体积3)若给三个实参a、b、c,将求长宽高分别为a、b、c的长方体的体积求得的体积作为函数的返回值。(5分)2.编写一个函数fib。该函数可以求数列1,1,2,3,5,8,13,21……的第n(1=n=20)项,将第n项的值作为函数的返回值。(n的值通过参数传递)(5分)8/8《VB程序设计》考试试卷(A)答题纸院系学号姓名得分一.判断题(正确划√,错误划×)(10分)题号答案题号答案题号答案题号答案题号答案12345678910二.单项选择填空题(共40分)题号答案题号答案题号答案题号答案题号答案1234567891011121314151617181920三.阅读下面程序,写出单击Command1后的程序运行结果(10分)题号答案题号答案14253四.程序填空(30分)题号答案题号答案192103114125136147158五.程序设计(10分)(请写清题号)