安徽省及国家计算机二级VB模拟题解惑答疑2010-06-08

更新时间:2024-05-29 17:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

省二级考试VB试题汇总

VB上机试题解惑答疑

(2010年6月hq注释版)

资料说明:

本资料是由历届同学从历年二级模拟考试系统、课后习题、实验课本习题中辛苦整理、积累下来的典型题目。基本上可以代表省二级VB考试的考试知识点、难度。对于考生二级VB的同学极具参考价值,推荐同学们细细研读。

资料使用方法:

1. 看到相关题目就要联想所涉及的知识点,如果不很明白,就要察看教材,复习这些知识点,只有掌握了相应知识点才能真正应付考试中灵活多变的题目(当然还要能融汇贯通这些知识点); 2. 对于附有答题解释的题目,最好先不要看答案,自己分析过后再对照查看自己思路是否正确; 3. 切忌只看原体答案,不作总结,经常总结题目所涉及的知识点以及完成某任务(功能)的方法是非常重要的学习方法;一定不要死记硬背!

4. 本资料对题目进行了大量注释,帮助同学理解;有些题目考点、方法相同,只在靠前的题目作了解释,因此,最好顺序向下看。

一、选择题

1 以下4种描述中,错误的是_______。 D A. 常量在程序执行期间其值不会发生改变

B. 根据数据类型不同,常量可分为字符型常量 、数值常量、日期/时间型常量和布尔型常量 C. 符号常量是用一个标识符来代表一个常数,好象是为常数取一个名字,但仍保持常数的性质 D. 符号常量的使用和变量的使用没有差别 2 下面合法的常量是_______。 D

A. 1/2 B. 'abcd' C. 1.2*5 D. False

3 Visual Basic中可以用类型说明符来标识变量的类型,其中表示货币型的是_______。 C A. % B. # C. @ D. $ 4 以下关键字中,不能定义变量的是_______。 A

A. Declare B. Dim C. Public D. Private 5 用十六进制表示Visual Basic的整型常数时,前面要加上的符号是_______。 A

A. &H B. &O C. H D. O 6 Visual Basic日期常量的定界符是_______。 A

A. ## B. ?? C. () D. {}

7 数学关系3≤x<10表示成正确的VB表达式为_______。 B A. 3<=x<10 B. 3<=x AND x<10 C. x>=3 OR x<10 D. 3<=x AND <10

8 \\,/,Mod,*四个算术运算符中,优先级别最低的是_______。 C

A. \\ B. / C. Mod D. * 9 下面语句中有非法调用的是_______。 C A. x=SGN(-1) B. x=FIX(-1) \\ 和 mod 运算符都是针对整 C. x=SQR(-1) D. x$=CHR$(65) 型数据的运算;先自动把参与10 表达式23/5.8、23\\5.8、23 Mod 5.8的运算结果分别是_______。B 运算的各项四舍五入,然后再 A. 3、3.9655、3 B. 3.9655、3、5 执行运算,结果只取整数部分。 C. 4、4、5 D. 3.9655、4、3

11 如果变量 a=2、b=\、c=\、d=5,则表达式 ac AND b<>c 的值_______。A A. True B. False C. Yes D. No 字符串的比较,是比较它第 1 页 共 74 页

们的ASCII 码值的大小 省二级考试VB试题汇总

12 为了给x,y,z三个变量赋初值1,下面正确的赋值 A 语句是_______。 一行中多个语句,语句之间用冒号“:” A. x=1∶y=1∶z=1 B. x=1,y=1,z=1 分隔 C. x=y=z=1 D. xyz=1 13 以下4类运算符,优先级最低的是_______。 D A. 算术运算符 B. 字符运算符 C. 关系运算符 D. 逻辑运算符 14 已知a=\,则表达式Left(a, 4) +Mid(a, 4, 2)的值是_______。B

A. 123456 B. \ C. 123445 D. 1279 15 设有如下的记录类型

Type Student number As String name As String age As Integer End Type

则正确引用该记录类型变量的代码是_______。 B

A. Student.name=\张红\ B. Dim s As Student s.name=\张红\

C. Dim s As Type Stuent D. Dim s As Type s.name=\张红\ s.name=\张红\

16 下列程序运行时,从键盘输入字符\,则输出结果是_______。 A Private Sub Form_Click() 因为输入的是“-”号,所以执行本语句 op$=InputBox(\ 从未定义过的变量a为空值,在这里是出现 If op$=\ 在算术运算中,所以系统把它认为值为0, If op$=\ 0-2结果为“-2”再赋值给左边的变量a Print a 因此输出变量a的值“2” End Sub A. -2 B. 0 C. +2 D. +0 17 下列程序段的运行结果为_______。 B

For i=3 To 1 Step -1 外层i循环可以认为是行操作,内层j循环认为是列操作;最后 Print Space(5-i); 有个分号“;”,因此输出后不换行;i逐次递减1,则5-i 递增, For j=1 To 2*i-1 也就是每行前产生的空格数量逐行递增,每次递增1; Print \而D选项每行的*输出位置相差2个字符 Next j 因此选B Print Next i A. * B. ***** C. ***** D. ***** *** *** *** *** ***** * * * 18 执行 PRINT 18/2*3,-3^2 命令后,输出结果为_______。 C A. 3 9 B. 3-9

C. 27 -9 D. -9 27 19 执行 PRINT 9.4\\3.7,9.4 MOD 3.7 命令后,输出 A \\运算符要求左右两边的表达式值为整结果为_______。 数,不是整数的话就自动四舍五入;运 A. 2 1 B. 3 0 C. 2 20 D. 1 2 算结果只取整数部分 20 运行以下程序后,输出结果为_______。 C x%=1/4 X% 表示变量x为整型,此时会自动把 y%=11/4 右边表达式的值四舍五入取整 第 2 页 共 74 页 省二级考试VB试题汇总

PRINT x%;y% END

A. 0.25 0.75 B. 0 2 C. 0 3 D. 1 3

21 窗体里有两个对象,分别是图片框Picture1和标签Label1。那么下面关于Print方法的使用中,错误的一条是_______。 D

标签label不支持print方法; A. Picture1.Print 147 B. Print 147

C. Printer.Print 147 D. Label1.Print 147 22 下面的_______语句可以实现:先在窗体上输出大写字母A,然后在同一行的第10列输出小写字母b。 B

A. Print \ B. Print \ C. Print \ D. Print \ 23 阅读下面的程序段: 24题:format函数第一个参数为字符n1=InputBox(\请输入第一个数:\ 串类型时,后面的格式化字符<表示把n2=InputBox(\请输入第二个数:\ 该字符串转化为小写形式 Print n1+n2

当输入分别为111和222时,程序输出为______。 A A. 111222 B. 222 C. 333 D. 程序出错 24 语句Print Format (\的输出结果是_______。 B a=2出现在语句中是 A. HELLO B. hello C. He D. he 关系表达式,返回逻25 语句 Print (a=2) And (b=-2) 的输出结果是_______。 D 辑值,如果单独处于 A. True B. 结果不确定 C. -1 D. False 一行则为赋值语句,26 以下程序段运行后,输出字符的排列顺序是_______。 D 此处为前者;因为a For i=1 To 6 从未定义,所以在此 If i Mod 2=0 Then 为空值,a=2比较结 Mod运算是取余运算,要求左右 Print \果为false 两边参与运算的表达式为整数; Else 在这里利用了来表示i能被2整除 Print \ End If Next i

A. #*#*# B. ##### C. ***** D. *#*#*# 27 用MSGBOX函数显示的对话框,以下叙述正确的是_______。 D A. 该对话框有一个“确定”按钮 函数Iif(参数1 ,参数2,参数3)B. 该对话框有“是”,“否”两个按钮 功能等同于if语句 C. 该对话框有“是”,“否”,“取消”三个按钮 参数1表示条件 D. 该对话框通过选择参数可以得到以上不同的的按钮组合 参数2是条件结果为true时候函数28 与语句Dim abc%作用相同的语句是_______。 A 的返回值 A. Dim abc As Integer B. Dim abc As Long 参数3是条件不满足时候的返回值 C. Dim abc As String D. Dim abc As Date 29 设a=1,b=2,c=3,d=4,则表达式IIf(a

30 表达式Int(198.555*100+0.5)/100的值为 _______。 C

A. 198 B. 199.6 C. 198.56 D. 200 这是对千分位四舍五入;int(n)函数对正数n来说,只取整数部分(不会四舍五入);详见38题 31 要使变量x赋值为1~100间(含1,不含100)的一个随机整数,正确的语句是_______。D A. x=Int(100*Rnd) B. x=Int(101*Rnd) int(n)函数对正的参数n来说, C. x=1+Int(100*Rnd) D. x=1+Int(99*Rnd) 只取n的整数部分 第 3 页 共 74 页 省二级考试VB试题汇总

32 Visual Basic表达式 Cos(0)+Abs(1)+Int(Rnd(1))的值是_______。 D A. 1 B. -1 C. 0 D. 2 利用区间的运算规则来做题;Rnd函数 的返回结果区间是【0,1) [1,2,3,4,5] [-1,0,1,2,3 ]

33 表达式Int(5*Rnd+1)* Int(5*Rnd-1) 值的范围是_______。 D A. [0,15] B. [-1,15] C. [-4,15] D. [-5,15]

34 当函数MsgBox返回值为1,对应的符号常量是 vbOK,那么此时表示用户做的操作是_______。 A A. 用户单击了对话框中的“确定”按钮 B. 用户单击了对话框中的“取消”按钮 C. 用户单击了对话框中的“是”按钮 D. 用户单击了对话框中的“否”按钮

35 在Visual Basic中,InputBox函数的默认返回值类型为字符串,用InputBox函数输入数值型数据时,下列操作中可以有效防止程序出错的操作是_______。 A A. 事先对要接收的变量定义为数值型

B. 在函数InputBox前面使用Str函数进行类型转换

C. 在函数InputBox前面使用Value函数进行类型转换 D. 在函数InputBox前面使用String函数进行类型转换 36 表达式Len(\程序设计ABC\的值是_______。 A

A. 10 B. 14 C. 20 D. 17

Lan()函数返回相应字符串字符的个数,汉字算做一个字符; Lanb()函数则是返回字符串所占字节数,由于VB采用unicode编码,故每个字符,不管是英文字符还是汉字,都是占用2个字节 所以对于同一字符串,lanb()返回的结果,总是lan()函数返回结果的2倍 Mid()函数返回的为字符串类型的结果;对于数 字和由纯数字组成的字符串进行“+”运算,则这 个字符串被转换为数值类型,并进行加法运算 37 赋值语句g = 123 + Mid(\执行后,变量g中的值是_______。 D A) \ B) 123C) 12334 D) 157

38 如果x是一个正实数,对x的第3位小数四舍五入的表达式是_______。B A. 0.01 * Int(x + 0.005)

B. 0.01 * Int(100 * (x + 0.005)) C. 0.01 * Int(100 * (x + 0.05)) D. 0.01 * Int(x + 0.05) 解答此类题时:比如对0.XXXXXYXXXX中的Y那一位自动进行四舍五入运算 1.先对原数进行处理(放大10^n倍),使得Y那一位数处于小数点后的第一位; 变成xxxxx.y 2.再对新产生的数加上0.5 得到xxxxk.H 3.再利用int函数对这个结果进行运算取得整数部分(当然也是四舍五入后的结果,主要是把H以及 H后面的数据全部舍弃) 4.对这个结果进行恢复处理(就是步骤1的反操作)就可得到题目要求的结果 如:int(12.3456789*10000+0.5)*0.0001就可得到12.3457 这是对12.3456789中小数点后第四位的数 字进行四舍五入处理的结果。 该原理基于int(x.y+0.5)可以对小数点后一位的数字进行四舍五入处理。 第 4 页 共 74 页 省二级考试VB试题汇总

39 MsgBox函数的返回值的类型是_______。 A

A) 整数 B) 字符串 C)逻辑值 D) 日期

