[2003年4月全国计算机等级考试一级笔试试卷Windows]2003年4月全国计算机等级考试二级visual Basic笔试试

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

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

一、选择题((1)一(20)每小题2分,(21)一(30)每小题3分,共30题,70分)
 下列各题a)、b)、c)、d)四个选项中,只有一个选项是正确的,请将正确选项涂
 在答题卡的相应位置上,答在试卷上不得分。
 (1)以下不能在“工程资源管理器”窗口中列出的文件类型是
 a).bas b).res c).fnn d).ocx

(2)以下关于窗体的描述中,错误的是
 a)执行unloadfoml语句后,窗体fonnl消失,但仍在内存中
 b)窗体的ioad事件在加载窗体时发生
 c)当窗体的enabled属性为false时,通过鼠标和键盘对窗体的操作都被禁止
 d)窗体的height、width属性用于设置窗体的高和宽

(3)下列可作为v2sualbasic变量名的是
 a)a#a     b)4a    c)? xy    d)consta

(4)设有如下的记录类型
 type student
 numberas string
 name as string
 age as integer
 end type
 则正确引用该记录类型变量的代码是
 a) student.name=”张红” b) dim as student
 s.name=”张红”
 c) dim s as type student     d) dim s as type
 s.name=”张红” s.dame=”张红”

(5)函数string(n,“str”)的功能是
 a)把数值型数据转换为字符串
 b)返回由n个字符组成的字符串
 c)从字符串中取出n个字符
 d)从字符串中第n个字符的位置开始取子字符串

 (6)将数学表达式cos2(a+b)+5e2写成visual basic的表达式,其正确的形式是
 a)cos(a+b)a2十5。exp(2)     b)cos^2(a+b)+5*exp(2)
 c)cos(a+b)^2十5*ln(2)           d)cos^2(a+b)+5*ln(2)

(7)在窗体上画一个命令按钮,名称为commandl。单击命令按钮时,执行如下事件过
 程:
 prlvate sub commandl—c1icko
 a$="software and hardware"
 b(a$,8)
 c$=mid(a$,1,8)
 msgbox a$,,b$,c$,1
 end sub
 则在弹出的信息框的标题栏中显示的信息是
 a)software and hardware b)software c)hardwafe d)1

(8)执行如下语句:
 a=inutbox(”today”,”tomorrow,”yesterday”,,,"day before yesterday",5)
 将显示一个输入对话框,在对话框的输入区中显示的信息是
 a)today    b)tomorrow   c)yesterday    d)day before yesterday

(9)表示滚动条控件取值范围最大值的属性是
 a)max   b)largechange   c)value   d)max—min

(10)在窗体上画一个名称为listl的列表框,一个名称为labell的标签。列表框中显示
 若干城市的名称。当单击列表框中的某个城市名时,在标签中显示选中城市的名称。
 下列能正确实现上述功能的程序是
 a) private sub listl_click() b)private sub listl_c1ick()
 labell.caption=list1.listlndex labell.nanle=listl.listindex
 end sub .end sub
 程序运行后,如果单击命令按钮,则在窗体上显示的内容是
 a)空白 b)错误提示 c)北京 d)上海

11、在窗体上画一个名称为command1的命令按钮,然后编写如下事件过程:
private sub command1click()
x=0
n=inputbox(″″)
for i=1 to n
for j=1 to i
x=x+1
next j
next i
print x
end sub
程序运行后,单击命令按钮,如果输入3,则在窗体上显示的内容是()
a、3     b、4    c、5   d、6

12、以下关于菜单的叙述中,错误的是()
a、在程序运行过程中可以增加或减少菜单项
b、如果把一个菜单项的enabled属性设置为false,则可删除该菜单项
c、弹出式菜单在菜单编辑器中设计
d、利用控件数组可以实现菜单项的增加或减少

13在窗体上画三个单选按钮,组成一个名为chkoption的控件数组。用于标识各个控件数组元素的参数是()
a、tag   b、index   c、listindex   d、name

14在窗体上画一个命令按钮,名称为command1,然后编写如下事件过程:
option base 0
private sub command1click()
dim city as variant
city=array(″北京″,″上海″,″天津″,″重庆″)
print city1
end sub
程序运行后,如果单击命令按钮,则在窗体上显示的内容是()
a、空白    b、错误提示   c、北京   d、上海

