VB测验2题目及参考答案.docx
- 文档编号:24934390
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:27
- 大小:232.04KB
VB测验2题目及参考答案.docx
《VB测验2题目及参考答案.docx》由会员分享,可在线阅读,更多相关《VB测验2题目及参考答案.docx(27页珍藏版)》请在冰豆网上搜索。
VB测验2题目及参考答案
一、单选题
1、用下面语句定义的数组的元素个数是______。
dimA(-3to5)asinteger
A:
6
B:
7
C:
8
D:
9
答案:
D
评析:
空
2、用下面的语句所定义的数组的元素个数是:
______。
Dimarr(3To5,-2to2)
A:
20
B:
12
C:
15
D:
24
答案:
C
评析:
空
3、用Dim(1,3to7,10)声明的是一个______维数组。
A:
1
B:
2
C:
3
D:
4
答案:
C
评析:
空
4、以下说法错误的是______。
A:
函数过程没有返回值
B:
子过程没有返回值
C:
函数过程可以带参数
D:
子过程可以带参数
答案:
A
评析:
函数和过程相比主要的特点在于必须返回一个函数值。
过程侧重的是执行一系列的操作。
5、下列______语句可以为动态数组分配实际元素个数。
A:
Dim语句
B:
static语句
C:
public语句
D:
ReDim语句
答案:
D
评析:
ReDim语句在过程级别中使用,用于为动态数组变量重新分配存储空间。
6、在VB中传递参数的方法有______方式。
A:
一种
B:
两种
C:
三种
D:
四种
答案:
B
评析:
在VB中传递参数的方式有按值传递ByVal和按地址传递ByRef两种。
7、在窗体上画一个命令按钮(名称为Command1),然后编写如下事件过程:
PrivateSubCommand1_Click()
DimbAsInteger
b=b+1
EndSub
运行程序,三次单击命令按钮后,变量b的值是:
______。
A:
0
B:
1
C:
2
D:
3
答案:
B
评析:
变量定义后,若没有人工定义初值,程序启动后,系统将自动把变量初值设为0。
8、为了清除列表框中的所有内容,应使用的方法是:
______。
A:
Cls
B:
Clear
C:
Remove
D:
RemoveItem
答案:
B
评析:
使用Clear方法清除列表框中所有内容。
9、在窗体上画一个命令按钮,然后编写如下程序:
SubS1(ByValxAsInteger,ByValyAsInteger)
DimtAsInteger
t=x
x=y
y=t
EndSub
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger
a=10
b=30
S1a,b
Print"a=";a;"b=";b
EndSub
程序运行后,单击命令按钮,输出结果是:
______。
A:
a=30b=10
B:
a=30b=30
C:
a=10b=30
D:
a=10b=10
答案:
C
评析:
空
10、下列程序段的执行结果为______。
DimA(1to5)
ForI=1To5
A(I)=I*I
NextI
PrintA(I-1)
A:
5
B:
25
C:
0
D:
16
答案:
B
评析:
数组、For--Next循环
解题思路:
观察程序段,先定义一个有五个变量的数组,通过For循环体将数据下标的平方值赋给数组元素。
即:
A(I)=I*I
当For循环结束时,I的值为6(此处特别注意),所以A(I-1)即A(6-1)=A(5)=5*5=25。
11、设执行以下程序段时依次输入1、3、5,执行结果为______。
Dima(1to4)AsInteger,b(1to4)AsInteger
ForK=0To2
a(K+1)=Val(InputBox("请输入数据"))
b(3-K)=a(K+1)
NextK
Printb(K)
A:
1
B:
3
C:
5
D:
0
答案:
A
评析:
数组、For--Next循环
跟踪程序段:
以K为循环变量的循环共执行3次
第一次:
K=0,a
(1)=Val("1")=1,b(3)=a
(1)=1
第二次:
K=1,a
(2)=Val("3")=3,b
(2)=a
(2)=3
第三次:
K=2,a(3)=Val("5")=5,b
(1)=a(3)=5
循环结束,由于For--Next循环每次执行完循环体,循环变量都会等于本身的值加上步长值,所以此时K=3,打印b(3)的值,程序段最终输出的结果为:
1。
12、设有如下程序:
OptionBase0
PrivateSubForm_Click()
Dima
DimiAsInteger
a=Array(1,2,3,4,5,6,7,8,9)
Fori=0To3
Printa(5-i);
Next
EndSub
程序运行后,单击窗体,则在窗体上显示的是______。
A:
4321
B:
5432
C:
6543
D:
7654
答案:
C
评析:
OptionBase语句和数组的使用:
OptionBase语句,在模块级别中使用,用来声明数组下标的缺省下界。
缺省值为0。
用Array函数在给数组赋值,默认的数组下标从0开始,如果想使下标从1开始,则应执行:
OptionBase1。
该题中,数组的下标从0开始,故A(5)=6,依次输出6543。
13、在窗体上画一个命令按钮,其名称为Command1,然后编写如下程序:
FunctionFunc(ByValxAsInteger,yAsInteger)
y=x*y
Ify>0Then
Func=x
Else
Func=y
EndIf
EndFunction
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger
a=3
b=4
c=Func(a,b)
Print"a=";a
Print"b=";b
Print"c=";c
EndSub
程序运行后,单击命令按钮,其输出结果为:
______。
A:
a=3
b=12
c=3
B:
a=3
b=4
c=3
C:
a=3
b=4
c=12
D:
a=13
b=12
c=12
答案:
A
评析:
空
14、列表框中的列表项的数目可以通过以下哪个属性的值获得______。
A:
Count
B:
ListCount
C:
ListIndex
D:
Index
答案:
B
评析:
列表框的相关属性:
ListCount属性:
列出列表框中列表项的数量。
列表框中列表项的排列序号是从0开始,最后一项的序号为ListCount-1。
ListIndex属性:
该属性的设置值是已选中的列表项的位置。
列表项位置由索引值指定,第一项的索引值为0,第二项为1,依次类推。
如果没有选中任何列表项,ListIndex的值将设置为-1。
15、在列表框中当前被选中的列表项的序号是由下列哪个属性表示______。
A:
List
B:
Index
C:
Listindex
D:
Tabindex
答案:
C
评析:
列表框的相关属性:
List属性:
该属性用来列出列表项的内容。
List属性保存了列表框中所有值的数组,可以通过下标访问数组中的值(下标值从0开始)。
ListIndex属性:
该属性的设置值是已选中的列表项的位置。
列表项位置由索引值指定,第一项的索引值为0,第二项为1,依次类推。
如果没有选中任何列表项,ListIndex的值将设置为-1。
16、要将一个组合框设置为简单组合框(SimpleCombo),则应将其Style属性设置为______。
A:
0
B:
1
C:
2
D:
3
答案:
B
评析:
空
17、Sub过程与Function过程最根本的区别是______。
A:
Sub过程可以使用Call语句或直接使用过程名调用,而Function过程不可以
B:
Function过程可以有参数,Sub过程不可以
C:
两种过程参数的传递方式不同
D:
Sub过程的过程名不能返回值,而Function过程能通过过程名返回值
答案:
D
评析:
空
18、在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
Dimarray1(10,10)AsInteger
Dimi,jAsInteger
Fori=1To3
Forj=2To4
array1(i,j)=i+j
Nextj
Nexti
Text1.Text=array1(2,3)+array1(3,4)
EndSub
程序运行后,单击命令按钮,在文本框中显示的值是______。
A:
12
B:
13
C:
14
D:
15
答案:
A
评析:
数组的使用和For--Next循环
跟踪程序:
定义了一个二维数组array1,在循环体内,依次将i+j赋给array1(i,j),故array1(2,3)=2+3=5,array1(3,4)=3+4=7。
19、在窗体上画一个名称为List1的列表框,一个名称为Label1的标签。
列表框中显示若干城市的名称。
当单击列表框中的某个城市名时,在标签中显示选中城市的名称。
下列能正确实现上述功能的程序是______。
A:
PrivateSubList1_Click()
Label1.Caption=List1.ListIndex
EndSub
B:
PrivateSubList1_Click()
Label1.Name=List1.ListIndex
EndSub
C:
PrivateSubList1_Click()
Label1.Name=List1.Text
EndSub
D:
PrivateSubList1_Click()
Label1.Caption=List1.Text
EndSub
答案:
D
评析:
空
20、设组合框Combo1中有3个项目,则以下能删除最后一项的语句是______。
A:
Combo1.RemoveItemText
B:
Combo1.RemoveItem2
C:
Combo1.RemoveItem3
D:
Combo1.RemoveItemCombo1.Listcount
答案:
B
评析:
空
21、在窗体上画一个名称为List1的列表框,为了对列表框中的每个项目都能进行处理,应使用的循环语句为______。
A:
Fori=0ToList1.ListCount-1
……
NEXT
B:
Fori=0ToList1.Count-1
……
NEXT
C:
Fori=1ToList1.ListCount
……
NEXT
D:
Fori=1ToList1.Count
……
NEXT
答案:
A
评析:
ListCount的值表示列表框中项目的数量。
ListCount-1表示列表中最后一项的序号。
本题答案为A。
22、以下关于函数过程的叙述中,正确的是______。
A:
函数过程形参的类型与函数返回值的类型没有关系
B:
在函数过程中,过程的返回值可以有多个
C:
当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递
D:
如果不指明函数过程参数的类型,则该参数没有数据类型
答案:
A
评析:
空
23、窗体上有Command1、Command2两个命令按钮。
现编写以下程序:
OptionBase0
Dima()AsInteger,mAsInteger
PrivateSubCommand1_Click()
m=InputBox("请输入一个正整数")
ReDima(m)
EndSub
PrivateSubCommand2_Click()
m=InputBox("请输入一个正整数")
ReDima(m)
EndSub
运行程序时,单击Command1后输入整数10,再单击Command2后输入整数5,则数组a中元素的个数是______。
A:
5
B:
6
C:
10
D:
11
答案:
B
评析:
在一般情况下,下标的下界默认为0。
如果希望下标从1开始,可以通过OptionBase语句来设置,其格式为:
OptionBasen。
OptionBase语句用来指定数组下标的默认下界。
Redim[Preserve]变量(下标)As类型:
该语句用来重新定义动态数组,按定义的上下界重新分配存储单元,并可为定义的变量改变存储类型。
当重新分配动态数组时,数组中的内容将被清除,但如果在ReDim语句中使用了Preserve选择项,则不清除数组内容。
在ReDim语句中可以定义多个动态数组,但每个数组必须事先用"DimVariable()as…"或"PublicVariable()as…"这种形式声明,在括号中省略上下界,在用Redim语句重新定义时重新指定数据下标的上下界。
Redim语句只能出现在事件过程或通用过程中,用它定义的数组是一个"临时"数组,即在执行数组所在的过程时为数组开辟一定的内存空间,当过程结束时,这部分内存即被释放。
本题中,首先执行命令按钮Command1的单击事件,再执行命令按钮Command2的单击事件,在命令按钮Command2的单击事件中,数组a()被重新定义为数组a(5),原先数组中的内容被清除,程序中指定数组的默认下界为0,数组a(5)等价于a(0To5),因此含有6个元素。
故本题答案为B。
24、某人编写了如下程序,用来求10个整数(整数从键盘输入)中的最大值:
PrivateSubCommand1_Click()
Dima(1to10)AsInteger,maxAsInteger
Fork=1To10
a(k)=InputBox("输入一个整数")
Nextk
max=0
Fork=1To10
Ifa(k)>maxThen
max=a(k)
EndIf
Nextk
Printmax
EndSub
运行程序时发现,当输入10个正数时,可以得到正确结果,但输入10个负数时结果是错误的,程序需要修改。
下面的修改中可以得到正确运行结果的是______。
A:
把Ifa(k)>maxThen改为Ifa(k) B: 把max=a(k)改为a(k)=max C: 把第2个循环语句Fork=1To10改为Fork=2To10 D: 把max=0改为max=a(10) 答案: D 评析: 第一个For循环用来输入10个数,初始化数组a,第二个For循环用来求出数组a中的最大值。 变量max的初值被赋予0,当输入10个负数时,0是最大值,所以变量max的值就为0,结果当然是错误的。 根本原因就是变量max的初值有问题,如果变量max的初值为数组a中的成员,当输入10个负数时,所得到的最大值就是数组a中的最大值,所以选项D正确。 25、能够存放组合框的所有项目内容的属性是______。 A: Caption B: Text C: List D: Selected 答案: C 评析: 组合框的部分属性: Text: 文本属性。 其取值就是用户从组合框中选定的文本内容或直接输入的内容; List: 表属性。 返回或设置存放在组合框中的所有内容。 26、为达到把a、b中的值交换后输出的目的,某人编程如下: PrivateSubCommand1_Click() a%=10: b%=20 Callswap(a,b) Printa,b EndSub PrivateSubswap(ByValaAsInteger,ByValbAsInteger) c=a: a=b: b=c EndSub 在运行时发现输出结果错了,需要修改。 下面列出的错误原因和修改方案中正确的是______。 A: 调用swap过程的语句错误,应改为: Callswapa,b B: 输出语句错误,应改为: Print"a","b" C: 过程的形式参数有错,应改为: swap(ByRefaAsInteger,ByRefbAsInteger) D: swap中3条赋值语句的顺序是错误的,应改为a=b: b=c: c=a 答案: C 评析: 参数的传送分为两种: 一种是按值传送(ByVal),一种是按地址传送(ByRef),而ByRef是默认的传送方式。 按值传送时,不影响实参的值,而按地址传送则影响实参的值。 27、设在窗体中有一个名称为List1的列表框,其中有若干个项目(如图)。 要求选中某一项后单击Command1按钮,就删除选中的项,则正确的事件过程是______。 A: PrivateSubCommand1_Click() List1.Clear EndSub B: PrivateSubCommand1_Click() List1.ClearList1.ListIndex EndSub C: PrivateSubCommand1_Click() List1.RemoveItemList1.ListIndex EndSub D: PrivateSubCommand1_Click() List1.RemoveItem EndSub 答案: C 评析: List控件中ListIndex属性表示当前选中项目的索引,RemoveItem方法表示删除列表项。 二、操作题 1、在考生文件夹中有工程文件wy69.vbp及其窗体文件wy69.frm,该程序是不完整的,请在有? 号的地方填入正确内容,然后删除? 及所有注释符(即'号)但不能修改其他部分。 存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体上有一个列表框,名称为List1,一个文本框,名称为Text1,和一个命令按钮,名称为C1,标题为"复制"。 要求程序运行后,在列表框中自动建立四个列表项,分别为"Item1"、"Item2"、"Item3"、"Item4"如果选择列表框中的一项,则单击"复制"按钮时,可以把该项复制到文本框中(如图所示)。 评析: 1、该题考查考生对ListBox控件的使用,该控件显示项目列表,从其中可以选择一项或多项。 如果项目总数超过了可显示的项目数,就自动在ListBox控件上添加滚动条。 语法: ListBox MultiSelect属性: 返回或设置一个值,该值指示是否能够在FileListBox或ListBox控件中进行复选以及如何进行复选。 在运行时是只读的。 2、请根据以下的要求设计VisualBasic应用程序(包括界面和代码)。 在窗体上画一个列表框,名称为L1,通过属性窗口向列表框中添加四个项目,分别为"AAAA"、"BBBB"、"CCCC"和"DDDD",编写适当的事件过程。 程序运行后,如果单击列表框中的某一项,则该项就从列表框中消失。 程序的运行情况如图所示。 *注意: 存盘时必须存放在考生文件夹下,工程文件名为sjt8.vbp,窗体文件名为sjt8.frm。 评析: 列表框的ListIndex属性 用来设置或返回列表框中当前选中的列表项。 列表框的RemoveItem方法 用来删除列表框中的指定项目,其语法为: 列表框名.RemoveItem索引值 解题方法: 新建一个窗体,点击工具箱中的ListBox控件图标,然后在窗体上拖拉出一个列表框,通过属性窗口设置其Name属性为"L1",通过设置List属性为列表框添加"AAAA"、"BBBB"、"CCCC"和"DDDD"四个列表项。 打开代码窗口,输入如下的代码: PrivateSubL1_Click() L1.RemoveItemListIndex EndSub 按要求保存文件即完成本题。 3、请根据以下要求设计VisualBasic应用程序(包括界面和代码)。 在窗体上画一个列表框,名称为L1,通过属性窗口向列表框中添加四个项目,分别为"AAAA"、"BBBB"、"CCCC"和"DDDD",编写适当的事件过程。 程序运行后,每次单击列表框中的任何一项,则总在最后面添加一项"EEEE"。 程序的运行情况如图所示。 *注意: 存盘时必须存放在考生文件夹下,工程文件名为sjt10.vbp,窗体文件名为sjt10.frm。 程序中不得使用任何变量。 评析: 空 4、请根据以下要求设计VisualBasic应用程序(包括界面和代码)。 在窗体上画一个文本框,名称为Text1,Text属性为空白。 再画一个列表框,名称为L1,通过属性窗口向列表框中添加4个项目,分别为"AAAA"、"BBBB"、"CCCC"和"DDDD",编写适当的事件过程。 程序运行后,在文本框中输入一个字符串,如果双击列表框中的任一项,则把文本框中的字符串添加到列表框中。 程序的运行情况如图所示。 *注意: 存盘时必须存放在考生文件夹下,工程文件名为sjt12.vbp,窗体文件名为sjt12.frm 评析: 列表框的AddItem方法 用来在列表框中插入一行文本,其语法为: 列表框名.AddItem字符串[,索引值] 如果省略"索引值",则字符串被添加到列表框的尾部;使用"索引值"可以将字符串插入列表框中的指定位置。 "索引值"从0开始,到列表项总数-1止。 解题方法: 新建一个窗体,点击工具箱中的TextBox控件图标,然后在窗体上拖拉出一个文本框。 点击工具箱中的ListBox控件图标,然后在窗体上拖拉出一个列表框,通过属性窗口设置其Name属性为"L1",通过设置List属性为列表框添加"AAAA"、"BBBB"、"CCCC"和"DDDD"四个列表项。 打开代码窗口,输入如下的代码: PrivateSubL1_DblClick() L1.AddItemText1.Text EndSub 按要求保存文件即完成本题。 5、在考生文件夹下有工程文件wy60.vbp及窗体文件wy60.frm,该程序是不完整的,请在有? 号的地方填入正确内容,然后删除? 及所有注释符(即'号),但不能修改其它部分。 存盘时不得改变文件名和文件夹。 本题描述如下: 在名称为Form1的窗体上有一个La
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 测验 题目 参考答案