40 使用下列语句:Dim x(1 to 10,3) As Single,则数组占用内存空间的字节数是_______。 C

A. 132 B. 80 C. 160 D. 120 这里x是2维数组,第一维可以认为表示10行,第二维可以表示每行有0~3列(也就 是4列);那么总共有10*4=40个元素,每个元素都是single类型,每个single类型的 变量占4个字节(教材第2章);所以数组X占用存储空间为40*4=160B X是数值型,它却被放在需要逻辑类型(常常是关系表达式)的if语句的条件处, 则符合数值类型给逻辑类型赋值的规则:0对应的是FALSE,其它非零数值均对应为TRUE,于是if 语句执行Then分支中的语句x=0 41 若x=1,执行语句If x Then x = 0 Else x = 1的结果是_______。 D A. 实时错误 B. 编译错误 C. x=1 D. x=0 42 下列程序段的循环结构执行后,i的输出值是_______。 C

Dim y as Integer

For i = 1 To 10 Step 2 退出For循环后,循环变量i仍有效, y = y + i 其值是由初始值1加上步长整数倍并Next i

且刚好超越终止值的那个数值11 Print i A. 25 B. 10 C. 11 D. 因为y初值不知道,所以不确定

类似题目关键是要搞清楚for语句执行过程。 第一次执行for时,将初值赋给循环变量i; 接着执行循环体的语句,在循环体执行结束后,就执行到next那一行,此时就会把i的值与当前for语句的步长求和,并把这个和放入i,接着返回for那一行,判断当前i的值是否在初值与终值的范围内: 1. 如果在这个范围,就继续执行循环体,并遵从上述规则(与上述黑色字所述过程相同); 2. 如果i的值此时已经不在初值与终值的范围内,则退出for语句;(即开始执行与当前for匹配的next) 在本题中,第一次执行循环体时i=1,第二次是为3,??最后一次为9,执行到next i时,i与步长2求和结果为11,此时i=11,回到for,此时i已经不在循环范围,于是退出for语句;此时i仍为11.再接下来就是print i 所以输出结果i的当前值11 类似题目都可用此方法解题! 重要!! 43 以下程序段的运行结果是_______。 D Private Sub Form_Click() x = 5 m = 1 Until作为条件关键词,则,条件值为true就退出循环; n = 1 而while作为条件关键词,条件值为true就执行循环体; Do

据此,代入m和n的值,执行4趟,每次都记录下m和n的 m = m * n 值,不难得出结果(注意m和n的值都不断发生着变化) n = n + 1 Loop Until n > 5 Print x ^ 2 + m / 3 End Sub

A. 25 B. 45 C. 55 D. 65

第 5 页 共 74 页

省二级考试VB试题汇总

44 以下程序段的运行结果是_______。 A

Private Sub Form_Click() Dim s As Long, f As Long

Dim n As Integer, i As Integer f = 1 本题主要方法是一步步执行程序语句,每一步都记 n = 4 录下当前各个变量的值,尤其是后面输出的变量s For i = 1 To n 的值(其间注意各个变量值的变化) f = f * i 其实,如果记得教材例题就会知道:s是累加f的值, s = s + f 而f又是当前i的阶乘值,因此本题是计算1到4的 Next i 阶乘值,并逐个累加 Print \End Sub

A. 33 B. 34 C. 35 D. 36 45 以下程序段的运行结果是_______。 A Private Sub Form_Click()

Str( )函数,是把数值类型转换为字符串 a = 1

每次循环体内部的变量值记录下来就可以 b = a

得出结果 Do Until a >= 5 X = a * b

Print Str(a) & \Str(b) & \Str(X); a = a + b b = b + a Loop End Sub

A. 1*1=1 2*3=6 B. 1*1=2 2*2=4 C. 1*1=1 3*3=9 D. 1*1=2 3*2=6

46 下面分别是求两个数中的大数的四个程序段,_______不正确。 D

A. Max=IIf(x>y,x,y) B. If x>y Then Max=x Else Max=y C. Max=x D. If y>=x Then Max=y If y>=x Then Max=y Max=x 第一行为if语句,执行完该语句,仍47 下列循环能正常结束的是_______。 C

要对变量max赋值,则max的值与if A. i=5 B. i=1

语句无关 DO DO i=i+1 i=i+2

Loop Until i<0 Loop Until i=10 C. i=10 D. i=6

Until作为条件关键词,则,条件符合就 DO DO

退出循环; i=i+1 i=i-2

Loop Until i>0 Loop Until i=1

48 有如下程序,运行时从键盘输入4,则输出的结果是_______。 B

