2009年安徽省VB省二级笔试试题及答案
一、单项选择题(每题1分,共40分)
1、在计算机领域中,MIPS通常用来描述计算机的( ) A)运算速度 B)内存容量 C)分辨率 D)主频 2、下面属于计算机输出设备的是( )
A)显示器 B)鼠标 C)键盘 D)扫描仪
3、微型计算机在工作中突然断电,则( )中的信息全部丢失。 A)硬盘 B)RAM C)ROM D)光盘
4、若X是二进制1011,Y是十进制13,Z是十六进制1D,则X、Y、Z从大到小的顺序是( )。(X、Y、Z都是无符号数) A)Z YX B)Y Z X C)XYZ D)ZXY
5、在Windows中,下面关于删除文件的描述错误的是( )。 A)U盘上的文件删除后,不能从回收站中还原 B)可以不经过回收站直接将文件删除
C)可以将文件先复制到回收站,需要时再将其从回收站还原 D)利用“清空回收站”选项可以把回收站中的文件全部删除 6、下面关于E-mail功能的描述中,错误的是( ) A)在发电子邮件时,可以同时发送给多人 B)在发电子邮件时,可以发送附件
C)在接收电子邮件时,可以将附件下载到本地计算机上 D)在接收电子邮件时,必须将附件下载到本地计算机上 7、为减少多媒体数据所占存储空间,常采用( )技术。 A)高速缓冲 B)数据压缩 C)多通道 D)流媒体 8、http://www.ahedu.gov,cn中的“http”指的是( )。
A)计算机主机域名 B)文件传输协议 C)超文本传输协议 D)TCP/IP协议9、下面关于计算机病毒的描述中,正确的是( )。 A)计算机病毒不能感染安装了杀毒软件的计算机系统 B)计算机病毒只能通过网络传播
C)计算机病毒不能感染加密或压缩后的文件 D)计算机病毒可以通过U盘进行传播
10、下面系统软件中,最核心的是 ( )
A)编译系统 B)语言处理系统 C)操作系统 D)数据库管理系统
11、在Visual Basic 6.0的设计模式下,双击窗体上的某个控件,打开的窗口是( A)工程资源管理窗口 B)代码窗口 C)属性窗口 D)工具箱窗口 12、以下叙述错误的是( )
A)打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件 B)程序运行时,双击一个窗体,则触发该窗体的Dblclcik事件 C)Visual Basic应用程序只能以解释方式执行 D)事件可以由用户触发,也可以由系统触发
13、以下不属于Visual Basic6.0系统的文件类型是( ) A).Frm B).Bas C).Cpp D).Vbp
14、在Visual Basic 6.0中编写代码,如果要强制显示声明变量,可在窗体模块或标准模块的声明中加入语句( )
A)Option Explicit B)Option Compare C)Option Base 0 D)Option Base 1
)
15、下列选项中( )不是Visual Basic常量
A“Good Luck” B)PI C)1.5E-03 D)16.3412 16、以下声明语句中错误的是( ) A)Const varl=123 B)Dim varl=”abc”
C)Public varl As Integer D)Static varl As Integer
17、骰子是一个正六面体,分别用1~6代表其六个面,掷一次骰子出现的数可表示为( )
A)Int(Rnd*6+1) B) Int(Rnd*6) C) Int(Rnd*7) D) Int(Rnd(6)+1) 18、声明变量n为整型 ,执行语句n=4.5后,( )。
A)n的值为4 B) n的值为5 C) n的值为4.5 D) 出错 19、表达式4+5\\6*7/8的值是( ) A) 4 B) 5 C) 6 D) 7
20、MsgBox()函数返回值的类型是( )
A) 日期型 B) 字符型 C) 逻辑型 D) 整型 21、阅读下面的程序段: x=Input(“请输入第一个数:”) y= Input(“请输入第二个数:”) Print x+y
当输入22和33时,程序输出为( ) A) 22 B) 33 C) 55 D) 2233
22、假设A= “Good Morning.”,B=”Afternoon,Boys.”,下列( )表达式的结果是”Good Boys.”
A)Left(A,5)+Right(B,5) B)Right (A,5)+ Left (B,5) C)Mid (A,1,5)+Right(B,1,6) D) Right (A,5)+ Right(B,5) 23.能正确执行的语句是( ) A)x=Sin45° B)x=Sin(45°) C)x=Sin(45*3.14/180) D) x=Sin(45°/180) 24、下列正确的赋值语句是( ).
A)i+j=10 B)i=0 : j=0 C)i=0; j=0 D)i=0, j=0
25、设a=6,b=-1,c=8;执行语句Print a>b>c后,窗体上显示的结果是( ) A)1 B) True C)False D) 出错 26、可以强行中断程序运行的操作时( ) A) 按Ctrl+C键 B) 按Ctrl+Z键 C) 按Ctrl+V键 D) 按Ctrl+Break键 27、当用户单击滚动条的空白处时,滑块移动的增量由其( )属性决定 A)SmallChange B) LargeChange C)Min D) Max 28、以下叙述中正确的是( ).
A)窗体的Name属性指定窗体的名称,用来标识一个窗体 B) 窗体的Name属性的值是显示在窗体标题栏中的文本 C)可以在运行期间改变对象的Name属性值 D) 对象的Name属性值可以为空
29、以下能够触发文本框Change事件的操作是( ) A)文本框失去焦点 B) 文本框获得焦点 C) 设置文本框的前景色 D) 改变文本框的内容 30、要在命令按钮上显示图片,应设置其( )属性和Picture属性
A)Caption B) Name C)Style D) Appearance 31、时钟控件只有一个( )事件
A)Click B) Interval C)Timer D) Time 32、移除列表框Listl的第3项,应使用( )语句
A)Listl.RemoveItem 2 B) Listl.RemoveItem 3 C) Listl.RemoveItem “张三”,2 D) Listl.RemoveItem “张三”,3
33、设置图像框Image1的( )属性,可以自动调整装入图形的大小以适应图像框的尺寸。
A)AutoSize B) Appearance C)Align D) Stretch 34、下列对象中不能获得焦点的是( )。
A)命令按钮控件 B) 标签控件 C)文本框控件 D) 单选按钮控件 35、控件数组的元素是通过( )属性来区分的。
A)Name B) TabIndex C)Index D) Enabled 36、下列叙述中错误的是( )。 A)Sub过程能通过其过程名返回值
B)Dim可以用于声明模块级变量或过程级变量
C)静态变量时一种过程级变量,当所在的过程执行结束时,其值依然存在 D) Public定义变量时,只能出现在通用声明段 37、下列叙述中正确的是( )。
A)一个Sub过程至少要有一个Exit Sub语句 B) 一个Sub过程必须有一个End Sub语句
C)可以在Sub过程中定义一个Function过程,但不能定义Sub过程 D)可以在Function过程中定义一个Sub过程,但不能定义Function过程
38、设菜单项名称为MenuIt,为了在运行时使该菜单项失效(变灰),应使用的语句为( )。
A)MenuIt.Enabled=True B) MenuIt.Enabled=False C) MenuIt.Visible=True D) MenuIt.Visible= False
39、关于语句Open"D:\\Text.txt"For Output As #1,以下叙述中错误的是( )。 A)若D盘根目录下无Text.txt文件,则该语句创建此文件 B)该语句用文件号1打开D盘根目录下的文件Text.txt
C)该语句打开磁盘D已经存在的Text.txt,之后就可以从文件中读取信息 D) 执行该语句后,就可以通过Print语句或Write语句向Text.txt中写入信息 40、以下能判断文件指针是否到达文件尾的函数是( )。 A)BOF B) LOC C)LOF D) EOF
二、填空题(每空2分,共20分) 1、数学表达式
becde的Visual Basic 6.0表达式为 (1) 。
2、表达式100+25 Mod 10 \\ 4+Int(3.14)的值是 (2) 。
3、已知Fibonacci数列定义如下:f(1)=1,f(2)=1,f(n)=f(n-1)+f(n-2),n>2。下列程序的功能是计算并输出此数列前20个数冰求和,且要求每行输出5个数,试填空完成以下程序。
Option Explicit
Private Sub Form_Click()
Dim f(20) As Integer
Dim n As Integer, s As Integer f(1)=1: f(2)=1: s=2 Print f(1);f(2); For n=3 To 20
f(n)= f(n-1)+f(n-2)
S= (3) ′求和 Print f(n);
If n Mod 5 =0 Then (4) ′打印5个数后换行 Next n
Print “s=” ;s End Sub
4、随机产生10个1~999(包含1和999)之间的整数,找出其最大值、最小值和平均值,试填空完成以下程序。 Option Explicit
Private Sub Form_Click() Cls
Dim a(1 To 10) As Integer , s As Single
Dim m_max As Integer, m_min As Integer, I As Integer
Randomize
For i= 1 To 10
a(i) = Int(Rnd * (5) _+1) ′产生随机数并存入数组a
Print a(i) ′打印数组元素 Next i m_max = 0: m_min = 1000 For i = 1 To 10
If a(i) > m_max Then m_max = a(i) ′找最大的数 If a(i)< m_min Then (6) ′找最小的数 s=s+a(i) ′10个数相加 Next i
Print “最大数是:”;m_max ′输出最大数 Print “最小数是:”;m_min ′输出最小数 Print “平均值是:”;s / 10 ′输出平均数
End Sub
5、用一元纸币兑换一分、二分和五分的硬币;要求兑换的硬币的总数为50枚。试填空完成以下程序,列出所有可能的兑换方案。
提示:采用穷举法。一元等于100分,考虑5分最多20枚,2分最多50枚,余下是1分硬币。
Private Sub Form_Click()
Dim i As Integer , j As Single , k As Single
For i = 0 To 20 ′i表示5分硬币数量 For j = 0 To 50 ′j表示2分硬币数量
k=100-5*i- (7) ′j表示1分硬币数量 If i+j+k= (8) Then Print i, j ,k End If
Next j
Next i End Sub
6、试填空完成以下程序,使其能够计算1+1/1!+1/2!+1/3!+…+1/N!+ …,直到最后一项小于10-5为止。
Function fact(m As Integer) As Long ′该函数的功能是计算m的阶乘
Dim x As Single , i As Integer x=1
For i =1 To m
x= (9) ′求乘积 Next i Fact= x
End Function
Private Sub Form_Click()
Dim e As Single, t As Single, n As Integer e=1 n=1 Do
t= (10) ′调用函数fact计算数列的单项值 e=e+t n=n+1
Loop Until t<0.00001 Print e End Sub
三、阅读程序题(每小题4分,共20分) 1、执行下列程序后,输出结果是 。
Private Sub Form_Click()
Dim X As Integer, n As Integer X = 0: n = 0
Do While X < 50
X = (X + 1) * (X + 2) n = n + 1 Loop
Print \"X=\"; X, \"n=\"; n End Sub
2、执行下列程序后,输出结果是 。
Private Sub Form_Click()
Dim a, s As Integer
Dim i As Integer, j As Integer a = Array(2, 4, 6, 8) j = 1: s = 0
For i = 3 To 0 Step -1 s = s + a(i) * j j = j * 10 Next i
Print \"s=\"; s End Sub
3、执行下列程序后,输出结果是 。
Private Sub Form_Click() Dim M(10) As Integer
Dim k As Integer, x As Integer
For k = 1 To 10 '给数组M赋值 M(k) = 11 - k Next k x = 8
Print M(3 + M(x)) End Sub
4、执行下列程序后,输出结果是 。 Private Sub Form_Click()
Dim a(1 To 10) As Integer, b(4) As Integer Dim i As Integer, s As Integer s = 4
For i = 1 To 10 a(i) = i Next i
For i = 1 To 4 b(i) = a(i + i) Next i
For i = 1 To 4
s = s + b(i) * a(i) Next i
Print \"s=\"; s End Sub
5、执行下列程序后,单击命令按钮后的输出结果是 。 Private Sub Command1_Click() Dim m As Integer, n As Integer m = 4: n = 10 Call proc(m, n)
Print \"m=\"; m, \"n=\"; n Call proc(m, n)
Print \"m=\"; m, \"n=\"; n End Sub
Private Sub proc(a As Integer, ByVal b As Integer) Static c As Integer
c = c + 2 '定义c为静态变量 a = a * c b = b * c End Sub
四、编程题(共20分)
1.编程计算以下分段函数的值,自变量x的值由InputBox函数输入。(6分)
3x5 y2cosx1xx24x51≤x<2 2≤x<4 其他
2.设计一个程序,找出100~900范围内所有能同时被7和8整除的自然数并在列表框List1中显示。(7分)
3.如下图所示,在文本框Text1中输入一个1900年以后的年份,判断并用消息框输出该年份所对应的生肖。已知1900年对应的生肖是鼠;12生肖的顺序是:鼠牛虎兔,龙蛇马羊,猴鸡狗猪。(7分)
提示:用Array函数把12生肖字符存入一个数组中。将输入的年份与1900的差值与12求余,按余数读取数组对应的元素,便可求得对应的生肖。
参考答案: 一、单选题
1-5 AABAC; 16-20 BAABD; 31-35 CADBC; 二、填空题
(6). m_min=a(i) 6-10 DDCDC; 21-25 DACBC; 36-40 ABBCD
11-15 26-30
BCCAB DBADC
(1). a/(b+c/(d+sqr(e))) (2). 104 (3). s+f(n) (4). Print (5). 999
(8). 50
(9). x*i
(10). 1/fac(n)
(7). 2*j
三.阅读程序题 1. x= 182 2. s=2468 3. 5 4. s=64
5. m= 8
m= 32
四.编程题
见vb窗体文件
n= 3
n= 10 n= 10
因篇幅问题不能全部显示,请点此查看更多更全内容