15、假定有以下函数过程:
function fun(s as string) as string
dim s1 as string
for i=1 to len(s)
s1=ucase(mid(s,i,1))+s1
next i
fun=s1
end function
在窗体上画一个命令按钮,然后编写如下事件过程:
private sub command1click()
dim str1 as string,str2 as string
str1=inputbox(″请输入一个字符串″)
str2=fun(str1)
print str2
end sub
程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定”按钮后在窗体上的输出结果为()
a、abcdefg     b、abcdefg    c、gfedcba    d、gfedcba

(16)设有语句
 open "c:\test.dat" for output as#1
 则以下错误的叙述是
 a)该语句打开c盘根目录下一个己存在的文件test.dat
 b)该语句在c盘根目录下建立一个名为test.dat的文件
 c)该语句建立的文件的文件号为1
 d)执行该语句后,就可以通过print#语句向文件test.dat中写入信息

(17)以下叙述中错误的是
 a)用shell函数可以调用能够在windows下运行的应用程序
 b)用shell函数可以调用可执行文件,也可以调用visualbasic的内部函数
 c)调用shell函数的格式应为:<变量名>=shell(……)
 d)用shell函数不能执行dos命令

(18)以下关于过程及过程参数的描述中,错误的是
 a)过程的参数可以是控件名称
 b)用数组作为过程的参数时,使用的是“传地址”方式
 c)只有函数过程能够将过程中处理的信息传回到调用的程序中
 d)窗体可以作为过程的参数

 (19)在窗体上画一个名称为txta的文本框,然后编写如下的事件过程:
 private sub txta_keypress(keyascii as integer)
 end sub
 若焦点位于文本框中,则能够触发keypress事件的操作是
 a)单击鼠标                b)双击文本框
 c)鼠标滑过文本框    d)按下键盘上的某个键

 (20)目录列表框的path属性的作用是
 a)显示当前驱动器或指定驱动器上的路径
 b)显示当前驱动器或指定驱动器上的某目录下的文件名
 c)显示根目录下的文件名
 d)只显示当前路径下的文件

(21)假定有如下事件过程:
 private sub form_mousedown(button as integer,shift as integer, x as single,y as
 single)
 if button=2 then
 popupmenu popform
 end if
 end sub
 则以下描述中错误的是
 a)该过程的功能是弹出一个菜单
 b)popform 是在菜单编辑器中定义的弹出式菜单的名称
 c)参数x、y指明鼠标的当前位置
 d)button=2 表示按下的是鼠标左键

(22)以下能够正确计算n!的程序是
 a) private sub commandl_click()
 n=5:x=1
 do
 x=x*1
 i=i十1
 loop while i<n
 print x
 end sub
 b) private sub commandl_click()
 n=5: x=1:i=1
 do
 x=x*1
 i=i十1
 loop while i<n
 print x
 end sub
 c)private sub commandl_click()
 n=5:x=1:i=1
 do
 x=x*1
 i=i十1
 loop while i<=n
 print x
 end sub
 d)private sub commandl_c1ick()
 n=5:x=1:i=1
 do
 x=x*l
 i=i十1
 loop while i>n
 print x
 end sub

(23)在窗体上画一个名称为commandl的命令按钮,再画两个名称分别为labell、label2
 的标签,然后编写如下程序代码:
  private x as integer
 private sub commandl—click()
 x=5:y=3
 call proc(x,y)
 labell.caption=x
 label2.caption=y
 end sub
 private sub proc(byval a as integer,byval b as hteger)
 x=a* a
 y=b十b
 end sub
 程序运行后,单击命令按钮,则两个标签中显示的内容分别是
 a)5和3    b)25和3    c)25和6   d)5和6

(24)在窗体上画一个名称为commandl的命令按钮,一个名称为labell的标签,然后
 编写如下事件过程:
 private sub commandl_c1ick()
 s=0
 for i=1 t0 15
 x=2*i一1
 1f x mod 3=0 then s=s十1
 nexti
 labell.caption=s
 end sub
 程序运行后,单击命令按钮,则标签中显示的内容是
 a)1    b)5    c)27    d)45

(25)在窗体上画一个名称为commandl的命令按钮和三个名称分别为labell、label2、
 label3的标签,然后编写如下代码:
 private x as integer
 private sub command1_c1ick()
 static y as integer
 dimz as integer
 n=10
 z=n十z
 y=y十z
 x=x十z
 labell.caption=x
 label2.caption=y
 label3.caption=z
 end sub
 运行程序,连续三次单击命令按钮后,则三个标签中显示的内容分别是
 a)10 10 10    b)30 30 30    c)30 30 10    d)10 30 30