Private Sub Form_Click() a=InputBox(\Select case语句中a所处位置应该是一个表达式,而 Select Case a 下面Case后应该是这个表达式可能的结果; Case Is>2 哪一个Case后的表达式是a的运算结果(或符合Is条 b=a+1 件),则执行该Case分支的语句。 Case Is>3 由上至下进行比较,一旦符合条件,执行相关分之后, b=a+2 直接退出Select case语句,不再比较余下的各个条件。 Case Is>5

第 6 页 共 74 页

省二级考试VB试题汇总

b=a+3 Case Else b=a+4 End Select Print a;b End Sub

A. 4 4 B. 4 5 C. 4 6 D. 4 7 49 执行如下程序段时,从键盘输入-5,输出的结果是_______。 A

x=-5

s=Val(InputBox(\请输入s的值:\ Select Case s Case Is>0 y=x+1 Case Is=0 y=x+2 Case Else y=x+3 End Select Print x;y

A. -5 -2 B. -5 -4 C. -5 -3 D. -5 -5 50 某林场1995年植树100亩,以后每年的植树面积按5%的速度增长,能正确计算到1998年时四年的植树总面积的程序是_______。 B

A. s=100:r=0.05 B. s=100:sum=100:r=0.05 For i=1996 To 1998 For i=1996 To 1998 s=s*(1+r) s=s*(1+r) Next i sum=sum+s Print i Next i End Print sum

C. s=100:r=0.05 D. s0=100:sum=100:r=0.05 For i=1996 To 1998 For i=1996 To 1998 s=s*(1+r)+s s=s0*(1+r) Next i sum=sum+s Print i Next i End Print sum

51 以下程序段执行后,变量s、x的值分别为 _______。 C

Dim s As Integer, x As Integer s = 10: x = 1 Do While x < 10 s = s + 2 x = x + 2 Loop

Print s, x

A. 50 11 B. 20 10 C. 20 11 D. 100 10 52 以下程序段的执行结果是_______。 A

For i=1 To 4 x=2

第 7 页 共 74 页

省二级考试VB试题汇总

For j=1 To 3 x=1 对于任何变量,它当前的值就是目前为止最后一次对它赋予的值, For k=1 To 2 之前不论赋值多少次都不用关心;在此说明上面那句x=2根本就对 x=x+3 x的最终值无甚影响; Next k 此时,假设外层执行到i=4 循环;内层执行到j=3循环,则,接下 Next j 来执行最后一轮的k循环,k=1 时,x=x+3=4 , k=2时,x=x+3=7,Next i 接着退出j循环,退出i循环,所以打印x的时候,为7 Print x

A. 7 B. 6 C. 56 D. 72

53 用语句 Dim A(-3 to 5) As Long 定义的数组元素个数是_______。 C A. 7 B. 8 C. 9 D. 10 54 以下程序运行的结果是_______。 D Dim a

Lbound( )函数和Ubound( )函数的参数都是数组a=Array(1, 3, 4, 5, 6, 7)

类型,分别返回数组的最小下标值和最大下标For i = LBound(a) To UBound(a) 值!对应的是数组的下标下界和上界 a(i) = a(i) * a(i) Next i

Print a(i)

A. 49 B. 0 C. 不确定 D. 下标越界 55 在窗体上添加一个命令按钮Command1,然后编写如下代码:

Private Sub Command1_Click() Dim city As Variant

city = Array(\北京\上海\天津\重庆\ 数组city()的最小下标为默认值,就是0; Print city(1)

End Sub

程序运行后,单击命令按钮,输出结果是_______。 D

A. 空白 B. 错误提示 C. 北京 D. 上海 56 以下程序运行的结果是_______。 D Option Base 1 设置各个数组的默认最小下标值为1 Private Sub Command1_Click() Dim a,b(3,3)

i 是数组元素的行, j是数组元素的列,j>=i时执行print(也 a=array(1,2,3,4,5,6,7,8,9) 就是输出该数组元素值),则,j

小于行的号码时候,不输出该元素,也就是只输出二维数组对 For j=1 To 3

角线及上方的数组元素 b(i,j)=a(i*j)

If (j>=i) Then Print Tab(j*3);Format(b(i,j),\; Next j Print语句后面什么都不带,就是输出空行。 Print 作用是换行 Next i End Sub

A. 1 2 3 B. 1 C. 1 4 7 D. 1 2 3 4 5 6 4 5 2 4 6 4 6 7 8 9 7 8 9 3 6 9 9 57 在窗体上画一个命令按钮Command1,然后编写如下代码:

Private Sub Command1_Click() Dim arr1(10), arr2(10) As Integer

第 8 页 共 74 页

省二级考试VB试题汇总

n = 3 For i = 1 To 5

n一直都是3;本语句就是对数组 arr1(i) = i

arr2的下标为3的元素赋值; arr2(n) = 2 * n + i Next i

分别输出两个数组的下标为3的元素; Print arr1(n),arr2(n); End Sub

程序运行后,单击命令按钮,输出结果是 _______。 B

A. 11 3B. 3 11 C. 13 3 D. 3 13 58 在窗体上画一个命令按钮Command1,然后编写如下代码:

Private Sub Command1_Click() Dim a(4, 4) 这里i在j的前面,i代表行号,j代表列号 For i = 1 To 4 For j = 1 To 4 a(i, j) = (i - 1) * 3 + j Next j Next i 这里i在j的后,j代表行号,i代表列号 For i = 3 To 4 For j = 3 To 4 Print a(j, i); Next j Print Next i End Sub

程序运行后,单击命令按钮,输出结果是_______。 D

A. 6 9 B. 7 10 C. 8 11 D. 9 12 7 10 8 11 9 12 10 13

59 有如下程序:

Private Sub Form_Load()

Dim arr1(10, 10) As Integer Dim i, j As Integer For i = 1 To 3

For j = 2 To 4 i是数组元素的行号,j是数组元素的列号;i和j又分 arr1(i, j) = i + j 别为外层循环和内层循环的循环变量 Next j Next i

Text1.Text = arr1(2, 3) + arr1(3, 4) End Sub

程序运行后,单击窗体,在文本框显示的值是_______。 C A. 5 B. 7 C. 12 D. 20

60 在窗体上添加一个命令按钮Command1,然后编写如下代码:

Option Base 1

Private Sub Command1_Click() d = 0: c = 10

x = Array(10, 12, 21, 32, 24)

第 9 页 共 74 页

省二级考试VB试题汇总

For i = 1 To 5

If x(i) > c Then 60题 这类试题没有好方法,就是代入值,读程序 d = d + x(i) x(i)>c 在if c = x(i)

i (这个表达式语句中 Else

的 的值决定了在c d x(i) 执行的 d = d - c

值 if语句中到底分支 End If 执行哪个分支) Next i

1 FALSE部分 Else 10 -10 10 Print d

2 TRUE部分 Then 12 2 12 End Sub

3 TRUE部分 Then 21 23 21

4 TRUE部分 Then 32 55 32

5 FALSE部分 else 32 23 24

程序运行后,单击命令按钮,输出结果是_______。 C A. 89 B. 99 C. 23 D. 77 因为默认的最小下标为0

这个三维数组可以认为,有4个二

维数组;每个二维数组有5个一维61 下列语句声明的数组a包含的元素个数有_______。 A 数组,每个一维数组有6个元素 Dim a(3 ,-2 to 2,5)

A. 120 B. 75 C. 60 D. 13 62 定义数组Array(1 to 5 , 5)后,下列哪一个数组元素不存在_______。 C

A. Array(1,1) B. Array(1,0) C. Array(0,1) D. Array(5,5)

63 在Visual Basic应用程序中,以下描述正确的是_______。 B A. 过程的定义可以嵌套,但过程的调用不能嵌套 B. 过程的定义不可以嵌套,但过程的调用可以嵌套 C. 过程的定义和过程的调用均可以嵌套 D. 过程的定义和过程的调用均不可以嵌套 64 假定有如下的Sub过程:

Sub swapp(x As Single, y As Single) 参数是按地址传送,过程内部如果对形式参 t = x

数作了改动,会影响到实参变量 x = t / y y = t Mod y End Sub

在窗体上添加一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click() Dim a As Single Dim b As Single : 是分隔写在一行中的多个语句 a = 5: b = 4 swapp a, b a 和 b 是实参,swapp运行时a和b的值将被改变 Print a, b End Sub 程序运行时,单击命令按钮得到的结果是_______。 D A. 5 4 B. 1 1 C. 1.25 4 D. 1.25 1 65 以下程序的运行结果是_______。 C

第 10 页 共 74 页

省二级考试VB试题汇总

Function fun(a As Integer) c是静态变量,属于过程级变量,但是过程执行完毕的时 b = 0 候,其值仍被保留,直到整个程序运行结束才会被清除 Static c b = b + 1 ' 第一次执行本语句后,c=1;第二次执行本语 c = c + 1 句后,c=2; 第二次执行完本语句,c=3 fun = a + b + c ' End Function

Private Sub Command1_Click() Dim a As Integer a = 2 For i = 1 To 3

Sum = Sum + fun(a) Next i Print Sum End Sub

A. 24 B. 12 C. 15 D. 32 66 阅读程序:

按地址传送参数 Sub subp(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

a(1) = 5: a(2) = 6: a(3) = 7: a(4) = 8 a作为实参调用过程subp subp a a的值将被改变 For i = 1 To 4 Print a(i); Next i End Sub

程序运行时,单击命令按钮得到的结果是_______。 A A. 2 4 6 8 B. 5 6 7 8 C. 10 12 14 16 D. 出错 67 假定有以下两个过程:

Sub s1(ByVal x As Integer, ByVal y As Integer) x、y都是按值传送参数 Dim t As Integer

t = x x = y 改变了参数(交换两个参数的值)不会对 y = t 两个参数有影响 End Sub Sub s2(x As Integer, y As Integer) x、y都是按地址传送参数 Dim t As Integer t = x 改变了参数(交换两个参数的值) x = y 对两个参数有影响 y = t End Sub 则以下说法中正确的是_______。 B

A. 用过程S1可以实现交换两个变量的值的操作,S2不能实现

第 11 页 共 74 页

省二级考试VB试题汇总

B. 用过程S2可以实现交换两个变量的值的操作,S1不能实现 C. 用过程S1和S2都可以实现交换两个变量的值的操作 D. 用过程S1和S2都不能实现交换两个变量的值的操作

68 在窗体上添加一个命令按钮Command1和两个名称分别为Label1和Label2的标签,在通用声明段声明变量x,并编写如下事件过程和SUB过程: 全局变量 Private x As Integer Private Sub Command1_Click() x = 5: y = 3

调用自定义过程(代码见下) Call proc(x, y)

Label1.Caption = x Label2.Caption = y 按值传送参数 End Sub 因为y是局部变量,proc过程Sub proc(ByVal a As Integer, ByVal b As Integer) 又是对第二个参数按值传送,所以proc()对y没有任何影 x = a * a

响,输出的y还是原来的值 y = b + b End Sub

程序运行后,单击命令按钮,则两个标签中显示的内容分别是_______。B

A. 5和3 B. 25和3 C. 25和6 D. 5和6 69 下列程序输出结果为_______。A

Private Sub Command1_Click() For i = 1 To 3

GetValue (i) 此时i的值为4,因为退出for循环后,循环变量是 Next i

最后一次循环时的值加上步长 Print GetValue(i) End Sub

Private Function GetValue(ByVal a As Integer) dim S As Integer S = S + a GetValue = S End Function

A. 4 B. 5 C. 10 D. 11 70 以下程序的运行结果是_______。 C

Dim x As Integer, y As Integer, z As Integer 第一个参数是按地址传送 Sub s2(a As Integer, ByVal b As Integer) 第二个参数是按值传送 a = 2 * a b = b + 2

End Sub

Private Sub Command1_Click() x = 4 y = 4 x是按地址传送的参数 Call s2(x, y) Print x + y End Sub

A. 0 B. 8 C. 12 D. 14 71 以下程序的运行结果是_______。 C

Private Sub Form_Click() a = 1: b = 1

Print \

第 12 页 共 74 页

省二级考试VB试题汇总

Call mult(a, B.

Print \ End Sub 按地址传送的参数 Sub mult(x, y)

x = 2 * x y = 3 * y End Sub

A. A=1 B=1 B. A=1 B=1 C. A=1 B=1 D. A=1 B=1 A=1 B=1 A=1 B=3 A=2 B=3 A=2 B=1

72 在窗体上添加一个命令按钮Command1和3个名称分别为Label1,Label2和Label3的标签, 然后编写如下事件过程:

全局变量 Private x As Integer Private Sub Command1_Click() 静态变量, 本过程结束其值仍 Static y As Integer 被保留,直到整个程序结束 Dim z As Integer n = 10

局部变量,本过程结束,其值将 z = n + z

被清除 y = y + z

x = x + z

Label1.Caption = x Label2.Caption = y Label3.Caption = z End Sub

程序运行后,连续3次单击命令按钮,则3个标签中显示的内容分别是_______。 C

A. 10 10 10 B. 30 30 30 C. 30 30 10 D. 10 30 30

73 一个工程中包含两个名称分别为Form1和Form2的窗体,一个名称为mdlfunc的标准模块。假定Form1,Form2和mdlfunc中分别建立了自定义过程,其定义格式为: Form1中定义的过程:

Private sub frmFunction1() … End Sub

Form2中定义的过程: Pubilc sub frmFunction2() … End Sub

Md1func中定义的过程: Public sub md1Function () … End Sub

在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是_______。 D A. 上述三个过程都可以在工程中的任何窗体或模块中被调用

B. frmFunction2和md1Function过程能够在工程中各个窗体或模块中被调用 C. 上述三个过程都只能在各自被定义的模块中调用

D. 只有md1Function过程能够被工程中各个窗体或模块调用 74 以下程序段的运行结果是_______。 B

Function abc(n As Integer) As Integer

按地址传送 abc = n * 5 + 10 End Function

第 13 页 共 74 页

省二级考试VB试题汇总

Private Sub Form_Click() Dim x As Integer

x = abc(234) + 109 * abc(10) Print x End Sub

A. 7700 B. 7720 C. 2340 D. 7770 75 下列程序运行后显示的结果是_______。 A 按地址和按值传送传送 Public Sub F1(n%,ByVal m%)Private Sub Command1_Click() %是整型标识符,第一个参数按 n=n Mod 10Dim x%,y% 地址传送,第二个参数按值传送 m=m\\10x=12:y=34 End Sub Call F1(x,y) Print x,y End Sub

A. 2 34 B. 12 34 C. 2 3 D. 12 3 76 以下关于窗体的描述中,错误的是_______。 A

A. 执行Unload Form1语句后,窗体Form1消失,但仍在内存中 B. 窗体的load事件在加载窗体时发生

C. 当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止 D. 窗体的Height、Width属性用于设置窗体的高和宽

77 若要使某命令按钮获得控制焦点,则可使用_______方法来设置。B A. Refresh B. SetFocus C. GotFocus D. Value

78 设组合框Combo1中有3个项目,则能删除最后一个项的语句是_______。B A. Combo1.RemoveItem Text B. Combo1.RemoveItem 2 下标从0开始;下题与此方法同 C. Combo1.RemoveItem 3

D. Combo1.RemoveItem Combo1.Listcount

79 将数据项\添加到列表框List1中,成为第一项应使用语句_______。A A. List1.AddItem \ B. List1.AddItem \ C. List1.AddItem 0, \ D. List1.AddItem 1, \ 80 假定时钟控件的Interval属性为1000,Enabled属性为True,并且有下面的事件过程,计算机将发出_______次Beep声。 D

Private Sub Timer1_Timer() For i = 1 To 5

受系统诸因素影响,记住答案即可 Beep Next i End Sub

A. 1000次 B. 10000次 C. 5次 D. 以上都不对

81 将命令按钮Command1的标题作为文本框Text1的文本内容,应执行语句_______。 B A. Text1= Command1

B. Text1.Text= Command1.Caption C. Text1.Caption=Command1.Caption D. Text1.Text= CStr(Command1)

82 下列控件可以用作其他控件容器的有_______。 D A. 窗体,标签,图片框

第 14 页 共 74 页

省二级考试VB试题汇总

B. 窗体,框架,文本框 C. 窗体,图像,列表框 D. 窗体,框架,图片框

83 改变驱动器列表框的Drive属性将激活_______事件。 A

A. Change B. Scroll C. KeyDown D. KeyUp 84 在窗体上添加一个列表框和一个文本框,然后编写如下两个事件过程:

Private Sub Form_Load() List1.AddItem \ List1.AddItem \ List1.AddItem \ List1.AddItem \End Sub

此时a=\;“+”运算符的两个运Private Sub List1_DblClick() 算项都是字符类型,因此为字符串连 a = List1.Text

接运算,结果为字符串\ Print a + Text1.Text End Sub

程序运行后,在文本框中输入\,然后双击列表框中的\,则输出结果为_______。 B A. 1245 B. 456789 C. 789 456 D. 0 85 在窗体上添加一个文本框,然后编写如下事件过程:

Private Sub Form_Load() Text1.Text = \ For i = 1 To 10

Sum = Sum + i Next i

Text1.Text = Sum End Sub

上述程序的运行结果是_______。 A

A. 在文本框Text1中输出55 B. 在文本框Text1中输出0

C. 出错 D. 在文本框Text1中输出不定值

86 在窗体上添加一命令按钮Command1,并将其Caption属性设置为cmdAA、名称属性设置为cmdBB,则关于该控件的下列_______语句是正确的。 C

A. Command1.Left=100 B. cmdAA. Left=100 C. cmdBB. Left=100 D. 以上语句都不对

87 在窗体上画一个名称为List1的列表框,一个名称为Label1的标签。列表框中显示若干城市的名称。当单击列表框中的某个城市名时,在标签中显示选中城市的名称。在List1的单击事件过程中能正确实现上述功能的语句是_______。 D

A) Label1.Caption = List1.ListIndex B. Label1.Name = List1. ListIndex C) Label1.Name = List1.Text D) Label1.Caption = List1.Text

88 下面对语句 Open \的功能描述错误的是_______。C A. 以顺序输出模式打开文件\

B. 如果文件\不存在,则建立一个新文件

C. 如果文件\已存在,则打开该文件,新写入的的数据将添加到文件末尾 D. 如果文件\已存在,则打开该文件,新写入的的数据将覆盖原来的数据

89 执行语句Open \ #1 Len = 50 后,对文件\中的数据能够进行的操作是_______。 C

A. 只能写不能读

第 15 页 共 74 页

省二级考试VB试题汇总

B. 只能读不能写

C. 即可以读,也可以写 D. 不能读,也不能写

90 下列说法错误的是_______。 C

A. 当用Write # 语句写顺序文件时,文件必须以Output或Append方式打开 B. 用Input方式打开一个文件时,对同一个文件可以用几个不同的文件号打开 C. 用Output和Append方式打开文件时,不用将文件关闭,就能重新打开文件

D. 用Append方式打开文件时,进行写操作,写入文件的数据附加到原来文件的后面 91 下面几个关键字均表示文件的打开方式,只能进行读不能写的是_______。 A

A. Input B. Output C. Random D. Append 92 下列哪个不是写文件语句_______。 D

A. Put B. Print C. Write D. Output 93 以下叙述中正确的是_______。B

A. 一个记录中所包含的各个元素的数据类型必须相同 B. 随机文件中每个记录的长度是固定的

C. Open命令的作用是打开一个已经存在的文件 D. 使用Input#语句可以从随机文件中读取数据

94 在窗体上添加一个命令按钮Command1和一个文本框Text1,然后编写如下事件过程:

Private Sub Command1_Click() 定义s为20个字符的字符串 Dim s As String * 20 s = Text1.Text …… End Sub

该程序的功能是当单击按钮Command1时,把变量S的内容写入一个顺序文件dat1.dat中,正确的程序段是_______。 B

A. Open \ B. Open \ Write #1, s Write #1, s Close #1 Close #1

C. Open \ D. Open \ Write #1, s Write #1, s Close #1 Close #1

95 FileFiles.Pattern=\程序代码执行后,会显示_______。 A A. 只包含文件扩展名为\的文件 B. 第一个dat文件 C. 包含所有的文件 D. 显示磁盘的路径

96 目录列表框的Path属性的作用是_______。A A. 显示当前驱动器或指定驱动器上的路径

B. 显示当前驱动器或指定驱动器上的某个目录下的文件名 C. 显示根目录下的文件 D. 只显示当前路径下的文件

97 为了使Drive1驱动器列表框、Dir1目录路径列表框和File1文件列表框同步协调工作,需要_______。 A

A. Drive1的Change事件过程中加入Dir1.Path = Drive1.Drive,在Dir1的Change事件中加入File1.Path

= Dir1.Path代码

B. Drive1的Change事件过程中加入Dir1.Path =Dir1.Path,在Dir1的Change事件中加入File1.Path =

Drive1.Drive代码

C. Dir1的Change事件过程中加入Dir1.Path = Drive1.Drive,在Drive1的Change事件中加入File1.Path

第 16 页 共 74 页

省二级考试VB试题汇总

= File1.FileName代码

D. Dir1的Change事件过程中加入Dir1.Path = Drive1.Drive,在Drive1的Change事件中加入File1.Path

= Dir1.Path代码

98 以下程序运行后,a1.dat文件的内容是_______。 B

Private Sub Form_Click()

Dim f1 As Integer, f2 As Integer, f3 As Integer

Open \ f1 = 2 f2 = 3 f3 = f2 + f1

往1号文件写入数据 Write #1, f1 * f2, f2, f3 Close #1 End Sub

A. 2,3,3 B. 6,3,5 C. 2,5,6 D. 无内容

99 以下能判断是否到达文件尾的函数是_______。 D

A. BOF B. LOC C. LOF D. EOF 100 一条语句要分行书写,用_______符号作续行符。 C

A. + B. - C. _ D. …

101 VB 6.0的标准化控件位于IDE(集成开发环境)中的_______窗口内。 B A. 工具栏 B. 工具箱 C. 对象浏览器 D. 窗体设计器

102 关于Visual Basic应用程序正确的叙述是_______。 A A. Visual Basic程序运行时,总是等待事件被触发 B. Visual Basic程序设计就是编写代码

C. Visual Basic程序是以线性方式顺序执行的

D. Visual Basic的事件可以由用户随意定义,而事件过程是系统预先设置好的 103 保存文件时,窗体的所有数据以_______存储。B

A. *.PRG B. *.FRM C. *.VBP D. *.EXE 104 下列哪组语句可以将变量a,b的值互换_______。 B A. a=b : b=a

B. a=a+b : b=a-b : a=a-b C. a=c : c=b : b=a

D. a=(a+B. /2 : b=(a-B. /2

105 以下程序段执行后,整型变量n的值为_______。 A

year1 = 2004

n = year1 \\ 4 + year1 \\ 400 - year1 \\ 100

A. 486 B. 496 C. 506 D. 466

106 将一文本框与数据控件相关联,需要设定文本框的_______属性。 C A. DataMember B. Datafield C. DataSource D. DataFormat

107 窗体Form1上有两个文本框Text1、Text2和一个命令按钮Command1,编写如下两个事件过程:

Private Sub Command1_Click() + 运算符的两个运算项都是字符串类 a = Text1.Text + Text2.Text 型,所以是字符串连接运算 Print a

End Sub

第 17 页 共 74 页

省二级考试VB试题汇总

Private Sub Form_Load() Text1.Text = \ Text2.Text = \ End Sub

程序运行时点击Command1按钮,窗体上显示的运行结果是_______。 B

A. 444 B. 123321 C. 321123 D. 132231

108 在窗体上添加三个文本框,名称分别为Text1、Text2、Text3,一个命令按钮Command1。如果在Text1中输入150,Text2中输入数200,则执行下列程序后,Text3中显示的数为_______。 D

Private Sub Command1_Click() Dim m As Integer, n As Integer 如果m 0 do--loop循环语句,只有在执行到while或者 Text3.Text = Str(m) until所在位置时才进行条件判断,即使过程内End Sub 条件变量达到要求,但是不会进行条件判断,直 A. 200 B. 150 C. 100 D. 50 到遇见while语句才执行退出!

109 以下程序段的执行结果是_______。 B

a=10:y=0 Do

a=a+2 y=y+a If y>20 Then Exit Do End If Loop While a<=14 Print \

A. a=18 y=24 B. a=14 y=26 C. a=14 y=24 D. a=12 y=12 110 以下叙述中错误的是_______。A

A)在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件 B)以.BAS为扩展名的文件是标准模块文件 C)窗体文件包含该窗体及其控件的属性 D)一个工程中可以含有多个标准模块文件

111 关于VB中的监视表达式,错误的叙述是_______。 A

A)监视表达式不能引起中断

B)可使监视表达式为真时引起中断 C)可使监视表达式的值变化时引起中断 D)监视表达式可以监视对象

