2020年9月全国计算机等级考试|2003年9月全国计算机等级考试二级VB语言笔试试卷

试题集锦 2023-06-14 网络整理 可可

【shitiku.jxxyjl.com--试题集锦】

一、 选择题((1)~(20)每小题2分,(21)~(30)每小题3分,共70分)
(1)以下叙述中错误的是
a)visual basic 是事件驱动型可视化编程工具
b)visual basic应用程序不具有明显的开始和结束语句
c)visual basic工具箱中的所有控件都具有宽度(width)和高度(height)属性
d)visual basic中控件的某些属性只能在运行时设置

(2)以下叙述中错误的是
a)在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件
b)以.bas为扩展名的文件是标准模块文件
c)窗体文件包含该窗体及其控件的属性
d)一个工程中可以含有多个标准模块文件

(3)以下叙述中错误的是
a)双击鼠标可以触发dblclick事件
b)窗体或控件的事件的名称可以由编程人员确定
c)移动鼠标时,会触发mousemove事件
d)控件的名称可以由编程人员设定

(4)以下不属于visual basic系统的文件类型是
a).frm     b).bat     c).vbg    d).vbp

(5)以下叙述中错误的是
a)打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件
b)保存visual basic程序时,应分别保存窗体文件及工程文件
c)visual basic应用程序只能以解释方式执行
d)事件可以由用户引发,也可以由系统引发

(5)以下叙述中错误的是
a)打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件
b)保存visual basic程序时,应分别保存窗体文件及工程文件
c)visual basic应用程序只能以解释方式执行
d)事件可以由用户引发,也可以由系统引发

(6)以下能正确定义数据类型telbook的代码是
a)type telbook      b)type telbook
name as string*10                   name as string*10
telnum as integer                   telnum as integer
end type                                 end telbook
c)type telbook              d)typedef telbook
name string*10                         name string*10
telnum integer                          telnum integer
end type telbook                     end type

(7)以下声明语句中错误的是
a)const var1=123    b)dim var2 = \"abc\"
c)defint a-z             d)static var3 as integer

(8)设窗体上有一个列表框控件list1,且其中含有若干列表项。则以下能表示当前被选中的列表项内容的是
a)list1.list   b)list1.listindex   c)list1.index   d)list1. text

(9)程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是
a)mousedown    b)mouseup    c)load   d)click

(10)设a=10,b=5,c=1,执行语句print a > b > c后,窗体上显示的是
a)true   b)false   c)1   d)出错信息

(11)如果要改变窗体的标题,则需要设置的属性是
a)caption   b)name   c)backcolor   d)borderstyle

(12)以下能判断是否到达文件尾的函数是
a)bof   b)loc    c)lof   d)eof

(13)如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是
a)如果工程中含有sub main过程,则程序一定首先执行该过程
b)不能把标准模块设置为启动模块
c)用hide方法只是隐藏一个窗体,不能从内存中清除该窗体
d)任何时刻最多只有一个窗体是活动窗体

(14)窗体的mousedown事件过程
form_mousedown (button as integer, shift as integer, x as single, y as single)
有4个参数,关于这些参数,正确的描述是
a)通过button参数判定当前按下的是哪一个鼠标键
b)shift参数只能用来确定是否按下shift键
c)shift参数只能用来确定是否按下alt和ctrl键
d)参数x,y用来设置鼠标当前位置的坐标

(15)设组合框combo1中有3个项目,则以下能删除最后一项的语句是
a)combo1.removeitem text
b)combo1.removeitem 2
c)combo1.removeitem 3
d)combo1.removeitem combo1.listcount

(16)以下关于焦点的叙述中,错误的是
a)如果文本框的tabstop属性为false,则不能接收从键盘上输入的数据
b)当文本框失去焦点时,触发lostfocus事件
c)当文本框的enabled属性为false时,其tab顺序不起作用
d)可以用tabindex属性改变tab顺序

(17)如果要在菜单中添加一个分隔线,则应将其caption属性设置为
a)=    b)*    c)&    d)-

(18)执行语句open "tel.dat" for random as #1 len = 50后,对文件tel.dat中的数据能够执行的操作是
a)只能写,不能读           b)只能读,不能写
c)既可以读,也可以写   d)不能读,不能写

