VB第5章数组和自定义类型复习进程_第1页
VB第5章数组和自定义类型复习进程_第2页
VB第5章数组和自定义类型复习进程_第3页
VB第5章数组和自定义类型复习进程_第4页
VB第5章数组和自定义类型复习进程_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Good is good, but better carries it.精益求精,善益求善。VB第5章数组和自定义类型-第5章数组和用户自定义类型一.例题与解析(1)在窗体上画一个名称为Command1的命令按钮,然后编写如下代码:OptionBase1PrivateSubCommand1_Click()d=0:c=10 x=Array(10,12,21,32,24)Fori=1To5Ifx(i)cThend=d+x(i)c=x(i)Elsed=d-cEndIfNextiPrintdEndSub程序运行后,单击命令按钮,则窗体上的输出结果为。A)89B)99C)23D)77【答案】C【解析】语

2、句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

3、(i)c的值为假,执行语句d=d-c,使得d的值为55-32=23。(2)在窗体画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:PrivateSubCommand1_Click()Dimarray1(10,10)AsIntegerDimi,jAsIntegerFori=1To3Forj=2To4array1(i,j)=i+jNextjNextiText1.Text=array1(2,3)+array1(3,4)EndSub程序运行后,单击命令按钮,在文本框中显示的值是。A)12B)13C)14D)15【答案】A【解析】根据程序,i=1时,j的值分别为

4、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()DimaDimiAsIntegera=Array(1,2,3,4,5,6,7,8,9)Fori=0To3Printa(5-i);NextEndSub程序运行后,单击命令按钮,则

5、在窗体上显示的是。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)AsIntegerA)6B)7C)8D)9【答案】D【解析】在声明数组的同时指定数组下标下界(如本例的-3)和下标上界(如本例的5),则数组A的元素分别是A(-3)、A(-2)、A(-

6、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)=qazD)A(1)=True【答案】B【解析】在声明数组时,没有指定数组下标下界,系统默认的下界值是0,则数组A的元素应该是A(0)、A(1)、A(2)、A(3)、A(4)、A(5)。使用A(6)会产生数组下标越界的错误。另外,在本题中声明数组A时省略了数据类型,则系统默认为Variant类型,即数组的每个元素可以存放不同类型的数据。(6)运行下列程序,单击窗体,则运行结果是。Option

7、Base1PrivateSubForm_Click()Dima(10)Fori=1To10a(i)=10-i+iMod2NextiFori=10To1Step-2Printa(i);NextiEndSubA)02468B)86420C)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,

8、0,当i是奇数时加1,因此a数组中的数是10,8,8,6,6,4,4,2,2,0,最后逆向间隔输出,输出的结果是0,2,4,6,8。(7)运行下列程序,单击窗体,则运行结果是。OptionBase1PrivateSubForm_Click()Dimaa=Array(1,5,abcde)Fori=1To3Printa(i);NextiEndSubA)15abcdeB)15abcdeC)出错信息D)15abcde【答案】A【解析】a是变体变量,使用Array函数进行数组初始化时,数组的各个元素类型可以不同;并且字符串输出是不带定界符(一对西文双引号)。(2)设窗体上有一个列表框控件List1,且其

9、中含有若干列表项。则以下能表示当前被选中的列表项内容的是。A)List1.ListB)List1.ListIndexC)List1.IndexD)List1.Text【答案】D【解析】列表框的Text属性的值是最后一次选中的列表项的文本;ListIndex属性的值是最后一次选中的列表项的Index值;List属性和Index属性均为数组。因而本题的正确答案是选项D。(3)为了清除列表框中的所有内容,应使用的方法是。A)ClsB)ClearC)RemoveD)RemoveItem【答案】B【解析】Cls和Remove不是列表框的方法;Clear方法用来删除列表框中的所有项目;RemoveItem

10、方法从列表框删除指定项目。(15)设置组合框的样式,可用的属性是。A)BackStyleB)BorderStyleC)StyleD)Sorted【答案】C【解析】组合框没有BackStyle和BorderStyle属性。组合框的Sorted属性控制列表项是否按序排列,若设置为True按升序排列,否则按加入先后顺序排列。组合框的Style属性控制组合框的样式,0为下拉式组合框,1为简单组合框,2为下拉式列表(只能选择不能输入)。二练习题1单项选择题(1)下面程序运行后,单击窗体,窗体输出为。OptionBase1PrivateSubForm_Click()x=Array(10,25,15,20,

11、25,25,50,40,50,60)p=x(1)Fori=2To10Ifx(i)pThenp=x(i)s=s+pEndIfNextiPrintp;sEndSubA)1010B)6070C)60135D)1065(2)在窗体上放一个命令按钮,并编写如下程序,运行后单击命令按钮,则输出结果是。PrivateSubCommand1_Click()DimAA=Array(1,2,3,4)S=0ForI=1To2S=S+A(I)PrintS;NextIEndSubA)25B)13C)5D)4(3)在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:PrivateSubCommand1_Cl