112 以下程序段的运行结果是_______。 C

第 18 页 共 74 页

省二级考试VB试题汇总

Private Sub Form_Click() Dim x() As String a = \ n = Len(A. ReDim x(1 To n)

For i = n To 1 Step -1 x(i) = Mid(a, i, 1) Next I For i = 1 To n Print x(i); Next i End Sub

A. !uoy era woH B. !uoy era woh C. How are you! D. how are you! 113 以下程序段的运行结果是_______。 D

Private Sub Form_Click() Dim nsum As Integer nsum = 1 For i = 2 To 4

nsum = nsum + factor(i) Next i Print nsum End Sub

Function factor(ByVal n As Integer) As Integer 按值传送参数 Dim temp As Integer

temp = 1 For i = 1 To n

temp = temp * i Next i factor = temp End Function

A. 10 B. 13 C. 23 D. 33 114 以下程序段的运行结果是_______。 C

Private Sub Form_Click()

Dim s As String, once As String, sum As Integer For i = 1 To 5

once = InputBox(\请输入一个字符\ '分别输入A,C,A,D,E sum = sum + checks(once, s) Next i Print s; sum 按值传送参数 按地址传送参数 End Sub

Private Function checks(ByVal x As String, y As String) As Integer If x <> \

y = y + x ' xy都是字符串,所以这里是连接运算,结果放入y

checks = 1 ' 使函数返回1,此时是x不是\A\为其它字符则函数返回0 End If End Function

第 19 页 共 74 页

省二级考试VB试题汇总

A. ACA 3 B. ACA 5 C. CDE 3 D. CDE 5 115 以下程序段的运行结果是_______。 B

Private Sub Form_Click()

Dim i As Integer, y As Integer i = 0 Do While i <= 4 y = fa(i + 1) i = i + 1 Loop Print y End Sub

Function fa(x As Integer) As Integer Dim term As Integer, i As Integer term = 1 For i = 1 To x term = term * i Next i fa = term End Function

A. 110 B. 120 C. 130 D. 140

116 运行下列程序时,如果连击3次cmd1,且输入9,3,16,获得的运行结果分别是_______。 C

Private Sub Cmd1_Click() Dim x As Integer Dim y As Integer

x = Val(InputBox(\输入数据\ If Int(Sqr(x)) <> Sqr(x) Then y = x * x sqr( )函数是对参数开平方运算,参见第三章 Else y = Sqr(x) End If

Form1.Text1.Text = Str(y) End Sub

A. 3、3、4 B. 81、9、256 C. 3、9、4 D. 9、3、16 117 设输入的数据分别为14、3时,标签Label1中显示的值分别是_______。A

Private Sub Form_Click() Dim a As Integer

a = Val(InputBox(\请输入一个数\ Select Case a Mod 5 Case Is < 2

w = a + 10

Case Is < 4

w = a * 2

Case Else

w = a - 10

End Select

Label1.Caption = Str(w) End Sub

A. 4、6 B. 6、4 C. 24、6 D. 6、24

第 20 页 共 74 页

省二级考试VB试题汇总

118 下列程序段的运行结果是_______。 B

Private Sub Command1_Click() Dim a(3) As Long

a(0) = 1: a(1) = 2: a(2) = 3: a(3) = 4 j = 1

注意: j发生变化 For i = 3 To 0 Step -1 s = s + a(i) * j i j a(i) a(i)*j S=s+a(i)*j j = j * 10 3 1 4 4 4 Next i 2 10 3 30 34 Print s 1 100 2 200 234 End Sub

0 1000 1 1000 1234

A. 4321 B. 1234 C. 34 D. 12 119 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click() Dim x%,n%,i%,j% n = InputBox(\都是整型 For i = 1 To n For j = 1 To i x = x + 1 Next j Next i Print x End Sub

程序运行后,单击命令按钮,如果输入3,则在窗体上显示的内容是_______。D

A.3 B.4 C.5 D.6

120 定义一个数组,dim arr(1 to 10 ,3)as single ,则该数组占用________字节的单元。A

A.160 B.120 C.40 D.10

由于每个single类型的变量占用4个字节,这个数组含

有10×4个元素(第二维从0到3,就是4),它们的数二、判断题 据类型全为single类型,所以这个数组占用40×4=160120 VB6.0中&H12是8进制的数值常数。 (×) 121 在VB6.0中,不声明而直接使用的变量,系统默认为变体型(Variant),其默认值为0。 (×)

122 用Private定义的变量是过程级变量,所以其作用范围是定义它的过程所在的窗体(或标准模块)中的所有过程。 (×)

123 Dim语句定义的变量可以为过程级变量。 (√)

124 执行Dim X,Y AS Integer 语句后则X,Y的默认值均为0。 (×) 125 Dim a As Boolean, b As Boolean a = 2

把数据赋值给逻辑类型的变量,0就是b = 0

false,其它情况都是true Print a + b 执行完第二条语句A的值为True。 (√) 126 Dim a As Boolean, b As Boolean

a = 2

+号只可能是数值的加法运算或字符b = 0

的连接运算; Print a + b

执行完程序段,程序输出结果为2。 (×) 第 21 页 共 74 页

省二级考试VB试题汇总

127 Len(\等级考试\和LenB(\等级考试\的结果相同。 (×) 128 Len(\等级考试\和Len(\考试\的结果相同。 (√) Len( )是返回参数中的字符个数; 129 若X为偶数,则Not(X Mod 2)必然为真。 (√)

LenB( )是返回参数中的字符占用的字节数 130 表达式a%*b-d#\\2#+C!的结果的数据类型为双精度型。 (√) 注意: VB规定所有字符(不论是英文字符还131 一个符号常量可以赋同一类型的不同值。 (×)

是汉字)都占2个字节(每个字符占2字节) 132 VB6.0中若表示一个日期和时间常量必须也只能用“#”号将其括起来。 (√) 133 Print Tab(3);\和 Print Space(3);\的效果相同。 (×)

134 为了使下一个输出语句的输出项不换行输出,则应在本Print语句的尾部加“;”,且只能加“;”。

(×)

135 产生消息对话框的MsgBox函数返回的值是数值型。 (√) 也可以是逗号 136 x = InputBox(\请输入数X:\

y = InputBox(\请输入数Y:\ If x>=10 Then y=x^2 Else

y=2*x End If Print y

执行上面程序段,输入X的值时从键盘输入3;输入Y的值时从键盘输入10,则输出结果为6。 (√) 137 MsgBox函数和InputBox函数都有一个可确定对话框中命令按钮的个数和类型的参数。 (×) 138 Rnd函数产生的是(0,1)之间不包括0、1的随机小数。(×) 139 Len(Str(123)+\)的结果为6。 (×) 140 表达式Val(\的值为.123。 (×) 141 Format(5,\的结果是500.00%。 (√)

142 If x>y Then Max=x Else Max=y 程序段是求两个数中的最大数。 (√) 143 阅读下面的程序段: 把数据赋值给逻辑类型的变量,0就是For i=1 To 3 false,其它情况都是true For j=i To 3 For k=1 To 3 a=a+i Next k Next j Next i

执行上面的3重循环后,a的值为14。 (×)

144 若同时为x,y,z变量赋值5,可以如右操作: x=y=z=5。 (×) 145 阅读下面的程序段:

x = 1

If IIf(1, 0, -1) Then x = x + 1 End If

Print x

运行后x的值是:2。 (×) 146 阅读下面的程序段:

x = 1 Do

x = x + 1 Loop Until x > 1 Print x

第 22 页 共 74 页

省二级考试VB试题汇总

该循环,循环次数1次,检测循环条件2次。 (×) 147 阅读下面的程序段:

s = 0

For i = 1 To 3 Step 0 s = s + i i = i + 1 If i = 3 Then Exit For End If Next

Print s

该程序运行后 s 的值是 3。 (√)

148 If 6>5 Then x=5 End If 是一条合法语句。 (×) 149 下面程序运行时

For m=1 To 3 For n=0 To m-1 s=s+n Next n Next m

内层循环的循环总次数是6次。(√)

150 静态数组中的数组元素个数一旦定义好后,在程序运行过程中不再会发生变化;而动态数组的元素个数则是可变的。 (√)

151 在声明数组时,下标必须是常量,不能是变量;而在引用数组元素时下标可以是常数、变量或表达式。 (√)

152 在Visual Basic中,动态数组可以在需要时候改变大小。 (√) 153 声明一个没有下标的数组,声明时数组名的括号一定不能省略。(√) 154 某数组声明为字符型数组,它们的初始值为False。 (×) 155 有如下数组声明语句:

Option Base 1

Dim aa(3, 0 To 2, 1 To 2) As Integer

数组aa所含有的数组元素个数是18。 (√)

156 在Visual Basic中,过程代码可以放在窗体模块和标准模块中,而不能存放在类模块中。 (×) 157 按变量的作用范围分类,过程级变量属于局部变量,而模块级变量则属于全局变量。 (×) 158 Sub过程不能通过其过程名返回值。 (√)

159 在用 Call 带参调用 Sub 过程时必须把参数放在括号里。 (√) 160 在调用过程时,参数的传递有按地址和按值两种传递方法。 (√) 161 各种控件的所有属性都可以在设计模式下通过属性窗口设置,也都可以在运行模式下通过程序语句进行赋值。(×)

162 事件驱动的编程机制中,事件过程的执行顺序取决于程序流程。(×) 163 窗体打开时,将依次发生以下事件: Load、Initialize、Activate。 (×) 164 在显示模式窗体时,应用程序中的其它窗体仍可以继续操作。 (×) 165 MDI窗体与普通窗体一样可直接在窗体上放置各种控件。 (×)

166 可以通过设置列表框属性允许用户从列表框的列表项中同时选择多项,组合框则无法多选,但允许用户进行文本输入。 (√)

167 计时器(Timer)控件的Interval属性设为1000,Enabled属性为False,则每隔1秒的时间就产生一次Timer事件。(×)

168 定时器控件的时间间隔设为0 或 Enabled属性设为False,都将停止触发Timer事件。 (√)

169 通用对话框(CommonDialog)控件可以分别显示打开、保存、打印、颜色、字体和帮助对话框。 (√)

第 23 页 共 74 页

省二级考试VB试题汇总

170 若要使命令按钮不可见,则可设置Enabled属性为False来实现。 (×)

171 Input # 语句是从文件中读取数据项, Line Input# 读取的是文件中的一行,而InputBox函数要求从键盘输入数据。(√)

172 DoEvents 将控制权切换到操作环境内核,使后台事件能够得到处理。 (√) 173 一个VB工程中可以存在多个MDI窗体。 (×)

174 VB程序中的菜单项只能在设计模式下通过菜单编辑器增减。 (×) 175 由于VB只能以解释方式运行,所以运行速度慢。(×)

176 VB中打开工程文件时,在资源管理器窗口可以看到工程中所有的文件,所以可以认为工程文件包括了工程中所有的文件,只要保留工程文件即可,其他文件可以不必保留。 (×)

177 在VB中编译生成的可执行文件可以直接复制到任何一台安装有Windows系统的计算机上运行。(×) 178 在过程开始放置一条语句 On Error Resume Next, 则当执行该过程并发生运行错误时,程序将停在发生错误的语句行,并给出错误提示。(×)

179 在VB程序中,如果存在语法错误,则无法通过编译,所以如果通过编译生成了EXE文件,就说明程序中已不存在任何错误。 (×)

三、填空题

180 在VB中声明静态变量的关键字是______。 static 181 在VB中声明符号常量的关键字是______。 const 182 表达式10 MOD 16\\4的值是______。 2

183 要强制显式变量声明,须在声明段部分加入语句______。 option explicit

184 已知 a=3.5,b=5.0,c=2.5,d=True 则表达式:a>=0 AND a+c>b+3 OR NOT d 的值是______。 False 185 用 dim abc as variant 定义的变量abc,类型是______。“变体类型”或者“变体”或者“变体型” 186 设C=\,写出下列表达式的值。

(1)C>=\的值为______。 true (2)C<=\的值为______。 true

187 在VB中,字符型常量应使用______将其括起来,日期/时间型常量应使用______符号将其括起\来。

“双引号”或者“井号”

188 在窗体上添加一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click() a = InputBox(\请输入一个整数\ b = InputBox(\请输入一个整数\ Print a + b End Sub

程序运行后,单击命令按钮,在输入对话框中分别输入321和456,输出结果为______。 321456

189 窗体上有三个文本框Text1,Text2和Text3;有一个命令按钮Command1,设文本框Text1中的内容为11,文本框Text2中的内容为22,下面程序的执行结果为______。 33

Private Sub Command1_Click()

Text3.Text = Str$(Val(Text1.Text) +Val(Text2.Text)) Print Val(Text3.Text) End Sub

190 执行语句 B = MsgBox(\后,在消息框中的标题信息是______。 YYY 191 用语句 Dim A (-3 to 3) as Integer,定义的数组元素个数是______。 7

192 Visual Basic提供的对数据文件的三种访问方式为随机访问方式、______和二进制访问方式。

顺序访问方式

193 语句 x=inputbox(\请输入数据\输入12345,则x的值是______,其类型为______。 \ 字符串类型 194 如果要暂停某个程序的运行,可使用语句______,要强行中止某个过程或块的执行,可使用______语句。

第 24 页 共 74 页

省二级考试VB试题汇总

Stop end

195 表达式 sgn(-25) 的值是______。 -1 196 设a=6,则执行x=IIf(a>5,-1,0)后,x的值为______。 -1

197 表达式 Ucase(Mid(\的值是______。 \ 198 函数int(rnd*11)+10的值的范围是______至______。 10 20

199 将标签Label1的字号设置成20,使用的语句是______。 label1.fontsize = 20 200 用于返回列表框中列表项的项目总数的属性是______。 listcount

201 若要使文本框TextBox的ScrollBars属性有效,必须将其______属性设为True。 multiline 202 使命令按钮不起作用,应将按钮的______属性设置为False。 Enabled

203 若用户单击命令按钮Command1,则此时将被执行的事件过程名为______。 command1_click() 204 创建一个MDI子窗体,只需把一个普通窗体的______属性设为True即可。 MDIChild 205 要使VB窗体最大化按钮不可用,应将其______属性设置为False。 MaxButton

206 Visual Basic提供了列表框控件,当列表框中的项目较多、超过了列表框的长度时,系统会自动在列表框边上加一个______。 “垂直滚动条”或者“滚动条”

207 在代码中清除图片框的内容使用的函数名称是______。 loadpicture() 208 若要将窗体 Form1 隐藏起来,调用语句为______。 Form1.Hide 209 若要求输入密码时文本框中只显示*号,则应当在文本框的属性窗口中设置______属性。 PassWordChar 210 一个控件在窗体上的位置由______属性和Top属性决定。 Left

211 将一个窗体隐藏但仍在内存中所使用的方法是______,显示一个隐藏窗体所使用的方法是______。 Hide show

212 滚动条响应的常用事件有______和Change事件。 Scroll 213 向列表框添加项目的方法是______,删除列表框中指定选项的方法是______。

AddItem RemoveItem 214 扩展名为.frm的文件表示______文件。 窗体 215 标准模块文件的扩展名为_______。 bas 216 VB中,错误的类型大致可分为三种:______、运行时错误和逻辑错误。

“编译错误”或者“语法错误” 217 VB有3种工作模式,即设计模式、______和中断模式。 运行模式 218 在 Visual Basic 中,对象的______是用来描述一个对象外部特征的。 属性 219 菜单项对象的______属性控制菜单项是否变灰 (失效)。 Enabled 220 菜单控件只有一个事件,它是______事件。 Click

221 由于程序的结构算法错误而引起的程序错误是______。 逻辑错误 222 VB6.0是基于面向对象的程序设计方法,采用______驱动的编程机制。 事件 223 窗体的初始化代码应写在窗体对象的______事件中。 Load 224 VB6.0 语句 if button=2 then 的条件成立表示单击鼠标______键。 右 225 使用菜单编辑器设计菜单时,必须输入的项有标题caption和______。 name

226 Visual Basic 的对象主要分为______对象和______对象两大类。 窗体 控件 227 基于Windows应用程序的用户界面主要有两大类,分别是 ______界面和 ______界面。

单文档(或SDI) 多文档(或MDI)

228 执行下面的程序段后,变量s的值为______。 7

s=5

For i=3 to 5 i=i+1 s=s+1 Next i

229 下列程序段的执行结果为______。 7

Dim x(3,5) For i=1 to 3

第 25 页 共 74 页

省二级考试VB试题汇总

text1.setfocus Else Select Case Mid(Text1.Text, 3, 1) ' 从Text1的第3位取1个字符 Case 0, 1, 3 MsgBox (\联通用户\ Case 5, 6, 7, 8, 9 MsgBox (\移动用户\ Case Else MsgBox (\空号\ End Select End If End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Text1.Text = \text1.tabindex=0 Text1.SelStart = 3 End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If Chr(KeyAscii) < \ Or Chr(KeyAscii) > \ Then MsgBox (\请输入数字符号\ KeyAscii = 0 End If End Sub 5.在考生文件夹中,完成以下要求:

(1)启动工程文件Sjt.Vbp,将该工程文件的工程名称改为“Spks”,并将该工程中的窗体文件Sjt.frm的窗

体名称改为“vbbc”。

(2)请在适当位置添加控件:一个文本框Text1,其值置为空,两个命令按钮Command1、Command2,标题分别

为“添加”、“删除” ,Command2的Enabled属性值设为假;一个列表框List1。(以上操作在属性窗口中完成)

(3)要求程序运行时,单击“添加”按钮,若文本框中有内容,则将文本框中的内容添加到列表框中。选中列

表框中的某一项,命令按钮“删除”有效,单击“删除”按钮可将该项删除。运行效果如下图。

(4)请先调试、运行,然后将工程、窗体保存。

参考程序如下: Private Sub Command1_Click() If Text1.Text <> \ List1.AddItem Text1.Text

第 31 页 共 74 页

省二级考试VB试题汇总

End If End Sub Private Sub Command2_Click() If List1.ListIndex <> -1 Then List1.RemoveItem List1.ListIndex End If End Sub Private Sub Form_Activate() Text1.SetFocus End Sub Private Sub List1_Click() Command2.Enabled = True End Sub 6.在考生文件夹中,完成以下要求:

(1)启动工程文件Sjt.Vbp,将该工程文件的工程名称改为“Spks”,并将该工程中的窗体文件Sjt.frm的窗

体名称改为“vbbc”。

(2)请在适当位置添加控件:一个标签Label1,标题为“等级考试”;两个命令按钮Command1、command2标

题分别为“移动”、“暂停”,Command2的Enabled属性值设为False,一个时钟控件Timer1,其Enabled属性值设为False,Interval属性值设置为500。(以上操作在属性窗口中完成)

(3)要求程序运行时,单击“移动”按钮可使Timer1、 Command2有效;时钟控件每隔半秒触发一次Timer事

件,该事件触发时可将标签向左移动60缇,一旦整个标签出了窗体左端,要求标签再从窗体的右端开始移动,单击“暂停”按钮可使时钟控件失效。运行效果如下图。

(4)请先调试、运行,然后将工程、窗体保存。

参考程序如下: Private Sub Command1_Click() Command2.Enabled = True Timer1.Enabled = True End Sub Private Sub Command2_Click() Timer1.Enabled = False End Sub Private Sub Timer1_Timer() If Label1.Left + Label1.Width >= 0 Then Label1.Left = Label1.Left - 60 Else Label1.Left = Form1.Width End If End Sub

第 32 页 共 74 页

省二级考试VB试题汇总

五、简单应用题

1.在考生文件夹中,完成以下要求:

(1)启动工程文件Prog1.Vbp,将该工程文件的工程名称改为“Spks”,并将该工程中的窗体文件Prog1.frm

的窗体名称改为“Prog1”,窗体的标题为“数据计算”。

(2)请在窗体适当位置增加以下控件:一个标签Label1,标题为“计算结果”;一个文本框Text1;两个命令

按钮(名称分别为C1和C2,标题分别为“计算”和“保存”),如图所示。

本题先执行第5条要求,再执行才能达到效果

-5

(3)编写程序计算S的近似值,直到最后一项的绝对值小于10为止(要求将存放结果的变量类型定义成单精

度浮点型)。

(4)要求程序运行后,单击“计算”按钮,计算并将结果显示在文本框中;最后单击“保存”按钮,将结果存

入考生文件夹中的文件“kssj.dat”中。

(5)在考生文件夹下有标准模块Prog1.bas,其中的Putdata过程可以把结果存入指定的文件,要求把这个模

块文件添加到当前的工程中,直接调用该过程。

(6)请先将工程、窗体与模块保存,然后调试、运行并生成可执行文件:Prog1.exe。

第(5)步添加的prog1.bas文件中的代码如下: Option Explicit Sub putdata(t_FileName As String, t_Str As Variant) Dim sFile As String sFile = \ Open App.Path & sFile For Output As #1 Print #1, t_Str Close #1 End Sub

参考程序如下: Private Sub Command1_Click() For n = 101 To 200 Step 2 f = 1 For i = 2 To n - 1 If n Mod i = 0 Then f = 0: Exit For Next i If f = 1 Then s = s + n Next n Text1.Text = s 第 33 页 共 74 页 省二级考试VB试题汇总

End Sub Private Sub Command2_Click() Call putdata(\End Sub 2.在考生文件夹中,完成以下要求:

(1)启动工程文件Prog1.Vbp,将该工程文件的工程名称改为“Spks”,并将该工程中的窗体文件Prog1.frm

的窗体名称改为“Prog1”,窗体的标题为“字符串个数”。

(2)请在窗体适当位置增加以下控件:文本框1(名称为Text1,Multiline属性为True,ScrollBars属性为2);文本框2(名称为Text2)和三个命令按钮(名称分别为C1、 C2和C3,标题分别为“读入数据”、“显示结果”和“保存”),如图所示。

本题必须先执行第4条要求,并研究所添加模块中的代码。 在所添加模块中定义了对文件进行操作的过程,必须弄清楚这个过程的参数含义,明确调用参数的个数、顺序和类型。

(3)要求程序运行后,单击“读入数据”按钮,读入“ini.txt”文件中的内容,同时在文本框text1中显示

出来;然后单击“显示结果”按钮,统计出字符串“and”出现的次数,并把结果在文本框Text2中显示出来;最后单击“保存”按钮,把该结果(Text2的值)存入考生文件夹中的文件“kssj.dat”中。 (4)在考生文件夹下有标准模块Prog1.bas,其中的getdata过程可以读出文件“ini.txt”中的内容,

Putdata过程可以把结果存入指定的文件,要求把这个模块文件添加到当前工程中,直接调用过程。 (5)请先将工程、窗体与模块保存,然后调试、运行并生成可执行程序:Prog1.exe。

第(4)步添加的prog1.bas文件中的代码如下: Option Explicit Sub putdata(t_FileName As String, t_Str As Variant) Dim sFile As String sFile = \ Open App.Path & sFile For Output As #1 Print #1, t_Str Close #1 End Sub Sub getdata(t_FileName As String, t_Str As Variant)'读文件函数 Dim sFile As String, Strname As String sFile = \ Open App.Path & sFile For Input As #1 Do While Not EOF(1) Line Input #1, strname t_Str = t_Str & strname & chr(13) & chr(10) Loop 第 34 页 共 74 页 省二级考试VB试题汇总

Close #1 End Sub

参考程序如下: Dim Count1 As Integer Private Sub C1_Click( ) Call getdata(\ Text1.Text = Str1 End Sub Private Sub C2_Click( ) Dim Len1 As Integer Dim i As Integer Dim Str1 As String Str1 = Text1.Text i = 1 Len1 = Len(Text1.Text) For i = 1 To Len1 - 3 If Mid(Str1, i, 3) = \ Count1 = Count1 + 1 End If Next i Text2.Text = Count1 End Sub Private Sub C3_Click( ) putdata \End Sub

3.在考生文件夹中,完成以下要求:

(1)启动工程文件Prog1.Vbp,将该工程文件的工程名称改为“Spks”,并将该工程中的窗体文件Prog1.frm

的窗体名称改为“Prog1”。

(2)请在窗体适当位置增加以下控件:两个标签label1,label2,标题分别为“平均数为:”,“大于平均

数的个数为:”;三个文本框Text1,Text2,Text3;Text1的Multiline的属性为True,ScrollBars属性为2,文本均为空白;两个命令按钮Command1,Command2,标题分别为:“读数并计算”,“保存”;将窗体标题改为“求平均数”(如图所示)。

(3)要求程序运行后,单击“读数并计算”按钮,则读入“ini.txt”文件中的50个整数显示在Text1中,同时在Text2中显示这些整数的平均数,在Text3中显示大于平均数的个数。单击“保存”按钮将大于平均数的个数(Text3的值)存入考生文件夹中的文件“kssj.dat”中。

(4)在考生文件夹下有标准模块Prog1.bas,其中Getdata过程可以读出文件“ini.txt”中的数据,Putdata

第 35 页 共 74 页

省二级考试VB试题汇总

过程可以把结果存入指定的文件,要求把该模块文件添加到当前工程中,直接调用该过程。 (5)请先将工程、窗体与模块保存,然后调试、运行并生成可执行文件:Prog1.exe。

第(4)步添加的prog1.bas文件中的代码如下: Option Explicit Sub putdata(t_FileName As String, t_Str As Variant) Dim sFile As String sFile = \ Open App.Path & sFile For Output As #1 Print #1, t_Str Close #1 End Sub

参考程序如下: Private Sub Command1_Click() Dim s As Integer Dim Sum As Integer Dim Ave As Single Dim A(50) As Integer Dim strName As String Sum = 0 Ave = 0 Text1 = \ sFile = \ Open App.Path & \ '读数到数组中 Do While Not EOF(1) Line Input #1, strName i = i + 1 A(i) = Val(strName) Sum = Sum + A(i) Text1.Text = Text1 & A(i) & Chr(13) & Chr(10) Loop Close #1 Ave = Sum / 50 '计算大于平均数的个数 For i = 1 To 50 If A(i) > Ave Then s = s + 1 End If Next i Text2.Text = Ave Text3.Text = s End Sub Private Sub Command2_Click() Print s 第 36 页 共 74 页 省二级考试VB试题汇总

putdata \End Sub

4.在考生文件夹中,完成以下要求:

(1)启动工程文件Prog1.Vbp,将该工程文件的工程名称改为“Spks”,并将该工程中的窗体文件Prog1.frm

的窗体名称改为“Prog1”,窗体的标题为“排序”。 (2)请在窗体适当位置增加以下控件:两个标签Label1和Label2(标题分别为“排序之前”和“排序之后”);

两个列表框List1和 List2;三个命令按钮(均为默认名称,标题分别为“读取数据”、“排序”和“写入文件”),如图所示。

(3) 要求:程序运行后

(1) 单击“读取数据”按钮,读入“ini.txt”文件中的50个数据,同时在列表框List1中显示出来 (2) 单击“排序”按钮,在List2中显示出从大到小的排列顺序

(3) 单击“写入文件”按钮,把List2中内容存入考生文件夹中的文件“kssj.dat”中。

(4)考生文件夹下有标准模块Prog1.Bas,其中getdata过程可以读出文件“ini.txt”中的数据,putdata过

程可以把结果存入指定的文件,要求把这个模块文件添加到当前的工程中,直接调用过程。 (5)将工程、窗体与模块保存,然后调试、运行并生成可执行文件Prog1.exe。

第(4)步添加的prog1.bas文件中的代码如下: Option Explicit public A(500) as integer public N as integer Sub putdata(t_FileName As String, t_Str As Variant) Dim sFile As String sFile = \ Open App.Path & sFile For APPEND As #1 Print #1, t_Str Close #1 End Sub sub getdata() '读文件函数 dim i as integer open app.path & \ i=1 do while not eof(1) input #1,A(i) i=i+1 loop N=i-1 close #1 end sub 第 37 页 共 74 页 省二级考试VB试题汇总

编程题评卷结果如下: 所建工程得分:0分 所建的窗体得分:0分 尚未生成.exe文件! 尚未生成答案文件! 编程题最后得分:0分

排序的方法有多种,下面给出冒泡排序的算法,其它排序算法请参考有关书籍。 参考程序如下: Private Sub Command1_Click() getdata For i = 1 To 50 List1.AddItem A(i) Next i End Sub Private Sub Command2_Click() For i = 1 To 50 For j = 1 To 50 - i If A(j) < A(j + 1) Then t = A(j): A(j) = A(j + 1): A(j + 1) = t End If Next j Next i For i = 1 To 50 List2.AddItem A(i) Next i End Sub Private Sub Command3_Click() For i = 0 To 49 putdata \ Next End Sub

5.在考生文件夹中,完成以下要求:

(1)启动工程文件Prog1.Vbp,将该工程文件的工程名称改为“Spks”,并将该工程中的窗体文件Prog1.frm

的窗体名称改为“Prog1”。

(2)请在窗体适当位置增加以下控件:一个标签(名称为label1,标题为“100~200之间的素数和为”),一

个文本框(名称为Text1,文本内容为空)和两个命令按钮(名称分别为:Command1,Command2,标题分别为:“计算”,“保存”),将窗体标题改为“求素数和”(如图所示)。

第 38 页 共 74 页

省二级考试VB试题汇总

(3)要求程序运行后,单击“计算”按钮,在Text1中显示出100~200之间的素数和;单击“保存”按钮,

将计算结果存入考生文件夹中的文件“kssj.dat”中。

(4)在考生文件夹下有标准模块Prog1.bas,其中的Putdata过程可以把结果存入指定的文件,要求把该模块

文件添加到当前工程中,直接调用该过程。

(5)请先将工程、窗体与模块保存,然后调试、运行并生成可执行文件:Prog1.exe。

第(4)步添加的prog1.bas文件中的代码如下: Option Explicit Sub putdata(t_FileName As String, t_Str As Variant) Dim sFile As String sFile = \ Open App.Path & sFile For Output As #1 Print #1, t_Str Close #1 End Sub

参考程序如下: Private Sub Command1_Click() For n = 101 To 200 Step 2 f = 1 For i = 2 To n - 1 If n Mod i = 0 Then f = 0: Exit For Next i If f = 1 Then s = s + n Next n Text1.Text = s End Sub Private Sub Command2_Click() Call putdata(\End Sub

6.在考生文件夹中,完成以下要求:

(1)启动工程文件Prog1.Vbp,将该工程文件的工程名称改为“Spks”,并将该工程中的窗体文件Prog1.frm

的窗体名称改为“Prog1”,窗体标题为“求数列的前20项和”。

(2)请在窗体适当位置增加以下控件:标签label1,标题为“数列前20项之和”;文本框Text1;两个命令

按钮Command1、Command2,标题分别为“计算”和“保存”。如图所示。

第 39 页 共 74 页

省二级考试VB试题汇总

(3)已知FIBONACCI数列的第1和第2项的值均为1,从第3项开始每项都是前2项之和。数列中的值为:1,

1,2,3,5,8,13,?? 要求程序运行后:

①单击“计算”按钮,在窗体上显示FIBONACCI数列的前20项,每行显示5个数据;在Text1中显示数列前20项的和;

② 单击“保存”按钮,将前20项的和存入考生文件夹中的文件“kssj.dat”中。

(4)在考生文件夹下有标准模块Prog1.bas,其中的Putdata过程可以把结果存入指定的文件,要求考生把该

模块文件添加到当前工程中,直接调用过程。

(5)请先将工程、窗体与模块保存,然后调试、运行并生成可执行程序:Prog1.exe。

参考程序如下: Private Sub Command1_Click() Dim s As Integer Dim F(30) As Integer Dim i As Integer Cls F(1) = 0: F(2) = 1 For i = 3 To 20 F(i) = F(i - 2) + F(i - 1) Next i For i = 1 To 20 s = s + F(i) Print F(i); If i Mod 5 = 0 Then Print End If Next i Text1.Text = Str(s) End Sub Private Sub Command2_Click() putdata \End Sub

六、综合应用

第 40 页 共 74 页

本文来源:https://www.bwwdw.com/article/3oy6.html

Top