内容正文:
《Visual Basic程序设计(第6版)》
期末复习卷(四)
时间:90分钟 总分:100分
班级 姓名 学号 成绩
一、选择题(本大题共25小题,每小题2分,共50分)
1、多窗体程序是由多个窗体组成的,在缺省的情况下,VB应用程序执行时,总是把( )指定为启动窗体。
A.不包含任何控件的窗体
B.设计时的第一个窗体
C.包含控件最多的窗体
D.命名为Form1的窗体
【答案】B
【解析】VB 的默认规则是:在多窗体工程中,最先创建(设计时第一个)的窗体会被自动设为启动窗体。
2、在设计工作模式下,双击窗体Form1的空白处,打开代码窗口,显示的事件过程模板是( )
A. Form_DblClick
B. Form_Load
C. Form1_DblClick
D. Form1_Load
【答案】D
【解析】在设计模式下双击窗体空白处,默认触发的是窗体的Load事件,用于窗体加载时执行初始化操作。事件过程的命名规则为“对象名_事件名”,此处对象为Form1,事件为Load,因此对应的过程模板是Form1_Load。
3、下面( )是不合法的单精度常数。
A.100!
B.100.0
C.1E+2
D.100.0D+2
【答案】D
【解析】D是双精度指数标识,该常数属于双精度。
4、表达式Int(23.4)+Round(-35.5)的计算结果为( )
A.-11
B.-12.1
C.-13
D.-12.5
【答案】C
【解析】Int(23.4) → 取小于等于 23.4 的最大整数,结果为 23;Round(-35.5) → 四舍五入,-35.5 向绝对值小的方向舍入,结果为 -36,最终结果为-13。
5、从键盘上输入两个字符串,分别保存在变量str1、str2中。确定第二个字符串在第一个字符串中起始位置的函数是( )。
A. Left
B.Mid
C.String
D.Instr
【答案】D
【解析】InStr 函数用于返回第二个字符串在第一个字符串中首次出现的起始位置。
6、Visual Basic 的类模块文件的扩展名是( )
A..cls
B..frm
C..vbp
D..bas
【答案】A
【解析】.cls 是类模块(Class Module)的扩展名,用于定义对象类。.frm 是窗体模块(Form)的扩展名。.vbp 是工程文件(Visual Basic Project)的扩展名。.bas 是标准模块(Standard Module)的扩展名。
7、设 a=“Microsoft□Visual□Basic”,则以下使变量 b 的值为“Visual□Basic”的语句是( )
A.b=Left(a,10)
B.b=Mid(a,10,12)
C.b=Right(a,10)
D.b=Mid(a,11)
【答案】D
【解析】Mid(a, 11) 从第 11 个字符开始取到末尾,正好得到 "Visual Basic"。
8、当程序出现 "下标越界" 错误时,这属于( )类型的错误。
A. 语法错误
B. 编译错误
C. 运行时错误
D. 逻辑错误
【答案】C
【解析】“下标越界”(Subscript out of range)只有在程序运行、实际访问数组或集合时才会暴露出来,编译阶段无法发现。
9、下面程序执行后,X的结果为( )。
X=0
For I =1 to 5
For j=I to 5
X=X+1
Next j
Next I
Print X
A.5
B.10
C.15
D.20
【答案】C
【解析】内层循环次数随 I 增加而递减:I=1 → 5 次 I=2 → 4 次 I=3 → 3 次 I=4 → 2 次 I=5 → 1 次,总次数 5+4+3+2+1 = 15,即 X 累加 15 次。
10、要判断在文本框时否按了Enter键,应在文本框的( )事件中判断
A.Change
B.KeyDown
C.Click
D.KeyPress
【答案】D
【解析】判断文本框是否按 Enter 键,优先选择 KeyPress 事件,KeyPress通过KeyAscii=13判断 Enter 键,是最直接的方式。
11、程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是( )。
A.MouseDown
B.MouseUp
C.Load
D.Click
【答案】C
【解析】Load 事件只在窗体被加载时触发一次;单击鼠标时窗体早已加载完毕,因此不会再接收 Load 事件。
12、如果希望标签在显示的时候没有边框,应该设置的属性是( )
A.将标签的 BorderStyle 属性设置成 1
B.将标签的 BackStyle 属性设置成 1
C.将标签的 BorderStyle 属性设置成 0
D.将标签的 Enabled 属性设置成 False
【答案】C
【解析】BorderStyle = 0 表示“无边框”;BorderStyle = 1 才会出现固定单边框。
13、如果列表框中没有被选定的项目,则执行List1.Removeitem List1.Listindex 语句的结果是( )
A.移去第一项
B.移去最后假如列表的一项
C.移去最后一项
D.以上都不对
【答案】D
【解析】列表框无选定项时,ListIndex = -1;RemoveItem仅接受 0 ~ ListCount-1 的索引。
14、下列关于计时器控件的描述中,正确的是( )。
A. 计时器只有1个事件,即Timer事件
B. Interval属性以微秒为单位设置计时器事件产生的间隔
C. 可以根据需要在窗体上调整计时器的大小
D. 可以通过属性设置决定计时器是否在窗体上可见
【答案】A
【解析】计时器的Interval属性以毫秒为单位,B选项叙述错误;计时器控件的位置和大小无关紧要,因为它只是在设计阶段出现在窗体上,程序运行时会自动消失。
15、编写如下事件过程:
Private Sub Form_MouseDown(Button As Integer ,Shift As Integer,X As Single,Y As Single)
If Shift=6 And Button=2 Then
Print "Hello"
End If
End Sub
程序运行后,为了在窗体上输出"Hello",应在窗体上执行以下( )操作。
A.同时按下 Shift 键和鼠标左键
B.同时按下 Shift 键和鼠标右键
C.同时按下Ctrl、Alt 键和鼠标左键
D.同时按下 Ctrl、Alt 键和鼠标右键
【答案】D
【解析】Shift = 6 表示Ctrl + Alt 同时按下(Ctrl=2,Alt=4,2+4=6);Button = 2 表示右键。
16、在VB中,默认的数组下标的下界从0开始,要想在通用声明段界定下界,则应使用( )。
A.Option Base
B.Option Explicit
C.Explicit
D.Low Base
【答案】A
【解析】在 VB 的通用声明段使用 Option Base 0 或 Option Base 1 可以一次性设定当前模块内所有数组的默认下界。
17、下列关于函数说明正确的是( )。
A.定义函数过程时,若没有用As子句说明函数的类型,则函数过程与Sub过程一样,都是无类型过程
B.在函数体中,如果没有给函数名赋值,则该函数过程没有返回值
C.函数名在过程中只能被赋值一次
D.函数过程是通过函数名返回函数值的
【答案】D
【解析】函数通过给函数名赋值或使用 Return 表达式 将结果返回给调用者。
18、设有如下Command1的单击事件过程及fun过程
Private Sub Command1_Click()
Dim x As Integer
x = Val(InputBox("请输入一个整数"))
fun (x)
End Sub
Private Sub fun(x As Integer)
If x Mod 2 = 0 Then fi (x / 2)
Print x;
End Sub
执行上述程序,输入6,结果是( )。
A.3 6
B.6 3
C.6
D.程序死循环
【答案】A
【解析】fun过程是一个递归过程,它的结束条件是参数值为奇数。第一次调用,参数值为6,是偶数所再次调用fun过程,这次参数为6/2=3,是奇数,不再调用自身,接着执行下一句输出参数值即3,然后返回第一次调用过程中执行下一句输出第一次调用参数值,即6。
19、以下程序的运行结果是( )
Sub s1(b() As Integer)
For i = 1 To 4
b(i) = 2 * i
Next i
End Sub
Private Sub Command1_Click()
Dim a(1 To 4) As Integer
For i = 1 To 4
a(i) = i + 5
Next i
s1 a()
For i = 1 To 4
Print a(i)
Next i
End Sub
A.12 14 16 18
B.6 7 8 9
C.2 4 6 8
D.1 2 3 4
【答案】C
【解析】代码先初始化数组a为[6,7,8,9],调用s1后被修改为[2,4,6,8]。
20、下列叙述中正确的是( )。
A.在窗体的Form_Load事件过程中定义的变量是全局变量
B.局部变量的作用域可以超出所定义的过程
C.在某个Sub过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程
D.在调用过程时,所有局部变量被系统初始化为0或空字符串
【答案】C
【解析】不同过程可以各自定义同名的局部变量,互不影响,作用域仅限本过程。
21、用Static关键字定义的过程是指( )。
A.声明的过程名是静态的
B.声明的形参是静态的
C.声明过程中的局部变量是静态的
D.声明过程的返回值是静态的
【答案】C
【解析】Static修饰过程 → 过程内所有Dim声明的局部变量自动变为Static变量。
22、命令Picture.Cirle(500,800),800能够在图片框Picture中画出的图形是( )。
A.半径为sin的椭圆
B. 细而高的椭圆
C.扁而平的椭圆
D.圆心在(500,800)的一个圆弧
【答案】D
【解析】只给出圆心坐标和半径,没有给出 aspect(纵横比)参数,因此默认画的是正圆(aspect = 1),圆心在 (500, 800),半径 800。
23、关于逻辑错误的描述,以下正确的是( )
A. 程序能正常运行但结果不正确
B. 程序编译时会提示错误信息
C. 程序运行时会崩溃
D. 逻辑错误可以被 VB 自动检测
【答案】A
【解析】逻辑错误(Logic Error)指代码语法合法、运行不崩溃,但算法或流程设计有误,导致输出结果不符合预期。
24、二进制文件的读写最小单元为( )。
A.记录
B.字段
C.字符
D.字节
【答案】D
【解析】二进制文件(Binary file)在 VB 中以 字节(Byte) 为最小读写单位,使用 Get / Put 语句时可以精确到单个字节。
25、为了把一个记录型变量的内容写入文件中指定的位置,所使用的语句的格式为( )。
A. Get文件号,记录号,变量名
B. Get文件号,变量名,记录号
C. Put文件号,变量名,记录号
D. Put文件号,记录号,变量名
【答案】D
【解析】在 VB 的随机文件(或二进制文件)操作中:Put 语句用于把记录型变量的内容写入文件的指定位置。语法格式:Put [#]文件号, [记录号], 变量名。
二、填空题(本大题共10小题,每小题2分,共20分)
1、在VB中,VB对象可以分为两类,分别是________和_________。
【答案】 预定义对象; 用户定义对象
【解析】预定义对象(系统内置,如控件、App、Printer 等,直接使用);用户定义对象是程序员自定义。
2、在VB的变量定义中,变量名第一个字符必须是__________。
【答案】字母或下划线
【解析】在Visual Basic中,变量名的第一个字符必须是字母或下划线,不能是数字或其他特殊字符,后续字符可以是字母、数字或下划线。
3、字符串常量由任何ASCII字符组成,在程序中,它必须由________括起来。
【答案】双引号
【解析】在 VB 中,字符串常量必须用英文双引号 " " 括起来。
4、VB中的控件分为________、ActiveX控件和________三类。
【答案】内部控件;可插入对象
【解析】标准控件(内置控件)由 VB 开发环境自带,安装后即出现在工具箱中;ActiveX 控件可通过“部件”对话框添加到工具箱,可插入对象(OLE 对象)通过“部件”对话框的“可插入对象”页签添加,本质上是支持 OLE 自动化的外部应用程序对象。
5、 当运行程序时候,系统自动执行启动窗体的________事件过程
【答案】Load
【解析】在 VB 中,当工程开始运行、系统把启动窗体装入内存时,自动触发该窗体的 Load 事件。因此只要在窗体模块内编写了 Form_Load() 过程,其中的代码就会在程序启动瞬间被执行,常用来完成初始化操作。
6、要对文本框中已有的内容进行编辑,按下键盘上的按键就是不起作用,原因是设置的________属性为True。
【答案】Locked
【解析】Locked(锁定)属性用于控制文本框(TextBox)的内容是否可编辑,是布尔型属性。
7、清除列表框 List1 中所有选项,语句:______;删除列表框中索引为 3 的选项,语句:______ 。
【答案】List1.Clear ;List1.RemoveItem 3
【解析】调用列表框的 Clear 方法,一次性删除所有列表项,RemoveItem 方法按索引删除指定项,索引从 0 开始。
8、若要使一个按钮控件隐藏,应设置其__________属性__________值。
【答案】Visible;False
【解析】Visible属性用于控制控件是否可见,当该属性设置为False时,控件隐藏;设置为True时,控件可见。因此要使按钮控件隐藏,需将Visible属性设为False。
9、在VB的绘图设计中,线条粗细由_______属性控制,单位为像素;默认值为_______。
【答案】DrawWidth;1
【解析】DrawWidth 是窗体、图片框等容器对象的属性,用于设置 Line、Circle、PSet 等绘图方法画出的线条粗细。
10、打开顺序文件用于追加写入,模式关键字为________ ;若文件不存在,VB会自动创建。
【答案】Append
【解析】使用 Open "文件名" For Append As #文件号 时,VB 会把文件指针移到文件末尾,保留原有内容,新数据追加写入。
三、程序填空题(本大题共3小题,每题10分,共30分)
1、下面的程序功能为:用于根据文本框X中输入的内容进行以下处理:若X为2、4、6,则打印"X的值为2、4、6";若X在11到15之间,则打印"X的值为大于等于11小于等于15";若X大于20,则打印"X的值大于20";否则,打印"X不在范围内"。
Private Sub Command1_Click()
Select Case Val(Text1.Text)
Case___(1)_______
Print "X的值为2,4,6"
Case ___(2)_______
Print "X的值为大于等于11小于等于15"
Case Is > 20
Print "X的值大于20"
Case Else
Print "X不在范围内"
End Select
End Sub
【答案】
(1)2, 4, 6
(2)11 To 15
【解析】Case 2, 4, 6表示用逗号列出多个离散值,只要 Val(Text1.Text) 等于其中任意一个就匹配成功。To 关键字表示连续区间,包含边界 11 和 15,等价于“大于等于 11 且小于等于 15”。
2、程序功能:随机产生10个200-400之间的数,显示数组各元素,并求出一维数组中最大的元素。
Private Sub Form_Click()
Dim a(1 To 10), smin, i%
For i = 1 To 10
a(i) = Int(Rnd * 200 + 200)
Print a(i);
Next i
___(1)________
Print
Print "min="; smin
End Sub
Sub s(b(), min)
Dim i%
min = b(LBound(b))
For i = LBound(b) + 1 To UBound(b)
If b(i) < min Then ___(2)________
Next i
End Sub
【答案】
(1)Call s(a(), smin)
(2)min = b(i)
【解析】主过程里已经把数组 a 填好,需要调用求最小值的过程 s,并把结果带回 smin,在过程 s 中,min 初始值设为第 1 个元素,随后遍历剩余元素;一旦发现更小的数就更新 min。
3、程序功能:该程序的功能为:建立并输出一个5×5的矩阵,使该矩阵主对角线元素为1,其余元素为0。
Private Sub Form_Click()
Dim sc(5, 5) As Integer
For i = 0 To 4
For j = 0 To 4
If ___(1)________ Then
sc(i, i) = 1
Else
___(2)________
End If
Next j
Next i
For i = 0 To 4
For j = 0 To 4
Print sc(i, j);
Next j
Print
Next i
Print
End Sub
【答案】
(1)i = j
(2)sc(i, j) = 0
【解析】主对角线条件:行号 = 列号,即 i = j。非对角线元素置 0,即 sc(i, j) = 0。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
《Visual Basic程序设计(第6版)》
期末复习卷(四)
时间:90分钟 总分:100分
班级 姓名 学号 成绩
一、选择题(本大题共25小题,每小题2分,共50分)
1、多窗体程序是由多个窗体组成的,在缺省的情况下,VB应用程序执行时,总是把( )指定为启动窗体。
A.不包含任何控件的窗体
B.设计时的第一个窗体
C.包含控件最多的窗体
D.命名为Form1的窗体
2、在设计工作模式下,双击窗体Form1的空白处,打开代码窗口,显示的事件过程模板是( )
A. Form_DblClick
B. Form_Load
C. Form1_DblClick
D. Form1_Load
3、下面( )是不合法的单精度常数。
A.100!
B.100.0
C.1E+2
D.100.0D+2
4、表达式Int(23.4)+Round(-35.5)的计算结果为( )
A.-11
B.-12.1
C.-13
D.-12.5
5、从键盘上输入两个字符串,分别保存在变量str1、str2中。确定第二个字符串在第一个字符串中起始位置的函数是( )。
A. Left
B.Mid
C.String
D.Instr
6、Visual Basic 的类模块文件的扩展名是( )
A..cls
B..frm
C..vbp
D..bas
7、设 a=“Microsoft□Visual□Basic”,则以下使变量 b 的值为“Visual□Basic”的语句是( )
A.b=Left(a,10)
B.b=Mid(a,10,12)
C.b=Right(a,10)
D.b=Mid(a,11)
8、当程序出现 "下标越界" 错误时,这属于( )类型的错误。
A. 语法错误
B. 编译错误
C. 运行时错误
D. 逻辑错误
9、下面程序执行后,X的结果为( )。
X=0
For I =1 to 5
For j=I to 5
X=X+1
Next j
Next I
Print X
A.5
B.10
C.15
D.20
10、要判断在文本框时否按了Enter键,应在文本框的( )事件中判断
A.Change
B.KeyDown
C.Click
D.KeyPress
11、程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是( )。
A.MouseDown
B.MouseUp
C.Load
D.Click
12、如果希望标签在显示的时候没有边框,应该设置的属性是( )
A.将标签的 BorderStyle 属性设置成 1
B.将标签的 BackStyle 属性设置成 1
C.将标签的 BorderStyle 属性设置成 0
D.将标签的 Enabled 属性设置成 False
13、如果列表框中没有被选定的项目,则执行List1.Removeitem List1.Listindex 语句的结果是( )
A.移去第一项
B.移去最后假如列表的一项
C.移去最后一项
D.以上都不对
14、下列关于计时器控件的描述中,正确的是( )。
A. 计时器只有1个事件,即Timer事件
B. Interval属性以微秒为单位设置计时器事件产生的间隔
C. 可以根据需要在窗体上调整计时器的大小
D. 可以通过属性设置决定计时器是否在窗体上可见
15、编写如下事件过程:
Private Sub Form_MouseDown(Button As Integer ,Shift As Integer,X As Single,Y As Single)
If Shift=6 And Button=2 Then
Print "Hello"
End If
End Sub
程序运行后,为了在窗体上输出"Hello",应在窗体上执行以下( )操作。
A.同时按下 Shift 键和鼠标左键
B.同时按下 Shift 键和鼠标右键
C.同时按下Ctrl、Alt 键和鼠标左键
D.同时按下 Ctrl、Alt 键和鼠标右键
16、在VB中,默认的数组下标的下界从0开始,要想在通用声明段界定下界,则应使用( )。
A.Option Base
B.Option Explicit
C.Explicit
D.Low Base
17、下列关于函数说明正确的是( )。
A.定义函数过程时,若没有用As子句说明函数的类型,则函数过程与Sub过程一样,都是无类型过程
B.在函数体中,如果没有给函数名赋值,则该函数过程没有返回值
C.函数名在过程中只能被赋值一次
D.函数过程是通过函数名返回函数值的
18、设有如下Command1的单击事件过程及fun过程
Private Sub Command1_Click()
Dim x As Integer
x = Val(InputBox("请输入一个整数"))
fun (x)
End Sub
Private Sub fun(x As Integer)
If x Mod 2 = 0 Then fi (x / 2)
Print x;
End Sub
执行上述程序,输入6,结果是( )。
A.3 6
B.6 3
C.6
D.程序死循环
19、以下程序的运行结果是( )
Sub s1(b() As Integer)
For i = 1 To 4
b(i) = 2 * i
Next i
End Sub
Private Sub Command1_Click()
Dim a(1 To 4) As Integer
For i = 1 To 4
a(i) = i + 5
Next i
s1 a()
For i = 1 To 4
Print a(i)
Next i
End Sub
A.12 14 16 18
B.6 7 8 9
C.2 4 6 8
D.1 2 3 4
20、下列叙述中正确的是( )。
A.在窗体的Form_Load事件过程中定义的变量是全局变量
B.局部变量的作用域可以超出所定义的过程
C.在某个Sub过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程
D.在调用过程时,所有局部变量被系统初始化为0或空字符串
21、用Static关键字定义的过程是指( )。
A.声明的过程名是静态的
B.声明的形参是静态的
C.声明过程中的局部变量是静态的
D.声明过程的返回值是静态的
22、命令Picture.Cirle(500,800),800能够在图片框Picture中画出的图形是( )。
A.半径为sin的椭圆
B. 细而高的椭圆
C.扁而平的椭圆
D.圆心在(500,800)的一个圆弧
23、关于逻辑错误的描述,以下正确的是( )
A. 程序能正常运行但结果不正确
B. 程序编译时会提示错误信息
C. 程序运行时会崩溃
D. 逻辑错误可以被 VB 自动检测
24、二进制文件的读写最小单元为( )。
A.记录
B.字段
C.字符
D.字节
25、为了把一个记录型变量的内容写入文件中指定的位置,所使用的语句的格式为( )。
A. Get文件号,记录号,变量名
B. Get文件号,变量名,记录号
C. Put文件号,变量名,记录号
D. Put文件号,记录号,变量名
二、填空题(本大题共10小题,每小题2分,共20分)
1、在VB中,VB对象可以分为两类,分别是________和_________。
2、在VB的变量定义中,变量名第一个字符必须是__________。
3、字符串常量由任何ASCII字符组成,在程序中,它必须由________括起来。
4、VB中的控件分为________、ActiveX控件和________三类。
5、 当运行程序时候,系统自动执行启动窗体的________事件过程
6、要对文本框中已有的内容进行编辑,按下键盘上的按键就是不起作用,原因是设置的________属性为True。
7、清除列表框 List1 中所有选项,语句:______;删除列表框中索引为 3 的选项,语句:______ 。
8、若要使一个按钮控件隐藏,应设置其__________属性__________值。
9、在VB的绘图设计中,线条粗细由_______属性控制,单位为像素;默认值为_______。
10、打开顺序文件用于追加写入,模式关键字为________ ;若文件不存在,VB会自动创建。
三、程序填空题(本大题共3小题,每题10分,共30分)
1、下面的程序功能为:用于根据文本框X中输入的内容进行以下处理:若X为2、4、6,则打印"X的值为2、4、6";若X在11到15之间,则打印"X的值为大于等于11小于等于15";若X大于20,则打印"X的值大于20";否则,打印"X不在范围内"。
Private Sub Command1_Click()
Select Case Val(Text1.Text)
Case___(1)_______
Print "X的值为2,4,6"
Case ___(2)_______
Print "X的值为大于等于11小于等于15"
Case Is > 20
Print "X的值大于20"
Case Else
Print "X不在范围内"
End Select
End Sub
2、程序功能:随机产生10个200-400之间的数,显示数组各元素,并求出一维数组中最大的元素。
Private Sub Form_Click()
Dim a(1 To 10), smin, i%
For i = 1 To 10
a(i) = Int(Rnd * 200 + 200)
Print a(i);
Next i
___(1)________
Print
Print "min="; smin
End Sub
Sub s(b(), min)
Dim i%
min = b(LBound(b))
For i = LBound(b) + 1 To UBound(b)
If b(i) < min Then ___(2)________
Next i
End Sub
3、程序功能:该程序的功能为:建立并输出一个5×5的矩阵,使该矩阵主对角线元素为1,其余元素为0。
Private Sub Form_Click()
Dim sc(5, 5) As Integer
For i = 0 To 4
For j = 0 To 4
If ___(1)________ Then
sc(i, i) = 1
Else
___(2)________
End If
Next j
Next i
For i = 0 To 4
For j = 0 To 4
Print sc(i, j);
Next j
Print
Next i
Print
End Sub
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$