(19)在窗体上画一个名称为command1的命令按钮和两个名称分别为text1、text2的文本框,然后编写如下事件过程:
private sub command1_click()
n = text1.text
select case n
case 1 to 20
x = 10
case 2, 4, 6
x = 20
case is < 10
x = 30
case 10
x = 40
end select
text2.text = x
end sub
程序运行后,如果在文本框text1中输入10,然后单击命令按钮,则在text2中显示的内容是
a)10 b)20 c)30 d)40

(20)设有以下循环结构
do
循环体
loop while <条件>
则以下叙述中错误的是
a)若"条件"是一个为0的常数,则一次也不执行循环体
b)"条件"可以是关系表达式、逻辑表达式或常数
c)循环体中可以使用exit do语句
d)如果"条件"总是为true,则不停地执行循环体

(21)在窗体上画一个名称为command1的命令按钮,然后编写如下事件过程:
private sub command1_click()
dim num as integer
num = 1
do until num > 6
print num;
num = num + 2.4
loop
end sub
程序运行后,单击命令按钮,则窗体上显示的内容是
a)1 3.4 5.8    b)1 3 5
c)1 4 7          d)无数据输出

(22)在窗体上画一个名称为command1的命令按钮,然后编写如下事件过程:
private sub command1_click()
dim a as integer, s as integer
a = 8
s = 1
do
s = s + a
a = a-1
loop while a <= 0
print s; a
end sub
程序运行后,单击命令按钮,则窗体上显示的内容是
a) 7    9    b) 34    0
c) 9    7    d)死循环

(23)设有如下通用过程:
public function f(x as integer)
dim y as integer
x = 20
y = 2
f = x * y
end function
在窗体上画一个名称为command1的命令按钮,然后编写如下事件过程:
private sub command1_click()
static x as integer
x = 10
y=5
y = f(x)
print x; y
end sub
程序运行后,如果单击命令按钮,则在窗体上显示的内容是
a)10   5      b)20   5
c)20   40    d)10   40

(24)设有如下通用过程:
public sub fun(a(), byval x as integer)
for i = 1 to 5
x = x + a(i)
next
end sub
在窗体上画一个名称为text1的文本框和一个名称为command1的命令按钮,然后编写如下的事件过程:
private sub command1_click()
dim arr(5) as variant
for i = 1 to 5
arr(i) = i
next
n = 10
call fun(arr(), n)
text1.text = n
end sub
程序运行后,单击命令按钮,则在文本框中显示的内容是
a)10    b)15    c)25    d)24

(25)在窗体上画一个名称为command1的命令按钮,然后编写如下代码:
option base 1
private sub command1_click()
d = 0
c = 10
x = array(10, 12, 21, 32, 24)
for i = 1 to 5
if x(i) > c then
d = d + x(i)
c = x(i)
else
d = d-c
end if
next i
print d
end sub
程序运行后,如果单击命令按钮,则在窗体上输出的内容为
a)89 b)99 c)23 d)77

(26)在窗体上画两个滚动条,名称分别为hscroll1 、hscroll2;六个标签,名称分别为label1、label2、label3、label4、label5、label6,其中标签label 4~ label6分别显示"a"、"b"、"a*b"等文字信息,标签label1、label2分别显示其右侧的滚动条的数值,label3 显示a*b的计算结果。如图所示。当移动滚动框时,在相应的标签中显示滚动条的值。当单击命令按钮"计算"时,对标签label1、label2中显示的两个值求积,并将结果显示在label3中。以下不能实现上述功能的事件过程是


a)private sub command1_click()
label3.caption = str(val(label1.caption )*val( label2.caption))
end sub
b)private sub command1_click()
label3.caption = hscroll1.value * hscroll2.value
end sub
c)private sub command1_click()
label3.caption = hscroll1 * hscroll2
end sub
d)private sub command1_click()
label3.caption = hscroll1. text * hscroll2.text
end sub

(27)在窗体上画一个名称为command1的命令按钮,然后编写如下事件过程:
private sub command1_click()
for n = 1 to 20
if n mod 3 <> 0 then m = m + n \ 3
next n
print n
end sub
程序运行后,如果单击命令按钮,则窗体上显示的内容是
a)15 b)18 c)21 d)24

