当前位置:文档之家› 2018年7月VB程序设计复习题库

2018年7月VB程序设计复习题库

VB程序设计复习题库一、判断题(每小题2分,共20分)在以下提供的若干陈述中,逐一判断其正确与否,用A表示正确,用B表示错误。

(1) 事件过程可以由某个用户事件触发执行,它不能被其他过程调用。

(2) Visual Basic的Double类型数据可以精确表示其数值范围内的所有实数。

(3) For/Next循环正常(未执行Exit For)结束后,控制变量的当前值等于终值。

(4) Sub过程名在过程中必须被赋值。

(5) SetFocus方法是把焦点移到指定对象上,使对象获得焦点,该方法适用于所有控件。

(6) 移动框架时框架内控件也随之移动,所以框架内控件的Left和Top属性值也随之改变。

(7) 单选钮控件和复选框控件都具有Value属性,它们的作用完全一样。

(8) 当组合框的Style属性设置为0时,组合框称为“下拉式组合框”,其选项可以从下拉列表框的列表项中选择,也可以由用户输入。

(9) 若Visual Basic中容器取缺省坐标系,则坐标原点在容器左上角、单位长度为像素。

(10) 用Output模式打开文件,如果指定文件和路径不存在,则会自动创建指定文件及路径。

二、单选题(每小题2分,共20分)(11) 将VB新建的“标准EXE”工程保存在磁盘上,至少会产生()文件。

[A] .frx和.frm [B] .exe和.vbp [C] .vbp和.frm [D] .frm和.bas(12) 窗体Form1的Name属性是Frm1,它的单击事件过程名是()。

[A] Form1_Click [B] Form_Click [C] Frm1_Click [D] Me_Click(13) 已知字符串变量x存放"1234",表达式V al("&H"+Left(x,2))的值是()。

[A] 0 [B] &H12 [C] 12 [D] 18(14) 假定通过复制、粘贴操作建立了一个命令按钮数组Command1,以下说法中错误的是()。

[A] 数组中每个命令按钮的名称(Name属性)均为Command1[B] 若未做修改,数组中每个命令按钮的大小都一样[C] 数组中各个命令按钮使用同一个Click事件过程[D] 数组中每个命令按钮的Index属性值都相同(15) 要使文本框显示滚动条,除了设置ScrollBars属性外还必须设置()属性。

[A]AutoSize [B]MultiLine [C]Alignment [D]Visible(16) 当Stretch属性为False时()。

[A] 图片大小随影像框的大小进行调整[B] 影像框的大小随图片大小进行调整[C] 图片框的大小随图片大小进行调整[D] 图片大小随图片框的大小进行调整(17) 在设计菜单时,为了创建分隔栏,要在()中输入连字符(-)。

[A] 名称栏[B] 标题栏[C] 索引栏[D] 显示区(18) 将通用对话框控件以“打开文件”对话框方式打开,可选()方法。

[A] ShowOpen [B] Action [C] Open [D] FileName(19) 下面子过程语句说明合法的是_________A.Sub f1(ByVal n%( )) B.Sub f1(n%) As IntegerC.Function f1%(f1%) D.Function f1(ByVal n%)(20) 执行语句“Write #1, 234; -34.56, "Hi"; Date”后,相应的文件内被写入()。

[A] 234,-34.56,"Hi",#2004-06-11# [B] 234;-34.56,"Hi";#2004-06-11#[C] 234,-34.56,Hi,2004-06-11 [D] 234 -34.56 "Hi" #2004-06-11#三、程序填空题(每空3分,共30分,)阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确答案。

程序1【程序说明】以下程序随机产生100个两位正整数,先对这些数按从大到小的顺序排序并按每行10个显示在窗体上。

再找出所有的个位数字与十位数字之和等于10的数。

【程序】Private Sub Form_Click()Dim a(100) As Integer, i As Integer, j As Integer, t As Integer, x As Integer, y As IntegerFor i = 1 To 100a(i) = (21)Next iFor i = 1 To 99For j = i + 1 To 100If a(i) < a(j) Then(22)End IfNext jNext iFor i = 1 To 100Print a(i);(23)Next iFor i = 1 To 100x = (24) '取十位数字y = a(i) Mod 10 '取个位数字If x + y = 10 Then Print a(i)Next iEnd SubPrivate Sub Swap( (25) )Dim Temp As IntegerTemp = X : X = Y : Y = TempEnd Sub【选项】(21) [A] Int(Rnd * 90) + 10 [B] Int(Rnd * 100)[C] Int(Rnd * 99) [D] 10 To 99(22) [A] Call Swap a(i), a(j) [B] Call Swap(a(i), a(j))[C] Temp = Swap(a(j), a(i)) [D] Swap(a(j), a(i))(23) [A] If i = 10 Then Print [B] If i = 10 *n Then Print[C] If i \ 10 = 0 Then Print [D] If i Mod 10 = 0 Then Print(24) [A] a(i) / 10 [B] a(i) \ 10 [C] Int(a(i))/10 [D] Fix(a(i))(25) [A] ByVal X As Integer, ByVal Y As Integer [B] ByVal X As Single, ByVal Y As Single[C] ByRef X As Integer, ByRef Y As Integer [D] ByRef X As Single, ByRef Y As Single四、程序改错题(每小题6分,共30分)Transfer 过程用于将一个十六进制整数转换为十进制整数,number函数过程用于将一个十六进制符号转换为数值。

Public Sub Transfer()Dim Hex As String '十六进制数Dim Dec As Double '十进制数Dim temp As StringDim i As IntegerDim n As IntegerHex = InputBox("输入一个十六进制整数")n = Val(Hex) '--------(1)--------i = 0Dotemp = Mid(Hex, i, 1) '--------(2)--------Dec = Dec + number * 16 ^ i '--------(3)--------i = i + 1Loop While i < nForm1.Print str(Hex) & "转换为十进制数为" & str(Dec) '--------(4)--------End SubPublic Function number(str As String) As IntegerSelect Case strCase "a", "A"number = 10Case "b", "B"number = 11Case "c", "C"number = 12Case "d", "D"number = 13Case "e", "E"number = 14Case "f", "F"number = 15Case Elsenumber = str '--------(5)-------- End SelectEnd Function参考答案二、单选题(每小题2分,满分20分)四、程序改错题(每小题6分,满分30分)(1)n = Len(Hex)(2)temp = Mid(Hex, n - i, 1)(3)Dec = Dec + number(temp) * 16 ^ i(4)Form1.Print Hex & "转换为十进制数为" & Dec(5)number = Val(str)。

相关主题