VB第5章 数组和自定义类型.docx

上传人:b****5 文档编号:7423760 上传时间:2023-01-23 格式:DOCX 页数:19 大小:36.49KB
下载 相关 举报
VB第5章 数组和自定义类型.docx_第1页
第1页 / 共19页
VB第5章 数组和自定义类型.docx_第2页
第2页 / 共19页
VB第5章 数组和自定义类型.docx_第3页
第3页 / 共19页
VB第5章 数组和自定义类型.docx_第4页
第4页 / 共19页
VB第5章 数组和自定义类型.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

VB第5章 数组和自定义类型.docx

《VB第5章 数组和自定义类型.docx》由会员分享,可在线阅读,更多相关《VB第5章 数组和自定义类型.docx(19页珍藏版)》请在冰豆网上搜索。

VB第5章 数组和自定义类型.docx

VB第5章数组和自定义类型

第5章数组和用户自定义类型

一.例题与解析

(1)在窗体上画一个名称为Command1的命令按钮,然后编写如下代码:

OptionBase1

PrivateSubCommand1_Click()

d=0:

c=10

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

Fori=1To5

Ifx(i)>cThen

d=d+x(i)

c=x(i)

Else

d=d-c

EndIf

Nexti

Printd

EndSub

程序运行后,单击命令按钮,则窗体上的输出结果为。

A)89B)99C)23D)77

【答案】C

【解析】语句OptionBase1使得数组的下标从1开始,因此,语句x=Array(10,12,21,32,24)使得数组x各元素的值分别为:

x

(1)=10,x

(2)=12,x(3)=21,x(4)=32,x(5)=24。

当i为1时,x(i)>c的值为假,执行语句d=d-c,使得d的值为-10;i为2时,x(i)>c的值为真,执行语句d=d+x(i)和c=x(i),使得d和c的值分别为2和12;i为3时,x(i)>c的值为真,执行语句d=d+x(i)和c=x(i),使得d和c的值分别为23和21;i为4时,x(i)>c的值为真,执行语句d=d+x(i)和c=x(i),使得d和c的值分别为55和32;i为5时,x(i)>c的值为假,执行语句d=d-c,使得d的值为55-32=23。

(2)在窗体画一个名称为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)12B)13C)14D)15

【答案】A

【解析】根据程序,i=1时,j的值分别为2、3、4,则array(1,2)=3,array(1,3)=4,array(1,4)=5;i=2时,j的值分别为2、3、4,则array(2,2)=4,array(2,3)=5,array(2,4)=6;i=3时,j的值分别为2、3、4,则array(3,2)=5,array(3,3)=6,array(3,4)=7。

因此文本框内显示的值应该为12。

(3)设有如下程序:

PrivateSubCommand1_Click()

Dima

DimiAsInteger

a=Array(1,2,3,4,5,6,7,8,9)

Fori=0To3

Printa(5-i);

Next

EndSub

程序运行后,单击命令按钮,则在窗体上显示的是。

A)4321B)5432C)6543D)7654

【答案】C

【解析】数组a初始化后,数组各元素的值分别是:

a(0)=1,a

(1)=2,a

(2)=3,a(3)=4,a(4)=5,a(5)=6,a(6)=7,a(7)=8,a(8)=9。

For循环内的Print语句在同一行输出元素a(5)、a(4)、a(3)、a

(2)的值,即6、5、4、3。

(4)用下面语句定义的数组的元素个数是。

DimA(-3To5)AsInteger

A)6B)7C)8D)9

【答案】D

【解析】在声明数组的同时指定数组下标下界(如本例的-3)和下标上界(如本例的5),则数组A的元素分别是A(-3)、A(-2)、A(-1)、A(0)、A

(1)、A

(2)、A(3)、A(4)、A(5),共9个元素。

(5)设有如下数组声明语句,则下列对数组元素的引用中错误的是。

DimA(5)

A)A(0)=1.57B)A(6)=12C)A(5)="qaz"D)A

(1)=True

【答案】B

【解析】在声明数组时,没有指定数组下标下界,系统默认的下界值是0,则数组A的元素应该是A(0)、A

(1)、A

(2)、A(3)、A(4)、A(5)。

使用A(6)会产生数组下标越界的错误。

