《VB程序设计》复习题一、选择题1. 改变控件在窗体中的上下位置,应修改控件的__A属性A.TopB.LeftC.WidthD.Right2. 将通用对话框类型,设置为字体对话框,可修改该控件的D属性A.fontB.filenameC.filterD.action3. 标签控件最重要的属性是__AA.captionB.textC.nameD.width4. 文本框中选定的内容,由下列C属性反映A.TextB.CaptionC.SeltextD.sellenght5. 选中复选框控件时,value属性的值,可以是—DA.trueB.falseC.0D.16. 设置列表框选中的文本用D属性A.selectedB.captionC.textD.list7. 简单组合框的style值为BA.0B.1C.2D.38. 在文件列表框的实现文件的多重选择,应修改该控件的___D属性A.filenameB.pattemC.pathD.multiselect9. 语句listl.removeitem1将删除list.listindext等于D的项目A.0B.2C.3D.110. 计时器的interval属性为0时,表示A。
A. 计时器失效C.相隔0毫秒B. 相隔0秒D.计时器的enable属性为false11. 以下的vb常量中非法的是(B)a.“GoodLuck”b.PIc.1.5E-03d.16.341212. 要想返回文本框中输入的内容则可利用其(B)属性进行编程a.captionb.textc.named.righttoleft13. 下列不能用commondialog控件调用的对话框是(D)a.open/saveb.helpc.fontd.search14. vb应用程序是分层管理的,其最高的层次为(A)a.工程b.模块c.窗体d.过程第1页共17页VB程序设计》复习题15.vb程序设计中的窗体在oop中称为(C)a.屏幕b.事件c.对象d.控件16. 欲使某命令按钮失效,应修改命令按钮的(D)属性A.VisibleB.CaptionC.EnableD.Enabled17. 要使标签能透出窗体的背景,必须设置(A)属性A.BackStyleB.BorderStyleC.AppearanceD.BackColor18. 用鼠标拖动滚动条中滚动框并释放,将触发滚动条的(D)事件A.ScrollB.ChangeC.DragOverD.A和B19.组合框的类型由Style属性决定,简单组合框的Style属性值应为(B)A.0B.1C.2D.320.下面哪些控件不会影响到界面设计效果。
A)A.定时器B.文本框C.标签D.Line控件21. Clear方法适用于(D)控件A.图片框B.窗体C.复选框D.组合框22. 下列哪个变量的取法是不正确的(C)A.sTmeB.T_TempC.T12%D.T_1223. 如果要设置窗体的标题栏,应选择以下那种属性(B)A.NameB.CaptionC.TipsD.Text24. 如果要给字体加删除线,可以选择下列那种属性(C)A.FontNameB.FontSizeC.FontStrikethruD.FontUnderLine25. 下列哪个变量的取法是不正确的(D)A.TNameB.T_TempC.T32D.T32#26. 清除列表框的所有选项应选择下列哪种方法(A)A.ClearB.ClsC.ClearItemD.RemoveItem27. 下面哪些控件不会影响到界面设计效果C)A.LabelB.TextC.CommonDialogD.Frame28. 要使得窗体在出现之前就完成相关的程序设置可在(C)事件中进行编程A.linkopenB.KeyPressC.loadD.click29. 要使文本框中显示密码符有效,必须首先设置(B)属性。
A.TextB.MultiLineC.LockedD.Enabled30. 要在垂直位置上移动控件,应利用控件的(C)属性A.LeftB.WidthC.TopD.Height第2页共17页VB程序设计》复习题31. 下列表达式中,其值为0的是(C)A.7/9B.7mod15C.7\9D.15mod932. 一个对象可以执行的动作和可被对象识别的动作分别称为(A)A、事件、方法B、方法、事件C、属性、方法D、过程、事件33. 在窗体Form1的Click事件过程中有以下语句:Label1.Caption=”VisualBasic”若本语句执行之前,标签控件的Caption属性为默认值,则标签控件的Name属性和Caption属性在执行本语句之前的值分别为(B)A.”Label”、”Label”B、”Label1”、”VisualBasic”C、”Label1”、”Label1”D、”Caption”、”Label”34. (D)对象不具有Caption属性A、LabelB、OptionC、FormD、Timer35. Interger类型的变量可存的的最大整数是(D)A、250B、256C、32768D、3276736. 下列数据类型中,占用内存最小的是(B)。
A、BooleanB、ByteC、IntegerD、Single37. 已知A、B、C中C最小,则判断A、B、C可否构成三角形三条边长的逻辑表达式是(B)A、A>=BAndB>=CAndC>0B、A+C>BAndB+C>AAndC>0C、(A+C)>=CAndA-C<=C)AndC>0D、A+B>CAndA-B>CAndC>038. 下面(C)是日期型常量A、”12/19/99”B、12/19/99C、#12/19/99#D、{12/19/99}二、判断题:1. 全局变量用global或public关键字声明,且仅在通用声明处可以定义F)2. 如果某子程序add用publicstaticsubadd()定义,则该子程序的变量都是局部变量F)3. move方法的一般形式是:对象名.moveA,B[,C,D],其中A指Left,C指widthF)4. 清除list1列表框对象的内容的语句是list1.clsF)5. 清除combo1对象的内容是combo1.clearT)6. 对象的可见性用enabled属性设置,可用性用visible属性设置F)7. 滚动条控件不可作为用户输入数据的一种方法。
F)8. 只要用拖拽的方法,将工具箱中所需的控件拖到窗体上即可完成F)9. 控件是对象,而窗体不是对象,它只是控件对象的窗口F)10. TextBox与Label有许多共同特点,它们都能显示和输入文本F)11. 有的对象属性既可在属性窗口中设定又可在程序代码中设定T)12. 在框架控件内的几个单选按钮中,只能有一个单选按钮的Value属性为True.(T)13. 标签没有Change事件和SetFocus方法T)14. 事件过程与Sub过程,它们相同点都是事件驱动,而不同的只是事件过程由控件属性决定,而Sub过程是由户自定义F)15. Function函数有参数传递,并且一定有返回值F)16. 滚动条控件不可作为用户输入数据的方法T)17. Msgbox函数建立的信息框能显示信息又能输入用户的信息F)18. Dimi,jasinteger表明i和j都是整型变量F)19. 菜单每一菜单项都是控件,可以通过点击菜单项或通过光标选择并按回车键,以触发Click事件T)20. 某一过程中的静态变量在过程结束后,静态变量及其值可以在其它过程中使用F)21. 目录列表框中的列表项不可以通过Additem方法进行添加。
T)22. 在表达式中,运算符两端的数据类型要求一致T)23. VisualBasic程序的运行,仅能从某一窗体启动,如Form1窗体F)24. VB是一种面向对象的程序设计语言T)25. 在VB的工具栏中包括了所有的VB控件,我们不能再加载其他的控件F)26. 在VB中,文件菜单的“删除工程”的作用是将当前VB工程在硬盘中删除掉F)27. 有一个程序在属性窗口中设置了它的窗体字体大小为10号,而程序代码若设置了它的窗体字体大小为20号,那么当程序运行后实际的窗体字体大小为20号T)28. 所有的VB的变量,都有隐含说明字符和强调声明两种方法来定义F)29. 所有的控件在程序运行以后都是可见的F)30. 标签控件可以用来让用户输入数据F)31. 在框架控件上放置的控件可以移动到框架控件的外面F)32. 如果一个列表框一共有5个选项,而当选中第三项时,这时列表框的Listindex属性为2T)33. 单击并拖拽工具箱中所需的控件到窗体上即可完成添加控件任务F)34. 除了标准控件外,还可引入其它控件及第三方厂商研制的控件T)35. TextBox与Label有许多共同特点,它们都能显示和输入文本。
F)36. Listl.clear是清除Listl的全部列表项,所以Clear是对象的方法T)第7页共17页《VB程序设计》复习题37. 有的对象属性既可在属性窗口中设定又可在程序代码中设定T)38. 在框架控件内的几个单选按钮中,可有一个或多个单选按钮的Vilue属性为True.(F)39. Variant是一种特殊的数据类型,Variant类型变量可以存储除了定长字符串数据及自定义类型外的所有系统定义类型的数据Friant类型变量还可具有Empty、Error和Null等特殊值T)40. 窗体的Enabled属性值为False时,该窗体上的按钮、文本框等控件就不会对用户的操作做出反应T)41. 框架控件和形状控件都不能响应用户的鼠标的单击事件T)42. 在一个窗体的代码中不能使用Unload语句来卸载本窗体,即一个窗体只能由其它窗体卸载F)43. 当在一个简单组合框的文本框中输入一个它的列表框中的没有的条目时,组合框会自动反这一条目添加到它的列表框中F)44. 当定时器控件的interval属性值设置为0时,会连续不断地激发Timer事件F)45. 如果一个菜单项的Visible属性为False,则它的子菜单也不会显示。
T)三、填空题1. 如果要指明mystring为固定15个字长的全局变量,应该在标准模块中用以下说明语句定义:___Publicmystringasstring*152. 设X$=“abcl23456”则“a”+str$(val(right(X$,4)))的值是a34563. 拖动滚动条中的滚动框将会产生Scroll、___Change4. 请写出清除以下对象内容的语句:文本框Text1.text=””,窗体___Form1.Cls,列表框__List1.Clear,组合框___combol1.Clear5. 变量min@表示—货币数据变量类型的变量6. 如果:1=11:J=3:I=int(-8.6)+I\J+13/3MOD5,则I值是—-27. 请写出满足以下条件的VB表达式:0VXV10,X>0andx<10—X为[0-100]之间的数,能被2整除,但不能被3整除___x>=0andx<=100andxmod2=0andxmod3<>08. 下列循环语句控制的循环次数为0FORK=1TO10STEP-19. 表达式1and0的值(False)10. 设a=2,b=3,c=4,d=5,表达式(a>bXorbvc)ORbvdEQVavc的结果为True)11. a和b中有仅只有一个为1,相应的VisualBasic逻辑表达式为(a=1xorb=1)。
12. 设1=5,则由下列循环语句控制的循环次数是(6)DoI=I+2LoopWhileI<=1513. 表达式32\7MOD3A2的值是(4)14. PrivateSubcmdSum_Click()staticSumasintegerSum=2*Sum+1EndSub问:第三次单击命令按钮cmdSum后,Sum的值为:(7)15. 欲定义一个定长为10的字符串变量Mystr,可写成:(DimMystrasString*10)16. 下列表达式返回的值为True还是FalseTrue9>4+3Or5+3>10AndNot(4+2>5EQV3+5>2)17. 按照数据文件的存储方法的不同,文件可以分为三种不同的类型:___顺序文件、随机文件和二进制文件18. 下列循环语句控制的循环次数为___0FORK=1TO20STEP-219. VB表达式9A2MOD45\2*3的值420. 设x=2,y=4,a=4,b=6,表达式(a>xXorbvx)ORxvyIMPy1xorb<>1)22. 当x=2时,语句ifx=2thenPrintx=2的结果值是(True)。
23. 声明单精度常量g(重力加速度)代表9.8可写成:(constg=9.8)24. VB的工作模式可分为三种:“__设计___”、“__运行__”以及“_中断__”25. 由Fork=35to0step3:nextk循环语句控制的循环次数是(0)26. 想拥有“快捷键”这项功能,必须在“菜单编辑器”中增加一些特殊的设置,也就是在字母之前加上___&27. 若要在字符串asdgewl中取dge,则使用函数_(Mid$(asdgewl$,2,3)实现28. 设x为大于零的实数,则大于x的最小偶数的VisualBasic表达式是(iif(int(x)mod2=0,int(x)+2,int(x)+1))29. 设x的初值为5,则由下列循环语句控制的循环次数是(1)DoWhilex>=5x=x-1Loop在上程序中,若x的初值为-5,则循环次数为(0)30.sst=”ABC12DE”,则Vil(sst)=(0)四、程序阅读(假如所有的变量类型都已定义)1. 程序1FORJ=10TO5step—2K=J+1IfK<6thenexitforNEXTJPRINTK;J输出的结果__74___2. 程序2A=1:I=0SELECTCASEA*2CASE1A=A+1CASE2A=A+2CASEELSEA=A+3ENDSELECTA的值为__3__3. 程序4C=InputBox(“请输入字符串:”)p=””ForL=Len(c)To2Step-2P=Mid(C,L—1,2)+PNextLPrintPEndSub如果输入:ABCDEFG,则结果:BCDEFG4.程序4DimYAsIntegerPrivateSubCommand_Click()DimXAsIntegerX=1Y=1CallAA(Y+1)Z=BB(X)PrintX,Y,ZEndSubPrivateSubAA(ByValZAsInteger)Y=Z+XZ=X+YEndSubPrivateFunctionBB(ByRefYAsInteger)Y=Y+1BB=X+YEndFunction结果:2225.程序5PrivateSubCommand1_Click()DimSAsInteger,IAsIntegerS=0ForI=1To10IfZS(I)ThenIfI*2<=10ThenPrintStr(I*2)S=S+1ElseExitForEndIfEndIf第11页共17页VB程序设计》复习题Next1Prirt“S=”&Str(S)EndSubPublicFunctionZS(ByValXAsInteger)ASBooleanDimJAsIntegerJ=2DoWhileJ
结果为:s=18.程序8DimaAsIntegerPrivateSubCommand1_Click()StaticsAsIntegerIfs<5Thens=s+aElses=s*aEndIfa=sEndSubPrivateSubForm_Load()a=5EndSub当连续按三次Commandl按钮后,s的值6259.程序9PrivateSubForm_Click()Fori=lTo7PrintSpc(7-i);Ifi=1ThenPrint"*"ElsePrint"*";Spc(2*(i-1)-1);"*"EndIfNextiEndSub以上程序的输出结果:(32)10. 程序10PrivateSubForm_Click()Dimstr1,str2AsStringDimsAsStringDimiAsIntegerstr1="abcdefghijk"Fori=Len(str1)To1Step-2str2=str2&Mid(str1,i,1)NextikigecaEndSub以上程序运彳丁完成以后,str2的值为—11. 程序11DimYAsIntegerPrivateStubCommand_Click()DimXAsIntegerX=1Y=1CallAA(Y+1)Z=BB(X)PrintX,Y,ZEndSubPrivateSubAA(ByValZAsInteger)Y=Z+XEndSubPrivateFunctionBB(ByRefYAsInteger)Y=Y+1BB=X+YEndFunction结果:22212. 程序12privatesubForm_click()N=3DimA(3,3)AsIntegerForI=IToNForJ=IToNA(I,J)=(J—l)*N+INextJNextIForI=2ToNForJ=1ToI—1TEMP=A(I,J)A(I,J)=A(J,I)A(J,I)=TEMPNextJNextIForX=1ToNPrintX,A(X,N+X-I),A(X,X)NextXEndSub结果:10427813. 程序13PrivateSubCommand1_Click()N=0:x=1:y=0DoWhilex<20n=n+1y=x+yx=x*(x+1)LoopText1.Text="n="&Str(n)Text2.Text="x="&Str(x)Text3.Text="y="&Str(y)EndSub结果为:n=3x=42y=914. 程序14PrivateSubForm_Click()DimaAsInteger,bAsInteger,zAsIntegera=1b=1Forn=1To3z=chg(a,b)Form1.Print"n=";n,"z=",zNextnEndSubFunctionchg(aAsInteger,bAsInteger)AsIntegerDimnAsIntegerForn=0To2a=a+bNextnchg=aEndFunction写出程序运行时单击窗体后,Forml上的输出结果。
n=1z=4n=2z=7n=3z=l0l5.程序l5PrivateSubForm_Click()Dimx(5)AsIntegerx(l)=8x(2)=3x(3)=1x(4)=6x(5)=4Fori=1To4Forj=i+1To5Ifx(i)””ThenforI=0toCombol.ListCount-lIfCombol.List(i)=aThenCombol.RemoveItemiNextIEndIfCombol.SetFocusEndSub第17页共17页《VB程序设计》复习题2. 下列程序用于对输入的x和n的值,进行计算S=X/2!-X2/3!+x3/4!-x4/5!+....+(-l)n-lxn/(n+1)!PrivatefunctionFs(byvalxassingle.byvalnasinteger)assingleDimsumassingleDimremultiplyaslongDimIasintegerSum=0Remultiply=___II=lDountilI>nRemultiply=remultiply*ISum=sum+remultiplyI=I+l_loop___Fs=sumEndfunction3. 输入三个数,由大到小排序DimAAsIntegerDimBAsIntegerDimCAsIntegerPrivateSubForm_Click()DimnTempAsIntegerA=Val(InputBox("Pleaseinputfirstinteger","输入正整数"))B=Val(InputBox("Pleaseinputsecondinteger","输入正整数"))C=Val(InputBox("Pleaseinputthirdinteger","输入正整数"))IfA<=BThennTemp=A:A=B:B=nTempEndIfIfA<=CThennTemp=A:A=C:C=nTempEndIfIfB<=CThen第#页共17页VB程序设计》复习题nTemp=B:B=C:C=nTempEndIfPrint"Theintegersinorderis";A;B;CEndSub4. 歌德巴赫猜想:任何一个大于或等于六的偶数都可以分解成两个素数之和.PrivateSubCommand1_Click()DimiAsInteger,jAsInteger,kAsInteger,mAsIntegerDimnAsInteger,m1AsInteger,m2AsInteger,numnum=val(inputbox(“请输入要验证的整数范围最大值(MAX)”))Fori=6TonumStep2Forj=3Toik=(Int(Sqr(j)))Form=2TokIfjModm=0Then(ExitFor)NextmIfm>kThenn=i-jm1=(Int(Sqr(n)))Form2=2Tom1IfnModm2=0Then(Exitfor)Nextm2If(m2>m1)ThenPrinti;"=";j;"+";n;,EndIfNextjPrintNextiEndSub5. 从计算机输入三个数,找出中间数PrivateSubFindMidNum()X=INPUTBOX(“PLEASEINPUTTHEFIRSTNUMBER”)Y=INPUTBOX(“PLEASEINPUTTHESECONDNUMBER)Z=INPUTBOX(“PLESSEINPUTTHETHIRDNUMBER)第16页共17页VB程序设计》复习题IF(X=Z)THENPRINTYELSEIF(X>=Z)THENPRINTZELSEPRINTXENDIFEndSub6. [程序说明]由输入对话框输入n(设n为大于零且小于30的自然数),计算下列表达式的值,并在标签框Label1上显示。
[程序]PrivateSubForm_Click()DimnAsInteger,sumasDouble,kAsIntegern=Wl(InputBox(“n=”,”请输入自然数n(n>0且n<30)”))Do(Whilen<=0orn>=30)n=val(InputBox(“n=”,”请重输入”))LoopSum=0(k=0)dok=k+1sum=(sum+1/(k*(k+1)))LoopUntilk>=nLabel1.Caption=”Sum=”+Str(sum)EndSub第21页共17页。