1、全国计算机等级考试二级 Visual Basic 习题集 第 1 页 = 第二章 标准控件和属性 1下列可以激活属性窗口的操作是( D ) A)用鼠标双击窗体的任何部位 B)执行工程菜单中的属性窗口命令 C)按 Ctrl+F4 键 D)按 F4键 2确定一个控件在窗体上的位置的属性是( D ) A) Width 或 Height B) Width 和 Height C) Top 或 Left D) Top 和 Left 3确定一个窗体或控件的大小的属性是( B ) A) Width 或 Height B) Width 和 Height C) Top 或 Left D) Top 和 Left 4
2、在 Visual Basic中,所有标准控件都具有的属性是 ( B )。 【 2013年 9月考试真题 】 A) Caption B) Name C) Text D) Value 参考答案 : B 【解析】 VB标准控件中不同控件具有不同属性 , 有的相同有的不同 , 但都具有 Nam e属性。故选 B。 5为了让计时器控件每隔 10秒产生了一个 Timer 事件,应把 Interval 属性设置为( B ) A) 1000 B) 10000 C) 10 D) 100 6下面关于单选按钮和复选框的叙述中正确的是( D ) A) 单选按钮被选中则它的 Value 属性为 True;复选框被选中则
3、它的 Value 属性为 2 B) 单选按钮被选中则它的 Value 属性为 True;复选框被选中则它的 Value 属性为 True C) 单选按钮被选中则它的 Value 属性为 1;复选框被选中则它的 Value 属性为 1 D) 单选按钮被选中则它的 Value 属性为 True;复选框被选中则它的 Value 属性为 1 7将文本框的 ScrollBar 设置为 2,文本框中却没有垂直滚动条,其原因为( B ) A) 文本框的 Locked 属性值为 True B) 文本框的 MultiLine 属性值为 False C) 文本框的 MultiLine 属性值为 True D) 文
4、本框中没有内容 第三章 简单程序设计语句 1.在面向对象的程序设计中,可被对象识别的动作称为 ( B )。 【 2013年 9月考试真题 】 A) 方法 B) 事件 C) 过程 D) 函数 参考答案 : B【解析】 在 VB中可被对象识别的动作称为事件,事件是由用户或系统触发的,触发后就会执行相应的事件过程代码。故选 B 2.以下打开 Visual Basic菜单编辑器的操作中,错误的是 ( A )。 【 2013年 9月考试真题 】 A) 执行 “编辑 “菜单中的 “菜单编辑器 “命令 B) 执行 “工具 “菜单中的 “菜单编辑器 “命令 C) 单击工具栏中的 “菜单编辑器 “按钮 D) 右
5、击窗体,在弹出的快捷菜单中选择 “菜单编辑器 “命令 参考答案 : A 【解 析】 在 “编辑 “菜单中没有 “菜单编辑器 “命令。故 A选项错误。 3假定窗体上有一个名称为 txtMac 的文本框,则执行语句 txtMac=” MyText” 后的结果为 ( D ) A) 把字符串 ” MyText” 存入变量 txtMac 中 B) 把文本框 txtMac 的 value 属性设置为 MyText C) 把文本框 txtMac 的 Name 属性设置为 MyText D)在文本框 txtMac 中显示字符串 ” MyText” 4为了使标签 Label1 透明且不具有边框,以下正确的属性设
6、 置是( D ) A) Label1.BackStyle=0 B) Label1.BackStyle=1 Label1.BorderStyle=1 Label1.BorderStyle=1 C) Label1.BackStyle=1 D) Label1.BackStyle=0 Label1.BorderStyle=0 Label1.BorderStyle=0 5下列控件中,不响应 Click 事件的是( A ) A) 形状 B) 图像框 C) 标签 D) 框架 6设窗体、框架、图片框 (PictureBox)、图像框 (Image)的名称分别是 Form1、 Frame1、 Picture1、
7、 Image1,有下面 4条语句: (1)form1.print “ VB” (2) frame1.print “ VB” (3) picture1.print “ VB” (4) image1.print “ VB” 其中正确的是( A ) A) ( 1)和( 3) B) ( 1)和( 2) C) ( 3)和( 4) D) ( 2)和( 3) 7以下关于图片框、图像框的叙述中,正确的是( B ) A) 使用绘图方法能够在图像框上绘制图形 B) 图片框可以通过 Print 方法显示文本 C) 图片框的 Stretch 属性用来自动调整图片框中图形内容的大小 D) 图像框可以作为容器 8假定 P
8、icture1 和 Text1 分别为图片框和文本框的名称,则下列错误的语句是( B ) A) Debug.Print 25 B) Text1.Print 25 C) Picture1.Print 25 D) Print 25 参考答案 : B 【解析】 Print方法可以在窗体上显示文本字符串和表达式的值,并可在其他图形对象或打印机上输出信息。其一般 格式为 : 对象名称 .Print表达式表 , |; 其中对 象名称可以是窗体 (Form)、图片框 (PictureBox)或打印机 (Printer), 也可以是立即窗口 (Debug)。如果省略对象名称,则在当前窗体上输出。 9在用菜单编
9、辑器设计菜单时,必须输入的项是( A ) A) 名称 B) 标题 C) 索引 D) 快捷键 第四章 VB 程序设计基础 1语句 Print String(3,” string” )的功能是( B ) 全国计算机等级考试二级 Visual Basic 习题集 第 2 页 A) 从字符串 string 第 3个字符开始至末尾取子字符串 B) 在窗 体上显示字符串 sss C) 从字符串 string 左起取出 3 个字符输出 D) 把数值型数据 3转换为字符串 2以下合法的 VB 变量名是( C ) A) print B) var name C) x_ D) 3x 参考答案 : C【解析】 VB中
10、变量的命名规则为:必须以字母或汉字开头由字母、汉字、数字或下划线组成不能使用 VB已经占用的关键字。#_1中 #是类型符号,变量名中不能用 VB保留符号。故不合法。 123_a以数字开头不合法。 string是 VB的关键字,也不合法。故 C选项正确 3 VB变量 x!的数据类型是( D ) A) 字符串类型 B) 双精度类型 C) 整型 D) 单精度类型 4设程序中分别将 a、 b、 c、 d 定义为布尔型、整型、字符串型、日期型变量,下列赋值语句错误的是( D ) A) c=5 s End Sub 运行程序,单击窗体,输出结果是( C ) A) 4 220 B) 1 30 C) 3 182
11、 D) 2 42 6有如下程序: Private Sub Form_Click( ) Dim B As String Dim m As Integer, Dec As Integer B=Inputbox(“ 请输入一个二进制数 ” ) M=Len(B) For i=1 to m Dec=Dec * 2 +Val( _ ) Next i Print Dec End Sub 程序功能是,从键盘上输入一个二进制数,把它转换为等值的十进制数并输出。程序不完整,在 _处应填入的内容是: C A) Right(B,i) B) Str(B) C) Mid(B,i,1) D) Left(B,i) 参考答案
12、: C 【解析】 将二进制数转换为十进制数需要将二进制数的每一位取出来进行运算,从一个数值字符串中截取一位数字字符要使用 Mid函数,因此在程序空缺处该填入 Mid。 7设有如下程序: Private Sub Form_Click() Dim a As String a = InputBox(“输入一个字符串 “) For i = Len(a) To 1 Step -1 Print Mid(a, i, 2); Next i End Sub 运行程序,单击窗体,在输入对话框中输入 ABCD,单击 ” 确定 ” 按钮,输出结果是( A ) A) DCDBCAB B) AABBCCDD C) DCB
13、A D) DDCCBBAA 8编写如下程序: Private Sub Command1_Click( ) Dim n As Long , s As String n=InputBox(“ 输入一个数 ” ) Do while n y Then Print x + y Else Print y + x End If End Sub 程序运行后,单击命令按钮 Command1,输出结果为( C ) A) cbacd B) cbcd C) cdcba D) cdcb 10编写如下程序: Private Sub Command1_Click() Dim x As Integer, y As Integ
14、er x = 1: y = 1 Do y = x * y If y 10 Then Print x, y Exit Do Else x = x + 3 End If Loop While x k / 2 End Sub 程序运行后,单击命令按钮 Command1,并输入数值 20,则输出结果为( C ) A) 2 3 4 5 B) 2 5 C) 2 2 5 D) 2 3 4 15窗体上有 1 个名称为 Command1 的命令按钮; 1 个名称为 List1、没有列表项的列表框。编写如下程序: Private Sub Command1_Click() Dim x As String, s As
15、 String, temp As String Dim i As Integer x = InputBox(“输入字符串 “, “输入 “) If x “ “ Then temp = s + temp Else list1.AddItem temp s = “ temp = “ End If Next list1.AddItem temp Else MsgBox “输入内容为空! “ End If End Sub 程序运行后,单击命令按钮 Command1,并输入 ” Happy new year” ,则在 List1 中显示的内容为( A ) A) year B) yppaH C) raey
16、 D) Happy New wen wen new 全国计算机等级考试二级 Visual Basic 习题集 第 7 页 Happy raey yppaH year 16编写如下程序: Private Sub Command1_Click() Dim score As Integer score = 86 If score 85 Then r = 1 ElseIf score 60 Then r = 2 Else r = 0 End If Print r End Sub 程序运行后,单击命令按钮 command1,输出结果为( D ) A) 86 B) 0 C) 2 D) 1 17 编写如下程
17、序: Private Sub Command1_Click() Dim x As Integer, y As Integer x = 1 y = 1 Do y = x * y If y 10 Then Exit Do Else x = x + 3 End If Loop Until x 0 End Sub 程序运行后,单击命令按钮 Command1,输出结果为( A ) A) False B) 1 C) -1 D) True 19在窗体上画一个 Timer1 计时器控件和一个 Shape1 形状控件,并编写如下程序: Private Sub Form_Load() Timer1.Interva
18、l = 1000 Timer1.Enabled = True End Sub Private Sub Timer1_Timer() If shape1.Shape = 1 Then shape1.Shape = 3 Else shape1.Shape = 1 End If End Sub 运行程序,则看到的结果是( C ) A) 显示椭圆形,每秒移动一次 B) 显示正方形,每秒闪烁一次 C) 交替显示正方形和圆形,每秒交替一次 D) 交替显示矩形和椭圆形,每秒交替一次 20.有如下程序: Private Sub Command1_Click() Dim i As Integer, j As I
19、nteger Dim sum As Integer n 1 Do j 1 Do sum sum j j j 1 Print j; Loop Until j3 n n 2 Loop Until n10 Print sum 全国计算机等级考试二级 Visual Basic 习题集 第 8 页 End Sub 运行上述程序,外层 Do循环执行的次数为 ( B )。 A) 4 B) 5 C) 7 D) 10 参考答案 : B 【解析】 外层 Do 循环结束条件是 n10, n 初值为 1,每次加 2,循环体中每次循环 n 的值为 3、 5、 7、 9、 11,值变化 5 次,因此外层 Do 循环执行次
20、数为 5 次。 第七章 数组 1下面关于控件数组的叙述中正确的是( B ) A) 控件数组中每个元素都是独立的控件,因此都有各自的事件过程 B) 控件数组中所有控件的名称相同,但其 Index 属性值各不相同 C) 控件数组中所有控件的名称相同,但其 Value 属性值各不相同 D) 上述都是错误的 2命令按钮 Command1 的 事件过程如下: Private Sub Command1_Click() Dim arr(5, 5) As Integer Dim i As Integer, j As Integer For i = 1 To 4 For j = 2 To 4 arr(i, j)
21、 = i + j Next j Next i Print arr(1, 3) + arr(3, 4) End Sub 执行上述过程,输出结果是( D ) A) 7 B) 12 C) 6 D) 11 参考答案 : C 【解析】 当用 Dim语句定义数组时,该语句把数组中的全部元素都初始化为 0,而把字符串数组中的全部元素都初始化为空字符串。程序中利用 For循环为数组 arr的部分元素赋值这些元素的第一维范围是 1 4,第二维的范围是 2 4,值为两维下标的和。程序要输出arr(1, 3) arr(3, 4)的值, arr(1, 3)值为 1 3 4, arr(3, 4)值为 3 4 7。 4
22、7 11, 因此程序输出结果为 11。 3 设有如下声明语句 Option Base 1 Dim arr(2,-1 to 5) As Integer 则数组 arr中数组元素的个数是( C ) A) 12 B) 21 C) 14 D) 10 4 在窗体上画一个名为 Command1的命令按钮,然后编写如下代码: Option Base 1 Private Sub Command1_Click() Dim a a Array(1, 2, 3, 4) j 1 For i 4 To 1 Step 1 s s a(i)* j j j * 10 Next i Print s End Sub 运行上面的程
23、序,其输出结果是 ( A )。 A) 1234 B) 12 C) 34 D) 4321 参考答案 : A 【解析】 Array函数用来为数组元素赋值,即把一个数据集读入某个数组。其格式为:数组变量名 =Array(数组元素值 )。Dim a语句没有变量 类型名,则 a默认为 Variant类型,这里它作为数组变量使用。现在已知数组 a中元素的值依次为 1、 2、 3、 4,则 For循环中各变量值变化如下: i=4时, s=s+a(4)*j=0+4*1=4,j=1*10=10 i=3时, s=s+a(3)*j=4+3*10=4+30=34,j=10*10=100 i=2时, s=s+a(2)*
24、j=34+2*100=34+200=234,j=100*10=1000 i=1时, s=s+a(1)*j=234+1*1000=234+1000=1234。循环结束。 S的值为 1234。 5 在窗体上画一个名为 Command1的命令按钮,然后编写以下程序: Private Sub Command1_Click() Dim M(10)As Integer For k 1 To 10 M(k) 12 k Next k x 8 Print M(2 M(x) End Sub 运行程序,单击命令按钮,在窗体上显示的是 ( A )。 A) 6 B) 5 C) 7 D) 8 参考答案 : A 【解析】
25、从程序中可知 , 数组 M元素 M (1) M (10)的值为 11、 10、 9、 8、 7、 6、 5、 4、 3、 2。则 M(8)的值为 4, M(2 M(8)即 M (2 4),即 M(6)。 M(6)的值为 6。因此窗体上显示为 6。 6 下列数组定义中错误的是 ( C )。 A) Dim a( 5 To 3) B) Dim a(3 To 5) C) Dim a( 3 To 5) D) Dim a( 3 To 3) 参考答案 : C 【解析】 定义数组时,数组下标的上界 下界。故 C选项错误。 7 以下叙述中错误的是( D ) 全国计算机等级考试二级 Visual Basic 习题
26、集 第 9 页 A) 用 ReDim 语句可以改变数组的维数 B) 用 ReDim 语句可以对数组中的所有元素置 0 或空字符串 C) 用 ReDim 语句可以改变数组的每一维的大小 D) 用 ReDim 语句可以改变数组的类型 8在窗体上画 1 个命令按钮,并编写如下事件过程: Private Sub Command1_Click() Dim a(3, 3) For m = 1 To 3 For n = 1 To 3 If n = m Or n = 4 - m Then a(m, n) = m + n Else a(m, n) = 0 End If Print a(m, n); Next n
27、 Print Next m End Sub 运行程序,单击命令按钮,窗体上显示的内容为( C ) A) 2 0 0 B) 2 0 0 C) 2 0 4 D) 2 3 0 0 4 0 0 4 5 0 4 0 3 4 0 0 0 6 0 5 6 4 0 6 0 0 6 参考答案 : C【解析】 根据 For循环中的 If语句的条件 n m or n 4 m中的 n m首先可以得出 a(1,1) 2, a(2,2) 4, a(3,3) 6, 其次根据 n 4 m的条件可以得出 a(1,3) 4, a(2,2) 4, a(3,1) 4。而其他的元素值都为 0。因此窗体上输出的三行分别是: 2 0 4
28、,0 4 0,4 0 6。 9设有下面的程序段: x=InputBox(“ 请输入一个整数 ” ) ReDim a(x) For k=x to 0 Step -1 a(k)=k Next k 一般,在这段程序之前应先进行数组 a的定义。下面定义语句中正确的( A ) A) Dim a( ) As Integer B) Dim a(100) As Integer C) Dim a(0 to 100) As Integer D) Dim a As Integer 第八章 数据文件 1 窗体上有一个名称为 Text1的文本框,一个名称为 Command1的命令按钮。以下程序的功能是从顺序文件中读取数
29、据: Private Sub Command1_Click() Dim s1 As String, s2 As String Open “c: d4.dat“ For Append As #3 Line Input #3, s1 Line Input #3, s2 Text1.Text s1 s2 Close End Sub 该程序运行时有错误,应该进行的修改是 ( A )。 A) 将 Open语句中的 For Append改为 For Input B) 将 Line Input改为 Line C) 将两条 Line Input语句合并为 Line Input #3, s1, s2 D) 将
30、Close语句改为 Close #3 参考答案 : A 【解析】 文件打开方式中的 Append意味着打开的文件是顺序输出方式,也就是说打开文件是为了向其中写入数据的而不是要读出数据。因此 Open “c: d4.dat “ For Append As #3应该改为 Open “c: d4.dat “ F or Input As #3。所以 A选项正确。 Cls oe语句中的文件号可以省略,这时会关闭所有打开的文件。 2 顺序文件在一次打开期间 ( D )。 A) 只能读,不能写 B) 只能写,不能读 C) 既可读,又可写 D) 或者只读,或者只写 参考答案 : D 【解析】 顺序文件的读写是
31、由 Open语句的打开模式决定。用 Output模式打开,则可对顺序文件进行写操作;用 Input模式打开,可对顺序文件进行读操作;用 Append模式打开,可将数据追加到文件尾部。打开一次期间,只能读,或只能写,不能同时进行读写操作。但随机文件和二进制文件打开以后可以同时进行读写操作。故 D选项正确。 3用语句 Open “ C:teac.txt” for Input As #1 打开文件后,就可以编程序,下列正确的是( B ) A)在 C 盘根目录下建立名为 teac.txt 的文件 B)将 C盘根目录下 teac.txt 文件的内容读入内存 C)把内存中的数据写入 C盘根目录下名为 te
32、ac.txt 的文件 D)将某个磁盘文件的内容写入 C盘根目录下名为 teac.txt 的文件 4写文件语句 Print #与 Write #的区别之一是( B ) A) Write # 用于写二进制文件; Print # 用于写文本文件 B) Write # 写到文件的每个数 据项之间自动添加 ” ,” 字符;而 Print # C) Print # 既可以写顺序文件,也可以写随机文件; Write # 则只能写顺序文件 D) Print # 写到文件的每个数据项之间自动添加 ” ,” 字符;而 Write # 第九章 通用对话框 1 在窗体上画一个通用对话框,其名称为 CommonDial
33、og1,则下列与 CommonDialog1.ShowOpen方法等效的语句是 ( A )。 A)CommonDialog1.Action 1 B)CommonDialog1.Action 2 C)CommonDialog1.Action 3 D)CommonDialog1.Action 4 全国计算机等级考试二级 Visual Basic 习题集 第 10 页 参考答案 : A 【解析】 通用对话框的属性 Action 1与 S howOpen方法等效 , 而 Action 2则与 S howS ave等效。 2以下关于通用对话框的叙述中,错误的是( D ) A) 在设计阶段,通用对话框控件
34、的大小不能改变 B) 通用对话框不是工具箱中的标准控件 C) 通用对话框控件可以用来建立不同类型的对话框 D) 利用通用对话框建立打开文件对话框时,可以完成打开文件的操作 参考答案 : D 【解析】 “打开 “对话框主要用来获取用户指定的文件信息并供程序使用,对话框本身并不提供打开文件功能,这些功能需另外编写代码才能实现,所以在 “打开 “对话框中可选中某文件,但不能打开。故 D选项错误。 3通用对话框控件文件建立对话框时,可以通过一个属性指标题,这个属性是( D ) A) Caption B) Action C) Name D) DialogTi 定对话框的 tle 4在窗体上画一个 Tex
35、t1 文本框和一个 CD1 通用对话框控件,并编写下面 程序: Private Sub Command1_Click( ) CD1.Flags=1 Or 256 CD1.Action=4 If CD1.Color=0 Then Text1.ForeColor=CD1.Color End if End Sub 运行程序并单击命令按钮,下面叙述中正确的是( B ) A)弹出的是颜色对话框 B)在弹出的对话框中选了一个颜色并单击确定按钮后,会改变文本框中文本的颜色 C)把代码 CD1.Action=4 改为 CD1.ShowColor 效果是一样的 D)弹出的是打开文件对话框 第十章 调用子程序和函
36、数过程 1 以下过程的功能是从数组中寻找最大值: Private Sub FindMax(a()As Integer, ByRef Max As Integer) Dim s As Integer, f As Integer Dim i As Integer s LBound(a) f UBound(a) Max a(s) For i s To f If a(i)Max Then Max a(i) Next End Sub 以下关于上述过程的叙述中,错误的是 ( C )。 A) 语句 Call FindMax(a, m)可以调用该过程,其中的 a是数组, m是 Integer类型变量 B) F
37、or循环次数等于 a数组的元素数 C) 过程末尾应该增加一条返回最大值的语句 FindMax Max D) 参数 Max用于存放找到的最大值 参考答案 : C 【解析】 过程定义语句中第 1 个参数是数组,调用是实参应该是一个数组变量或元素, 第 2 个参数是整型变量。过程中 LBound函数获取了数组下标的下限, UB ound 函数获取了数组下标的上限,在 F or i s to f 语句的循环中就可以访问数组中的各个元素。本过程是用 Sub定义的过程不需要返回值。程序中找到的最大值由参数 M ax 返回,因为它是按址传递的参数,它的值会带给实参。因此 C 选项的说法错误。 2 窗体上有一
38、个名称为 Command1的命令按钮,一个名称为 Text1的文本框。编写如下程序: Private Sub Command1_Click() Dim x As Integer x Val(InputBox(“输入数据 “) Text1 Str(x fun(x) fun(x) End Sub 对于上述程序,以下叙述中错误的是 ( A )。 A) 语句 fun n 有错,因为 n是整型, fun没有定义类型 B) 运行程序,输入值为 5时,文本框中显示 655 C) 运行程序,输入值为 6时,文本框中显示 42 D) ByRef表示参数按址传递 参考答案: A 【解析】 过程 fun的功能是将传
39、入的值运算后返回,当传入数值为 3的整数倍时返回该值的 2倍,否则返回该值的平方。过程 Fun的参数指定为 ByRef方式,即按址传递,因此会影响实参的值。 Str函数是将数值转换为字符串。过程 fun定义时没有指明返回类型因此默认为 Variant类型,它可以表示任何值,因此 A)选项的说法不正确。 3 设有如下通用过程: Public Function Fun(xStr As String)As String Dim tStr As String, strL As Integer tStr “ strL Len(xStr) i 1 Do While i strL / 2 tStr tStr & Mid(xStr, i, 1)& Mid(xStr, strL i 1, 1) i i 1 Loop Fun tStr End Function 在窗体上画一个名称为 Command1的命令按钮。然后编写如下的事件过程: Private Sub Command1_Click() Dim S1 As String S1 “abcdef“ Print UCase(Fun(S1) Private Function fun(ByRef n As Integer) If n Mod 3 0 Then n n n Else n n * n End If fun n End Function