(26)设在窗体上有一个名称为commandl的命令按钮,并有以下事件过程:
 private sub commandl_c1ick()
 static b as variant
 b=array(1,3,5,7,9)
 end sub
 此过程的功能是把数组b中的5个数逆序存放(即排列为9,7,5,3,1)。为实现此功
 能,省略号处的程序段应该是
 a)for i=0 to 5-1\2
 tmp=b(i)
 b(i)=b(5-i-1)
 b(5-i-1)=tmp
 next


 b)for i=0 to 5
 tmp=b(i)
 b(i)=b(5-i-1)
 b(5-i-1)=tmp
 next


 c) for i=0 t0 5\2
 tmp=b(i)
 b(i)=b(5-i-1)
 b(5-i-1);tmp
 next


 d)for i=1 t0 5\2
 tmp=b(i)
 b(i)=b(5一i一1)
 b(5—i—1)=tmp
 next

(27)在窗体上画一个名称为drivel的驱动器列表框,一个名称为dirl的目录列表框,
 一个名称为filel的文件列表框,两个名称分别为labell、label2,标题分别为空白
 和“共有文件”的标签。编写程序,使得驱动器列表框与目录列表框、目录列表框
 与文件列表框同步变化,并且在标签labell中显示当前文件夹中文件的数量。如图
 所示。
 能够正确实现上述功能的程序是
 a) private sub dirl_change()                b)private sub dir1_change()
 filel.path=dir1.path                              filel.path=dir1.path
 end sub                                                      end sub
 private sub drivel_change()                      private sub drive1_change()
 dirl.path=drivel.drive                         dirl.path=drivel.drive
 labell.caption=filel.listcount                 labell.captlon=file1.list
 end sub                                                       end sub
 c)private sub dirl_change()                    d) private sub dirl_change()
 filel.path=dirl.path                                filel.path=dir1.path
 labell.caption=filel.listcount            labell.caption=filel.list
 end sub                                                         end sub
 private sub drivel_change()                         private sub drivel_change()
 dirl.path=drivel.drlve                          dir1.path=drivel.drlve
 labell.caption=filel.listcount             labell.caption=filel.list
 end sub                                                          end sub


(28)一个工程中包含两个名称分别为forml、form2的窗体,一个名称为mdlfunc的标准
 模块。假定在forml、form2和mdlfunc中分别建立了自定义过程,其定义格式为:
 forml中定义的过程:
 private sub frmfunctionl()
 end sub
 form2中定义的过程:
 public sub frmffunction2()
 end sub
 mdlfunc中定义的过程:
 public sub mdlfunction()
 end sub
 在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是
 a)上述三个过程都可以在工程中的任何窗体或模块中被调用
 b)frmfunction2和mdlfunction过程能够在工程中各个窗体或模块中被调用
 c)上述三个过程都只能在各自被定义的模块中调用
 d)只有mdlfunction过程能够被工程中各个窗体或模块调用

(29)窗体上有两个名称分别为textl、text2的文本框,一个名称为commandl的命令
 按钮。运行后的窗体外观如图所示。


 设有如下的类型声明
 type person
 name as string*8
 major as string*20
 end type
 当单击“保存”按钮时,将两个文本框中的内容写入一个随机文件test29.dat中。设
 文本框中的数据已正确地赋值给person类型的变量p。则能够正确地把数据写入文件
 的程序段是
 a)0pen”c:\test29.dat" for random as#1
 put #1,1,p
 close #1
 b)open "c:\test29.dat" for random as #1
 get#1,1,p
 c10se #1
 c)open "c\test29.dat" for random as #1 len=len(p)
 put #1,1,p
 close #1
 d)open "c:\test29.dat " for random as #1=len(p)
 get #1,1,p
 close #1

