VB程序设计试题及答案(一)一、单选题1.VB6.0是一种面向B的编程环境。(A)机器(B)对象(C)过程(D)应用2.要使FormI窗体的标题栏显示欢迎使用VB,以下D语句是正确的。(A)Forml.Caption=“欢迎使用VB”(B)Forml.Caption='欢迎使用VB'(C)Forml.Caption=欢迎使用VB(D)Forml.Caption=欢迎使用VB3.若要使命令按钮不可操作,要对A属性进行设置。(A)EnabIed(B)Visible(C)Backcolor(D)Caption4.如果在窗体上已经创建了一个文本框对象TextI,可以通过C事件获得输入键值的ASCII码。(A)Change(B)LostFocus(C)KeyPress(D)GotFocus5.下面A是合法的变量名。(A)X_yz(B)123ab。(C)integer(D)X-Y6.以下关系表达式中,其值为False的是A。(A)ABCAbC(B)女男(C)BASIC=UCase(basic)(D)123237.为了给x、y、z三个变量赋初值1,下面正确的赋值语句是A。(A)x=1:y=1:z=1(B)x=1,y=1,z=1(C)x=y=z=1(D)xyz=18.VB提供了结构化程序设计的三种基本结构,三种基本结构是D。(A)递归结构、选择结构、循环结构(B)选择结构、过程结构、顺序结构(C)过程结构、输入输出结构、转向结构(D)选择结构、循环结构、顺序结构9.下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是D。(A)Ifsex=男Andage=4OAndInStr(duty,教授)OThenn=n+l(B)Ifsex=男Andage=4OAnd(duty=教授Orduty=副教授)Thenn=n+l(C)Ifsex=男Andage=4OAndRight(duty,2)=教授Thenn=n+l(D)Ifsex=男Andage=4OAndduty=教授Andduty=副教授Thenn=n+l10.下列关于Do…Loop循环结构执行循环次数的描述正确的是D。(A)DoWhile…Loop循环和Do…LoopUntil循环至少都执行一次(B)DoWhile…Loop循环和Do…LoopUntil循环可能都不执行(C)DoWhile…Loop循环至少执行一次和Do…LoopUntil循环可能不执行(D)DoWhile…Loop循环可能不执行和Do…LoopUntil循环至少执行一次11.以下B是正确的For…Next结构。(A)Forx=1ToStep10(B)Forx=3To-3Step-3……NextxNextx(C)Forx=1To10(D)Forx=3to10step3re:……NextxNextyIfi=10ThenGoTOre12.如下数组声明语句,B是正确的。(A)Dima[3,4]AsInteger(B)Dima(3,4)AsInteger(C)Dima(n,n)AsInteger(D)Dima(34)AsInteger13.下列语句中(假定变量n有值),能正确声明可变长数组的是A。(A)Dima()AsInteger(B)Dima()AsIntegerReDima(n)ReDima(n)AsString(C)Dima()AsInteger(D)Dima(10)AsIntegerReDima(3,4)ReDima(n+10)ReDimPreservea(4,4)14.要想从子过程调用后返回两个结果,下面子过程语句说明合法的是C。(A)Subf2(ByValn%,ByValm%)(B)Subf1(n%,ByValm%)(C)Subf1(n%,m%)(D)Subf1(ByValn%,m%)15.设有如下程序段:PublicSubF1(n%)…n=3*n+4…EndSubPrivateSubCommand1_Click()Dimn%,m%n=3m=4…‘调用F1语句…EndSub则在Command1_Click事件中有效的调用语句是B。(A)CallF1(n+m)(B)CallF1(m)(C)CallF1(5)(D)CallF1(m+5)16.用来设置粗体字的属性是C。(A)FontItalic(B)FontName(C)FontBold(D)FontSize17.假定定时器的Interval属性为1000,Enabled属性为True,调用下面的事件过程,程序运行结束后变量x的值为D。DimxAsIntegerSubTimer1_Timer()Fori=1to10x=x+1NextiEndSub(A)1000(B)10000(C)10(D)以上都不对18.在下列关于通用对话框的叙述中,错误的是B。(A)CommonDialog1.ShowFont显示“字体”对话框(B)在“打开”或“另存为”对话框中,用户选择的文件名可以经FileTitle属性返回(C)在“打开”或“另存为”对话框中,用户选择的文件名机器路径可以经FileName属性返回(D)19.当用户按下并且释放一个键后会触发KeyPress、KeyUp和KeyDown事件,这三个事件发生的顺序是C。(A)KeyPress、KeyDown、KeyUp(B)KeyDown、KeyUp、KeyPress(C)KeyDown、KeyPress、KeyUp(D)没有规律20.在下面关于顺序文件的描述中,正确的是C。(A)顺序文件中每行的长度都是相同的。(B)可以通过编程对文件中的某行方便地进行修改(C)数据以ASCII码的形式存放在文件中,所以可通过记事本打开(D)文件的组织结构复杂21.随机文件是因为C。(A)文件中的内容是通过随机数产生的(B)文件中的记录号通过随机数产生的(C)可对文件中的记录根据记录号随机地读/写(D)文件的每条记录的长度是随机的22.从磁盘上读入一个文件名为“c:\t1.txt”顺序文件,如下A正确。(A)F=“c:\t1.txt”OpenFForInputAs#1(B)F=“c:\t1.txt”Open“F”ForInputAs#2(C)Open“c:\t1.txt”ForInputAs#1(D)Openc:\t1.txtForInputAs#223.坐标度量单位可由通过来D改变。(A)Drawstyle属性(B)DrawWidth属性(C)Scale方法(D)ScaleMode属性24.指令“Circle(1000,1000),500,8,-6,-3”将绘制A。(A)画圆(B)椭圆(C)圆弧(D)扇形25.用ADO数据控件建立与数据源的链接,设置操作过程按A顺序进行。①选择数据源连接方式;②选择数据库类型;③指定数据库文件名;④指定记录源(A)①②③④(B)②③④①(C)③①②④(D)①③②④二、填空题1.VB是建立在BASIC语言基础上的可见化编程语言或编程环境。2.在窗体上已建立多个控件如Text1、Label1、Command1,若要程序一运行时焦点就定位在Command1控件上,应对Command1控件设置TabIndex属性的值为0。3.在VB中,1234、123456&、1.2346E+5、1.2346D+5这4个常数分别表示整形、长整形、单精度、双精度类型。4.表示x是5的倍数或是9的倍数的逻辑表达式为xmod5=0orxmod9=0。5.数组声明时下标下界默认为0,利用OpationBase1语句可以使下标为1。6.传地址方式是当过程被调用时,形参和实参共享存储单元。7.窗体中的模块级变量应在窗口模块段声明,它作用于该窗体的全局范围。8.当用户单击滚动条的空白处时,滑块移动的增量值由LargeChange属性决定。9.如果菜单标题的某个字母前输入一个“&”符号,那么该字母就成了热键字母;如果建立菜单时在标题文本框中输入一个“-(减号)”符号,那么显示时形成一个分隔符。10.使用Scale方法可以自定义坐标系。11.使用Line方法画矩形,不许在指令中使用关键字B。12.使用SQL语句设置ADO控件的RecordSource属性,这CommandType属性需要设置成1(adCmdText)或者(adCmdUnknown)。13.为了显示一个窗体,所使用的方法为show;而为了隐藏一个窗体,所使用的方法为__Hide_____。14.如果要将某个命令按钮不显示,则可将___Visible________属性设置为False15.在VB中窗体文件的扩展名为_____.FRM______。三、编程应用题1.程序阅读,写出下列程序的运行结果。(1)PrivateSubCommand1_Click()Dima,i%,min%,imin%,sum%,t%a=Array(26,43,61,87,33,19,37,59,76,69)min=a(0):imin=0:sum=a(0)Fori=1toUBound(a)sum=sum+a(i)Ifa(i)minThenmin=a(i):imin=iNextit=a(0):a(0)=a(imin):a(imin)=tPrintsum;a(0)EndSub输出结果:51019(2)PrivateSubCommand1_Click()DimchasString*1ch="8"IfUCase(ch)="A"AndUCase="Z"Thenform1.Printch;"是字母字符"ElseIfch="0"Andch="9"Thenform1.Printch;"是数字字符"Elseform1.Printch;"是其他字符"EndIfEndSub输出结果:是数字字符(3)PublicSubProc(a%())Statici%Doa(i)=a(i)+a(i+1)i=i+1LoopWhilei2EndSubPrivateSubCommand1_Click()Dimm%,n%,x%(10)Fori=0to4:x(i)=i+1:NextiFori=1to2:CallProc(x):NextiFori=0to4:Printx(i);:NextiEndSub输出结果:357452.补充程序(1)如下是账号和密码输入的检验程序,运行界面如下图1所示。输入帐号和密码后,单击“检验密码”按钮,如果密码正确则程序结束,假定密码为“s001”;如果密码不正确,则弹出如下图2所示对话框,单击“取消”则程序结束,单击“重试”则返回图1窗体,且密码文本框Text2内容被清空,等待再次输入。补充完整如下程序。图1图2PrivateSubCommand1_Click()DimiAsIntegerIftext2.texts001Theni=MsgBox(密码错误,5+vbExclamation,警告)Ifi4ThenEndElseEndText2.SetFocusEndIfEndIfEndSub(2)以下是求最大公约数和最小公倍数的程序,使用的是辗转相除法,将程序补充完整。PrivateSubForm_Click()Dimm%,n%,t%n=InputBox(输入n)m=InputBox(输入m)IfmnThent=m:m=n:n=tEndIfr=mmodnDoWhiler0m=nn=rr=mModnLoopPrintm1;,;n1;的最大公约数为;nPrint最小公倍数=,m1*n1/nEndSub