(28)在窗体上画一个名称为text1的文本框,并编写如下程序:
private sub form_load()
show
text1.text = ""
text1.setfocus
end sub
private sub form_mouseup(button as integer, shift as integer, x as single, y as single)
print "程序设计"
end sub
private sub text1_keydown(keycode as integer, shift as integer)
print "visual basic";
end sub
程序运行后,如果按"a"键,然后单击窗体,则在窗体上显示的内容是
a)visual basic b)程序设计
c)a程序设计 d)visual basic程序设计

(29)设有如下程序:
private sub command1_click()
dim sum as double, x as double
sum = 0
n = 0
for i = 1 to 5
x = n / i
n = n + 1
sum = sum + x
next
end sub
该程序通过for循环计算一个表达式的值,这个表达式是
a)1+1/2+ 2/3+3/4+4/5    b)1+1/2+2/3+3/4
c)1/2+2/3+3/4+4/5          d)1+1/2+1/3+1/4+1/5

(30)以下有关数组定义的语句序列中,错误的是
a) static arr1(3)
arr1(1) = 100
arr1(2) = "hello"
arr1(3) = 123.45
b)dim arr2() as integer
 dim size as integer
 private sub command2_click()
 size = inputbox("输入:")
 redim arr2(size)
......
end sub
c)option base 1
private sub command3_click()
dim arr3(3) as integer
......
end sub
d)dim n as integer
private sub command4_click()
dim arr4(n) as integer
......
end sub

二、填空题(每空2分,共30分)
(1)执行下面的程序段后,i的值为 〖1〗 ,s的值为 〖2〗 。
s = 2
for  i = 3.2 to 4.9 step 0.8
s = s + 1
next i

(2)把窗体的keypreview属性设置为true,然后编写如下两个事件过程:
private sub form_keydown(keycode as integer, shift as integer)
print chr(keycode)
end sub
private sub form_keypress(keyascii as integer)
print chr(keyascii)
end sub
程序运行后,如果直接按键盘上的"a"键(即不按住shift键),则在窗体上输出的字符分别是 〖3〗 和 〖4〗 。

(3)在窗体上画一个标签(名称为label1)和一个计时器(名称为timer1),然后编写如下几个事件过程:
private sub form_load()
timer1.enabled = false
timer1.interval = 〖5〗
end sub
private sub form_click()
timer1.enabled = 〖6〗
end sub
private sub timer1_timer()
label1.caption = 〖7〗
end sub
程序运行后,单击窗体,将在标签中显示当前时间,每隔1秒钟变换一次(见图)。请填空。

(4)在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为text1、label1和command1,然后编写如下两个事件过程:
private sub command1_click()
s$ = inputbox("请输入一个字符串")
text1.text = s$
end sub
private sub text1_change()
label1.caption = ucase(mid(text1.text, 7))
end sub
程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串"visualbasic",则在标签中显示的内容是 〖8〗 。

(5)在窗体上画一个列表框、一个命令按钮和一个标签,其名称分别为list1、command1和label1,通过属性窗口把列表框中的项目设置为:"第一个项目"、"第二个项目"、"第三个项目"、"第四个项目"。程序运行后,在列表框中选择一个项目,然后单击命令按钮,即可将所选择的项目删除,并在标签中显示列表框当前的项目数,运行情况如图所示(选择"第三个项目"的情况)。下面是实现上述功能的程序,请填空。
private sub command1_click()
if list1.listindex >= 〖9〗 then
list1.removeitem 〖10〗
label1.caption = 〖11〗
else
msgbox "请选择要删除的项目"
end if
end sub

(6)设有程序:
option base 1
private sub command1_click()
dim arr1, max as integer
arr1 = array(12, 435, 76, 24, 78, 54, 866, 43)
(资料来源:东方教育网
〖12〗 = arr1(1)
for i = 1 to 8
if arr1(i) > max then 〖13〗
next i
print "最大值是: "; max
end sub
以上程序的功能是:用array函数建立一个含有8个元素的数组,然后查找并输出该数组中元素的最大值。请填空。

(7)以下程序的功能是:把当前目录下的顺序文件smtext1.txt的内容读入内存,并在文本框text1中显示出来。请填空。
private sub command1_click()
dim indata as string
text1.text = ""
open ".\smtext1.txt" 〖14〗 as #1
do while 〖15〗
input #1, indata
text1.text = text1.text & indata
loop
close #1
end sub

本文来源:https://shitiku.jxxyjl.com/shitijijin2/27191.html

Copyright @ 2011- 考试题库网 All Rights Reserved. 版权所有

免责声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

 站长统计