(30)在窗体上画一个名称为commondialogl的通用对话框,一个名称为commandl的
 命令按钮。要求单击命令按钮时,打开一个保存文件的通用对话框。该窗口的标题
 为"save",缺省文件名为“savefile”,在“文件类型”栏中显示*.txt。则能够满足
 上述要求的程序是
 a)private sub command_c1ick()
 commondialogl.filename=“savefile”
 commondialogl.filter="all files|*.*|(*.txt)|*.txt|(*.doc).|*.doc"
 commondialogl.filterindex=2
 commondialogl.dial0g.title="save"
 commondialogl.action=2
 end sub
 b)private sub commandl_click()
 commondialogl.filename="savefile"
 commondialogl.filter="a11 files|*.*|(*.txt)|*.txt|*.doc|*.doc"
 c0mmondialogl.filterindex=1
 commondialogl.dialogtitle="save"
 commondialogl.action=2
 end sub
 c)private sub cmmandl_c1ick()
 commondialogl.filename="save"
 commondialogl.filter="a11files|*.*|(*.txt)|*.txt|(*.doc)|*.doc"
 commondialogl.filterindex=2
 c0mmondialogl.dialogtitle="savefile"
 commondialogl.action=2
 end sub
 d)private sub commandl_c1ick()
 commondialogl.filename="savefile"
 commondialogl.filter="all files|*.*|(*.txt)|*.txt|(*.doc)|*.doc"
 commondialogl.filterindex=1
 commondialogl.dialogtitle=“save”
 commondialogl.action=1
 end sub

二、填空题(每空2分,共30分)
 请将每空的正确答案写在答题卡[1]一[15序号的横线上,答在试卷上不得分。
 (1)visual basic中有一种控件组合了文本框和列表框的特性,这种控件是________

(2)visual basic提供的对数据文件的三种访问方式为随机访问方式_____和二进制访问
 方式。

(3)执行下面的程序段后,变量s的值为_______。
 s=5
 for i =2.6 to 4.9 step 0.6
 s=s十1
 next i

(4)为了在运行时把d:\pic文件夹下的图形文件a.jpg装入图片框picturel,所使用的语
 句为_______。

(5)计时器控件能有规律的以一定时间间隔触发_______事件,并执行该事件过程中的
 程序代码。

(6)以下程序的功能是:生成20个200到300之间的随机整数,输出其中能被5整除的
 数并求出它们的和。请填空。
 private sub commandl_c1ick()
 fori=1to 20
 x=int(____________*200+100)
 if_______[7] =0 then
 print x
 s=s+_________ [8]
 end if
 next i
 print “sum=”:s
 end sub

(7)设有如下程序
 private sub form_click()
 dim a as integer,b as integer
 a=20:b=50
 pla,b
 p2a,b
 p3a,b
 print"a=";a,"b=";b
 end sub
 sub pl(x as integer,byval y as integer)
 x=x+10
 v=v+20
 end sub
 sub p2(byval x as integer, y as integer)
 x=x+10
 y=y+20
 end sub
 sub p3(byvalx as integer, byval y as integer)
 x=x+10
 y=y+20
 end sub
 该程序运行后,单击窗体,则在窗体上显示的内容是:a=______和b=______。

 (8)在窗体上画一个名称为commandl的命令按钮,编写如下事件过程
 private sub commandl_c1ick()
 dim as string
 a=_____[11]
 for i =1 to 5
 print space(6—i);mid$3(a,6—i,2*i—1)
 nexti
 end sub
 程序运行后,单击命令按钮,要求窗体上显示的输出结果为
 456
 34567
 2345678
 123456789
 请填空。

(9)在窗体上画一个名称为combo1的组合框,画两个名称分别label1和label2及caption
 属性分别为“城市名称”和空白的标签。程序运行后,当在组合框中输入一个新项
 后按回车键(ascii码为13)时,如果输入的项在组合框的列表中不存在,则自动
 添加到组合框的列表中,并在label2中给出提示“已成功添加输入项”如图所示;
 如果存在,则在label2中给出提示“输入项已在组合框中”。请在[12]、[13]和
 [14]处将程序补充完整。


 private sub combol_________<12> (keyascii as integer)
 1f keyascii=13 then
 fori=0 to combo1.listcount—1
 1f combo1.text=______ [13] ihen
 label2.caption=”输入项己在组合框中”
 exit sub
 end lf
 next i
 label2.caption=“已成功添加输入项”
 combo1.______ [14] combo1.text
 end lf
 end sub

(10)设有如下程序
 private sub search(a()as variant,byval key as variant,index%)
 dim i%

 fori=lbound(a)to ubound(a)
 if key=a(i) then
 index=i
 exit sub
 end if
 next i
 index=-1
 end sub
 private sub form_load()
 show
 dtm b() as variant
 dim n as integer
 b=array(1,3,5,7,9,11,13,15)
 call search(b,11,n)
 printt n
 end sub
 程序运行后,输出结果是________。

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

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

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

 站长统计