另外,在本题中声明数组A时省略了数据类型,则系统默认为Variant类型,即数组的每个元素可以存放不同类型的数据。

(6)运行下列程序,单击窗体,则运行结果是。

OptionBase1

PrivateSubForm_Click()

Dima(10)

Fori=1To10

a(i)=10-i+iMod2

Nexti

Fori=10To1Step-2

Printa(i);

Nexti

EndSub

A)02468B)86420

C)13579D)97531

【答案】A

【解析】本题要注意两点:

第一个For语句的循环体有一条a(i)=10-i+iMod2语句,完成数组元素的生成;另外,第二个For语句的参数是10To1Step-2,逆向间隔输出。

计算数组元素中Mod运算符优先,当i是奇数时,iMod2的值为1,当i是偶数时,iMod2的值为0,10-i在循环中得到987,6,5,4,3,2,1,0,当i是奇数时加1,因此a数组中的数是10,8,8,6,6,4,4,2,2,0,最后逆向间隔输出,输出的结果是0,2,4,6,8。

(7)运行下列程序,单击窗体,则运行结果是。

OptionBase1

PrivateSubForm_Click()

Dima

a=Array(1,5,"abcde")

Fori=1To3

Printa(i);

Nexti

EndSub

A)15abcdeB)15"abcde"

C)出错信息D)1

5

abcde

【答案】A

【解析】a是变体变量,使用Array函数进行数组初始化时,数组的各个元素类型可以不同;并且字符串输出是不带定界符(一对西文双引号)。

(2)设窗体上有一个列表框控件List1,且其中含有若干列表项。

则以下能表示当前被选中的列表项内容的是。

A)List1.ListB)List1.ListIndex

C)List1.IndexD)List1.Text

【答案】D

【解析】列表框的Text属性的值是最后一次选中的列表项的文本;ListIndex属性的值是最后一次选中的列表项的Index值;List属性和Index属性均为数组。

因而本题的正确答案是选项D。

(3)为了清除列表框中的所有内容,应使用的方法是。

A)ClsB)ClearC)RemoveD)RemoveItem

【答案】B

【解析】Cls和Remove不是列表框的方法;Clear方法用来删除列表框中的所有项目;RemoveItem方法从列表框删除指定项目。

(15)设置组合框的样式,可用的属性是。

A)BackStyleB)BorderStyle

C)StyleD)Sorted

【答案】C

【解析】组合框没有BackStyle和BorderStyle属性。

组合框的Sorted属性控制列表项是否按序排列,若设置为True按升序排列,否则按加入先后顺序排列。

组合框的Style属性控制组合框的样式,0为下拉式组合框,1为简单组合框,2为下拉式列表(只能选择不能输入)。

二.练习题

1.单项选择题

(1)下面程序运行后,单击窗体,窗体输出为。

OptionBase1

PrivateSubForm_Click()

x=Array(10,25,15,20,25,25,50,40,50,60)

p=x

(1)

Fori=2To10

Ifx(i)>pThen

p=x(i)

s=s+p

EndIf

Nexti

Printp;s

EndSub

A)1010B)6070C)60135D)1065

(2)在窗体上放一个命令按钮,并编写如下程序,运行后单击命令按钮,则输出结果是。

PrivateSubCommand1_Click()

DimA

A=Array(1,2,3,4)

S=0

ForI=1To2

S=S+A(I)

PrintS;

NextI

EndSub

A)25B)13C)5D)4

(3)在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:

PrivateSubCommand1_Click()

Dimi,jAsInteger

Dima(10,10)AsInteger

Fori=1To3

Forj=1To3

a(i,j)=(i-1)*3+j

Printa(i,j);

Nextj

Print

Nexti

EndSub

程序运行后,单击命令按钮,窗体上显示的是。

A)123B)234C)147D)123

246345258456

369456369789

(4)设有如下程序

PrivateSubForm_Click()

Dimabc()AsInteger

n1=Int(10*Rnd())

n2=Int(10*Rnd()+50)

ReDimabc(n1Ton2)

PrintLBound(abc);UBound(abc)

EndSub

运行程序后,多次单击窗体,则输出结果范围最大的两个数是

A)1060  B)1059  C)059  D)060

(5)下面四个选项中,正确的用户定义类型是。

