中国地质大学(北京)2015秋研究生VB期末试卷及问题详解与拓展

  • 格式:doc
  • 大小:137.82 KB
  • 文档页数:11

课程号:SG04002 《VB程序设计》考试试卷(A)考试形式:闭卷考试考试时间:120分钟所有答案答在答题纸上院系学号得分一.判断题(正确划√,错误划×)(10分)1.事件的编程可以在代码设计窗口中进行,系统为不同对象提供了不同的事件集。

事件是对象特有的,不能主观臆造×(事件不是对象特有的,方法是对象所特有的)2.即使单选按钮控件数组中的元素分属在多个容器中也只能从中选择一个控件×3.过程和函数的区别在于有无返回值√4.只要把Image控件的Stretch属性设置为True,控件会自动调整大小以适应所装载的图片的大小×(说反了,应该是图片适应控件的大小)5.Left(Val("1234ab"), 2)的结果是”12”√Val 返回的是数,把1234给left, 但是left 返回是串,取串里的两个字符12,所以结果是12这个串,要加双引号。

6.列表框控件的Style属性为1(Checkbox)时,MultiSelect属性必须为0(None)√Style 只有0和1,0是标准的,1是复选checkbox,组合框是三个值0,1,27.没有通用对话框控件文件就没办法读写×对话框不负责文件的读写,只负责传串,文件读写由读写语句进行。

读图形文件是函数完成的,load picture, 写图形文件是save picture.8.通过PaintPicture方法可以对图片进行缩放和裁剪等变换√还可以翻转9.Do~loop while和Do while ~loop 在循环条件为True时循环结果一样√当循环条件为false时不一样10.只有顶级菜单和二级菜单才能调用窗体的PopupMenu方法制作弹出式菜单×只有父菜单才能备调用二.单项选择填空题(共40分)1.有value属性的控件是【 D 】A.TextBox B.ListBox C.ComboBox D.ScrollBar 有value属性的有三个控件:opptionbutton, checkbox, scrollbar2.下列属性中不属于组合框控件是【 B 】A.ListIndex B.Selected C.Text D.List3.能画横半轴为3,纵半轴为2的语句是【C 】A.Me.Circle (0, 0), 3, , , 2 / 3 B.Me.Circle (0, 0), 3, , , , 3 /2C.Me.Circle (0, 0), 3, , , , 2 / 3 D.Me.Circle (0, 0), 3, , , 3/2[<对象名>.]Circle [Step](x, y),<半径>,[<颜色>], , ,<边比率> 纵比横中间缺3个参数,颜色,起和止幅度,用四个逗号分隔4.下列控件没有change事件是【B】A.TextBox B.ListBox C.ScrollBar D.ComboBox 5.命令按钮控件能响应用户的单击必须保证其【 C 】属性均为真A.Visible和Caption B.Enabled和ToolTipTextC. Enabled 和Visible D.Caption和ToolTipText6.下面标识符哪个可作为数组的名字【 B 】A.1abc B.abc1 C.ab(c1) D.a.bc1标识符命名规则:以字母和汉字开头,不能和已有函数重名,标识符由字母、数字和下划线组成。

7.下列对象中没有Caption属性的是【 D 】A.MDI Form B.SDI Form C.Label D.ScrollBar 8.下列【 A 】方法是MDI Form 特有的方法A.Arrange B.Hide C.SetFocus D.Show9.下面【 A 】对象拥有AutoRedraw属性A.PictureBox和窗体 B.Frame和窗体C.PictureBox和Frame D.PictureBox和ImageAutoRedraw是存储动态输出信息的,在窗体重绘时还拿出来描绘的窗体,就要把autoredraw 置为true. 窗体最小化后展开,窗体被其他窗体覆盖,窗体由小变大的时候。

窗体和picturebox 支持绘图。

10.下列【 D 】属性是SDI Form 特有的A.Enabled B.DrawWidth C.Caption D.MDIChild 11.下列控件中没有事件的是【 D 】A.Timer控件和Shape控件 B.Shape控件和菜单C.Timer控件和菜单 D.Shape和Line控件Timer有timer事件,菜单有click事件12.不能作为容器是【 D 】A.Frame B.Form C.PictureBox D.Image容器有四个,窗体的容器MDI,SDI窗体,frame控件,picturebox.13.动态数组重定义应使用【 D 】关键字A.Dim B.Preserve C.Type D.ReDimDim 可以定义窗体级变量,也可以定义局部变量,窗体级在通用段定义,局部在函数和过程定义。