12、ick()Dimi,jAsIntegerDima(10,10)AsIntegerFori=1To3Forj=1To3a(i,j)=(i-1)*3+jPrinta(i,j);NextjPrintNextiEndSub程序运行后,单击命令按钮,窗体上显示的是。A)123B)234C)147D)123246345258456369456369789(4)设有如下程序PrivateSubForm_Click()Dimabc()AsIntegern1=Int(10*Rnd()n2=Int(10*Rnd()+50)ReDimabc(n1Ton2)PrintLBound(abc);UBound(abc)En

13、dSub运行程序后,多次单击窗体,则输出结果范围最大的两个数是A)1060B)1059C)059D)060(5)下面四个选项中,正确的用户定义类型是。A)DecabcB)DecabcxmAsStringxmAsString*4nlAsIntegernlAsIntegerxbAsBooleanxbAsBooleanEndDecEndDecC)TypeabcD)TypeabcxmAsStringxmAsString*4nlAsIntegernlAsIntegerxbAsBooleanxbAsBooleanEndTypeEndType(6)设有如下程序OptionBase1PrivateSubFor

14、m_Click()a=Array(张,刘,郝,陈,王)w=a(1)Fori=1To4a(i)=a(i+1)Nextia(5)=wFori=5To1Step-1Printa(i);NextiEndSub运行程序后,输出结果是。A)张王陈郝刘B)王陈郝刘张C)张刘郝陈王D)刘郝陈王张(7)有如下程序OptionBase1Dima()AsIntegerPrivateSubCommand1_Click()n=Val(InputBox(请输入数组的下界:)ReDima(n)s=0Forj=1Tona(j)=2*js=s+a(j)Nextjav=s/nForj=1TonIfa(j)avThenlag=la

15、g+1Elsesma=sma+1EndIfNextjPrintn;个数的平均值是;av;Print大于平均值的个数是;lag;小于平均值的个数是;smaEndSub运行程序后,当用户在输入对话框中输入3,按“确定”按钮后,输出结果是A)3个数的平均值是4大于平均值的个数是1小于平均值的个数是2B)3个数的平均值是5大于平均值的个数是1小于平均值的个数是2C)3个数的平均值是4大于平均值的个数是2小于平均值的个数是1D)3个数的平均值是5大于平均值的个数是2小于平均值的个数是1(8)有如下程序PrivateSubForm_Click()DimA(10)AsIntegerForJ=6To10A(J

16、)=InputBox(请按顺序输入1,2,3,4,5)NextJPrintA(0)+A(A(6)/A(10)EndSub运行时顺序输入1,2,3,4,5,输出的结果是A)0.2B)1.6C)0D)出错信息(9)在窗体上有一个命令按钮,然后编写如下事件过程。PrivateSubCommand1_Click()Dima(5)AsStringFORi=1To5a(i)=Chr(Asc(A)+(i-1)NextForEachbInaPrintb;NextEndSub程序运行后,单击命令按钮,输出结果是A)ABCDEB)12345C)abcdeD)出错信息(10)窗体上有一个名为List1的列表框,运行

17、程序后,若单击窗体,在列表框中顺序添加天津,北京,上海,南京,广州,深圳列表项,下面四组程序中,不能完成任务的是。A)OptionBase1PrivateSubForm_Click()a=Array(天津,北京,上海,南京,广州,深圳)Fori=1To6List1.AddItema(i)NextiEndSubB)OptionBase1PrivateSubForm_Click()a=Array(天津,北京,上海,南京,广州,深圳)Fori=6To1Step-1List1.AddItema(7-i)NextiEndSubC)OptionBase1PrivateSubForm_Click()a=Ar

18、ray(天津,北京,上海,南京,广州,深圳)Fori=6To1Step-1List1(i)=a(i)NextiEndSubD)PrivateSubForm_Click()List1.AddItem天津List1.AddItem北京List1.AddItem上海List1.AddItem南京List1.AddItem广州List1.AddItem深圳EndSub(11)下列程序运行时输出的结果是OptionBase1PrivateSubForm_Click()Dimx(10)AsInteger,y(5)AsIntegerFori=1to10 x(i)=10-i+1NextFori=1to5y(i

19、)=x(2*i-1)+x(2*i)NextFori=1to5Printy(i);NextEndSubA)37114519B)19151173C)13579D)不确定的值(12)阅读程序:OptionBase1Dimarr()AsIntegerPrivateSubForm_Click()DimiAsInteger,jAsIntegerReDimarr(3,2)Fori=1To3Forj=1To2arr(i,j)=i*2+jNextNextReDimPreservearr(3,4)Forj=3To4arr(3,j)=j+9NextPrintarr(3,2)+arr(3,4)EndSub程序运行后,