A)DecabcB)Decabc

xmAsStringxmAsString*4

nlAsIntegernlAsInteger

xbAsBooleanxbAsBoolean

EndDecEndDec

C)TypeabcD)Typeabc

xmAsStringxmAsString*4

nlAsIntegernlAsInteger

xbAsBooleanxbAsBoolean

EndTypeEndType

(6)设有如下程序

OptionBase1

PrivateSubForm_Click()

a=Array("张","刘","郝","陈","王")

w=a

(1)

Fori=1To4

a(i)=a(i+1)

Nexti

a(5)=w

Fori=5To1Step-1

Printa(i);

Nexti

EndSub

运行程序后,输出结果是。

A)张王陈郝刘B)王陈郝刘张C)张刘郝陈王D)刘郝陈王张

(7)有如下程序

OptionBase1

Dima()AsInteger

PrivateSubCommand1_Click()

n=Val(InputBox("请输入数组的下界:

"))

ReDima(n)

s=0

Forj=1Ton

a(j)=2*j

s=s+a(j)

Nextj

av=s/n

Forj=1Ton

Ifa(j)>avThen

lag=lag+1

Else

sma=sma+1

EndIf

Nextj

Printn;"个数的平均值是";av;

Print"大于平均值的个数是";lag;"小于平均值的个数是";sma

EndSub

运行程序后,当用户在输入对话框中输入3,按“确定”按钮后,输出结果是

A)3个数的平均值是4大于平均值的个数是1小于平均值的个数是2

B)3个数的平均值是5大于平均值的个数是1小于平均值的个数是2

C)3个数的平均值是4大于平均值的个数是2小于平均值的个数是1

D)3个数的平均值是5大于平均值的个数是2小于平均值的个数是1

(8)有如下程序

PrivateSubForm_Click()

DimA(10)AsInteger

ForJ=6To10

A(J)=InputBox("请按顺序输入1,2,3,4,5")

NextJ

PrintA(0)+A(A(6))/A(10)

EndSub

运行时顺序输入1,2,3,4,5,输出的结果是

A)0.2B)1.6C)0D)出错信息

(9)在窗体上有一个命令按钮,然后编写如下事件过程。

PrivateSubCommand1_Click()

Dima(5)AsString

FORi=1To5

a(i)=Chr(Asc("A")+(i-1))

Next

ForEachbIna

Printb;

Next

EndSub

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

A)ABCDEB)12345C)abcdeD)出错信息

(10)窗体上有一个名为List1的列表框,运行程序后,若单击窗体,在列表框中顺序添加"天津","北京","上海","南京","广州","深圳"列表项,下面四组程序中,不能完成任务的是。

A)OptionBase1

PrivateSubForm_Click()

a=Array("天津","北京","上海","南京","广州","深圳")

Fori=1To6

List1.AddItema(i)

Nexti

EndSub

B)OptionBase1

PrivateSubForm_Click()

a=Array("天津","北京","上海","南京","广州","深圳")

Fori=6To1Step-1

List1.AddItema(7-i)

Nexti

EndSub

C)OptionBase1

PrivateSubForm_Click()

a=Array("天津","北京","上海","南京","广州","深圳")

Fori=6To1Step-1

List1(i)=a(i)

Nexti

EndSub

D)PrivateSubForm_Click()

List1.AddItem"天津"

List1.AddItem"北京"

List1.AddItem"上海"

List1.AddItem"南京"

List1.AddItem"广州"

List1.AddItem"深圳"

EndSub

(11)下列程序运行时输出的结果是

OptionBase1

PrivateSubForm_Click()

Dimx(10)AsInteger,y(5)AsInteger

Fori=1to10

x(i)=10-i+1

Next

Fori=1to5

y(i)=x(2*i-1)+x(2*i)

Next

Fori=1to5

Printy(i);

Next

EndSub

A)37114519B)19151173C)13579D)不确定的值

(12)阅读程序:

OptionBase1

Dimarr()AsInteger

PrivateSubForm_Click()

DimiAsInteger,jAsInteger

ReDimarr(3,2)

Fori=1To3

Forj=1To2

arr(i,j)=i*2+j

Next

Next

ReDimPreservearr(3,4)

Forj=3To4

arr(3,j)=j+9

Next