静态局部变量可以保留上次函数调用的值。

14.下列对象中拥有KeyPreview属性是【B】A.MDI Form B. SDI Form C.ComboBox D.ListBox15.可以删除列表框所有列表条目的方法是【 A 】A.Clear B.RemoveItem C.Additem D.ClsCls是清屏16.可以向列表框添加列表条目的方法是【 C 】A.Clear B.RemoveItem C. Additem D.Cls17.下列【 B 】语句可以让T控件1秒中自动激发10次Timer事件A.T.Interval =50 B.T.Interval = 100C.T.Interval =150 D.T.Interval =2001秒=1000毫秒18.下列【 A 】方法能完成窗体逻辑坐标系统的设置A.Scale B.SetFocus C.Show D.PaintPicture 徒手写不用坐标系统19.【 C 】属性可以设置TextBox输入文本的掩码A.MaxLength B.FontSize C.PasswordChar D.MultiLine MaxLength 设置文本框,接纳的最大文本数20.窗体第一个和最后一个发生的事件是【 A 】A.Initialize和T erminate B.Terminate和InitializeC.Load 和Unload D.Unload和Load21.若要处理程序运行过程中的错误应使用【 C 】语句先捕获错误A.On Error GoTo 0 B.On Error Resume NextC.On Error GoTo 语句行号 D.Resume Next捕获的时候有三种情况:On Error GoTo 0 :系统处理错误的方法On Error Resume Next :忽略错误On Error GoTo 语句行号正确的处理方式三种错误:语法错误,逻辑错误,运行错误恢复错误:Resume Next,Resume 行号,Resume 0(从错误行开始执行)三.阅读下面程序,写出单击Command1后的程序运行结果(10分)1.Private Sub Ch(ByVal a As Integer, ByRef b As Integer)Dim k As Integerk = a: a = b: b = kEnd SubPrivate Sub Command1_Click()Dim x As Integer, y As Integerx = 10: y = 20Ch x, yPrint x, yEnd Sub(10 10)不能是(10,10)2.Private Sub Command1_Click()Dim x As Integer, y As Integerx = 91y = x Mod 10 * 10 + x \ 10Print yEnd Sub乘的优先级比mod高Mod是求余数答案是1003.Private Sub Command1_Click()Print av(3, 4, 6, 8, 10)End SubPublic Function av(ParamArray s()) As SingleDim H As IntegerDim i As VariantDim C As IntegerFor Each i In sH = H + iC = C + 1Next iav = H / CEnd Function这个是求平均值31/5=6.24.Public Function ABC(a As Single, Optional b = 5) As IntegerIf IsMissing(b) = True ThenABC = a * aElseABC = a * bEnd IfEnd FunctionPrivate Sub Command1_Click()Print ABC(10, 2), ABC(3)End Sub答案是(20,15)缺省参数IsMissing(b) = True 的意思是如果b是缺省的,但是b已经给了默认值了,就不可能再缺省了,所以这条不执行。

ABC(3) 没有给b,就默认b是5ABC(10, 2) 给了b的值,就不用b的默认值了,用2.5.Private Function ABC(A As Integer)Static K As IntegerK = K + AABC = KEnd FunctionPrivate Sub Command1_Click()Dim I As Integer, S As IntegerFor I = 1 To 5S = S + ABC(I)NextPrint SEnd Sub静态局部变量可以保留上次函数调用的值。

(35)1+1+2+1+2+3+1+2+3+4+1+2+3+4+5=35四.程序填空(30分)1.下面函数的功能是随机产生一个字母(大小写都可能),并返回该字母,阅读并理解程序,填写缺失的代码。

Private Function zm() As StringRandomizeDim k As IntegerDo【k=int(rnd*58+65) 】这个的意思是要产生一个65到122的随机数Loop【until 】Not (k < 97 And k > 90)这个的意思是大小写字母之间的其他如果是while, 就不要那个not【zm 】= Chr(k)End Function2.有下面界面(图1)用于学习标兵的评选,选择合适的人选后(必须选择5人)按提交按钮(Commadn1)把本次的选择结果写到文件a.txt中(a.txt中将记录所有的评选结果,如图2所示)。