20、单击窗体,输出结果为A)21B)13C)8D)25(13)以下语句中可以选择指定的列表项或取消已选择的列表项的是。A)列表框.Selected(索引值)B)列表框.Selected(索引值)=True|FalseC)列表框.SelectedD)列表框.Selected=True|False(14)下列语句中,获得列表框List1中列表项个数的语句是。A)x=List1.ListCountB)x=ListCountC)x=List1.ListIndexD)x=ListIndex一、单项选择题答案CADCDAACACBABACCCCAABBCDBBBD二、填空题答案Type2空1:fn*k*(k+

21、1)或fn*(i*2)*(i*2+1)空2:-fx*x2空1:9空2:jmod3=0list1.textItemAItemCItemErnd*100空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)列表框的AddIte

22、m方法的作用是。A)清除列表框中的全部内容B)重新设置列表框控件外观C)向列表框添加项目D)显示列表框中的列表项目数(19)从列表框中删除一个项目使用方法。A)RemoveItemB)AddItemC)ClearD)Move(20)组合框可以看成是和文本框的组合。A)列表框B)命令按钮C)复选框D)单选按钮(21)在窗体上画一个列表框和一个命令按钮,其名称分别为List1和Command1,然后编写如下事件过程。PrivateSubForm_load()List1.AddItemItern1List1.AddItemItern2List1.AddItemItern3EndSubPrivateS

23、ubCommand1_Click()List1.List(List1.Listcount)=AAAAEndSub程序运行后,单击命令按钮,其结果为A)把字符串AAAA添加到列表框中,但位置不能确定B)把字符串AAAA添加到列表框的最后(即Item3的后面)C)把列表框中原有的最后一项改为AAAAD)把字符串AAAA插入到列表框的最前面(即Item1的前面)(22)在窗体上添加一命令按钮,其名为Command1,然后编写代码如下。privateSubCommand1_Click()Dimarr(5)AsInteger,arr1(5)AsIntegern=3Fori=1To5arr(i)=iarr

24、1(n)=2*n+iNextPrintarr1(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,然后为

25、该命令按钮编写如下事件过程,程序运行后,单击命令按钮,其结果为OptionBase1PrivateSubCommand1_Click()DimaAsVarianta=Array(1,2,3,4)j=1Fori=4To1Step-1s=s+a(i)*jj=j*10NextPrintsEndSubA)4321B)1234C)34D)12(26)下面程序运行后,输出的结果是Dimarr(3,3)Forj=1To3Fork=1To3Arr(j,k)=(j-1)*3+kNextkNextjForj=2To3Fork=2To3Printarr(k,j);NextkPrintNextjA)25B)58C)4

26、7D)5936695868(27)程序运行后,单击命令按钮,在窗体上显示的内容是OptionBase0PrivateSubCommand3_Click()Dimdd=Array(a,b,c,d)Printd(1);d(3)EndSubA)abB)bdC)acD)出错(28)窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。编写如下的代码:PrivateTypexaAsIntegerbAsIntegerEndTypePrivateSubCommand1_ClickDimyAsxy.a=inputBox()Ify.a2=y.a/2Theny.b=y.a*y.aElsey.

27、b=Fix(y.a/2)EndIfText1.Text=y.bEndSub对以上程序,下列叙述中错误的是A)x是用户定义的类型B)InputBox函数弹出的对话框中没有提示信息C)若输入的是偶数,y.b的值为该偶数的平方D)Fix(y.a/2)把y.a/2的小数部分四舍五入,转换为整数返回2填空题(1)用户可以用语句定义自己的数据类型。(2)组合框的Style属性决定了它的3种不同类型,其中使得组合框只能选择而不能输入数据的Style值为。(3)下列程序的功能是求sin(0.3125)的值。由台劳级数可知:sinx=x-x3/3!+x5/5!-x7/7!+用有限步取代sinx的无限步计算,请填空。(注意:不得增行或删行,也不得更改程序的结构!)PrivateSubForm_Click()k=2:n=80 x=0.3125sin1=0fn=1:fx=xFori=1Tonsin1=sin1+fx/fnfn=fx=k=k+2NextiPrintsin1EndSub(4)下列程序的功能是:计算并输出100以内的所有能被3整除且个位数是6的所有整数,请填空。(注意:不得增行或删行,也不得更改程序的结构!)PrivateSubForm_Click()DimiAs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论