Printarr(3,2)+arr(3,4)

EndSub

程序运行后,单击窗体,输出结果为

A)21B)13C)8D)25

(13)以下语句中可以选择指定的列表项或取消已选择的列表项的是。

A)列表框.Selected(索引值)

B)列表框.Selected(索引值)=True|False

C)列表框.Selected

D)列表框.Selected=True|False

(14)下列语句中,获得列表框List1中列表项个数的语句是。

A)x=List1.ListCount

B)x=ListCount

C)x=List1.ListIndex

D)x=ListIndex

一、单项选择题答案

1.C

2.A

3.D

4.C

5.D

6.A

7.A

8.C

9.A

10.C

11.B

12.A

13.B

14.A

15.C

16.C

17.C

18.C

19.A

20.A

21.B

22.B

23.C

24.D

25.B

26.B

27.B

28.D

二、填空题答案

1.Type

2.2

3.空1:

fn*k*(k+1)或fn*(i*2)*(i*2+1)空2:

-fx*x^2

4.空1:

9空2:

jmod3=0

5.list1.text

6.ItemA

ItemC

ItemE

7.rnd*100

8.空1:

rnd*99+1空2:

a(i)mod5=0

(15)为了在列表框中使用Ctrl和Shift键进行多个列表项的选择,应将列表框的Multiselect属性设置为

A)0B)1C)2D)3

(16)能够存放组合框的所有项目内容的属性是

A)CaptionB)TextC)ListD)Selected

(17)在列表框中当前被选中的列表项的序号是由属性返回的。

A)ColumnsB)ListC)ListIndexD)ListCount

(18)列表框的AddItem方法的作用是。

A)清除列表框中的全部内容B)重新设置列表框控件外观

C)向列表框添加项目D)显示列表框中的列表项目数

(19)从列表框中删除一个项目使用方法。

A)RemoveItemB)AddItemC)ClearD)Move

(20)组合框可以看成是和文本框的组合。

A)列表框B)命令按钮C)复选框D)单选按钮

(21)在窗体上画一个列表框和一个命令按钮,其名称分别为List1和Command1,然后编写如下事件过程。

PrivateSubForm_load()

List1.AddItem"Itern1"

List1.AddItem"Itern2"

List1.AddItem"Itern3"

EndSub

PrivateSubCommand1_Click()

List1.List(List1.Listcount)="AAAA"

EndSub

程序运行后,单击命令按钮,其结果为

A)把字符串"AAAA"添加到列表框中,但位置不能确定

B)把字符串"AAAA"添加到列表框的最后(即"Item3"的后面)

C)把列表框中原有的最后一项改为"AAAA"

D)把字符串"AAAA"插入到列表框的最前面(即"Item1"的前面)

(22)在窗体上添加一命令按钮,其名为Command1,然后编写代码如下。

privateSubCommand1_Click()

Dimarr(5)AsInteger,arr1(5)AsInteger

n=3

Fori=1To5

arr(i)=i

arr1(n)=2*n+i

Next

Printarr1(n);arr(n)

EndSub

程序运行后,单击命令按钮其结果为

A)311B)113C)133D)313

(23)设置组合框的风格,可用的属性是

A)BackstyleB)BorderstyleC)StyleD)Sorted

(24)设有数组定义语句:

Dima(5)AsInteger,List1为列表框控件。

下列给数组元素赋值的语句错误的是

A)a(3)=3B)a(3)=InputBox("inputdata")

C)a(3)=List1.ListIndexD)a=Array(1,2,3,4,5,6)

(25)在窗体上添加一命令按钮,名称为Command1,然后为该命令按钮编写如下事件过程,程序运行后,单击命令按钮,其结果为

OptionBase1

PrivateSubCommand1_Click()

DimaAsVariant

a=Array(1,2,3,4)

j=1

Fori=4To1Step-1

s=s+a(i)*j

j=j*10

Next

Prints

EndSub

A)4321B)1234C)34D)12

(26)下面程序运行后,输出的结果是

Dimarr(3,3)

Forj=1To3

Fork=1To3

Arr(j,k)=(j-1)*3+k

Nextk

Nextj

Forj=2To3

Fork=2To3

Printarr(k,j);

Nextk

Print

Nextj

A)25B)58C)47D)59

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1