第1页共7页浙江大学城市学院2012—2013学年第二学期期中考试试卷《VB程序设计基础与VBA应用》开课单位:计算分院;考试形式:闭卷;考试时间:2013年5月5日所需时间:120分钟一、单选题(30%,每小题1分)(1)一个对象可以执行的动作和可被对象识别的动作分别称为。A.事件、方法B.属性、方法C.方法、事件D.过程、事件(2)在启动窗体时,为了初始化该窗体中的各控件,可选用窗体的事件。A.ClickB.DblClickC.LoadD.Unload(3)将VB编制的程序保存在磁盘上,至少会产生何种文件。A..vbp与.frmB..com与.exeC..bat与.frmD..doc与.txt(4)改变控件在窗体中的水平位置应修改该控件的属性。A.TopB.LeftC.WidthD.Right(5)以下条语句执行后将会删除文本框Text1中的文本?A.Text1.SelText=””B.Text1.Text=””C.Text1.ClearD.Text1.SelText.Clear(6)下面是日期型常量。A.12/19/99B.#12/19/99#C.12/19/99D.{12/19/99}(7)若x是一个正实数,对x的第3位小数四舍五入的表达式是。A.0.01*Int(x+0.005)B.0.01*Int(100*(x+0.005))C.0.01*Int(100*(x+0.05))D.0.01*Int(x+0.05)(8)下列函数中,返回值是字符串的是。A.ChrB.InStrC.ValD.Asc(9)假定flge是逻辑型变量,下面赋值语句中不正确的是。A.flge=0B.flge=”True”C.flge=34D.flge=’True’(10)不正确的VB常量是。A.123!B.&HABC&C.#1-1-03#D.&O18(11)表达式5Mod3+5\3的值等于。A.2B.3C.4D.5(12)要得到[1,50]之间的随机整数,可用式子。A.Int(50*Rnd)B.Int(49*Rnd)年级:_____________专业:___________________班级:________________学号:_______________姓名:__________________第2页共7页C.Int(49*Rnd)+1D.Int(50*Rnd)+1(13)先声明DimXAsString*10,再赋值X=”浙江”,最后Len(X)的值为。A.2B.4C.10D.12(14)数学式(xy+5)1/3写成VB表达式是。A.(x*y+5)^1/3B.(x*y+5)^(1\3)C.(x*y+5)^(1/3)D.(xy+5)^(1/3)(15)语句OptionBase1,决定数组下标界。A.下界必须为1B.下界必须为0C.缺省的下界为1D.缺省的下界为0(16)定义数组Dima(3,4)后,在缺省状态下,使用将出现下标越界错误。A.a(1,1)B.a(3,0)C.a(4,4)D.a(3,4)(17)以下条件语句错误的是。A.IfXThenY=Y+1B.IfX=0ThenY=0C.IfXYThenPrintYEndIfD.IfX0ThenY=1:PrintY(18)用Dimx,yAsBoolean语句声明变量,下列正确的是。A.x是变体型变量,y是布尔型变量B.x和y都是布尔型变量C.x是整型变量,y是布尔型变量D.x和y都是变体型变量(19)若变量i的初值为9,则下列循环语句的循环次数为次。DoWhilei=21i=i+3LoopA.3次B.4次C.5次D.6次(20)下列属性是所有控件的公共属性。A.Name和TagB.Name和EnabledC.Name和WidthD.Name和Visible(21)下列不能判断整型变量x是5的倍数的表达式是。A.5Modx=0B.Int(x/5)=(x/5)C.x/5=x\5D.xMod5=0(22)判断“Z比X、Y都大”的VB表达式为。A.ZXOrZYB.ZXAndYC.ZXAndZYD.ZXY(23)下列程序段的输出结果是。a=10:b=10000x=Log(b)/Log(a)Printlg(10000)=;xA.5B.lg(10000)=5C.4D.lg(10000)=4(24)x是Integer类型变量,无论x取何值,字符串表达式的长度为10。A.Space(10-Len(Str(x))+xB.Space(10-Len(Trim(Str(x))))+xC.Space(10-Len(x))&x第3页共7页D.Space(10-Len(Trim(Str(x))))&x(25)下面程序运行后的结果是。m=0Fori=1To10m=m+ii=i+1NextiPrintm,iA.死循环B.2510C.1611D.2511(26)下列程序段的执行结果是。n=1j=1DoWhilej=4n=n*jPrintn;j=j+1LoopA.12624B.2468C.14711D.1234(27)多分支选择结构的Case语句,写法错误的是。A.Case5To2B.Case1,3,5C.Case8To12D.CaseIs”man”(28)函数InStr(windowse,Mid(winnt,2,2))的返回值是。A.0B.1C.2D.3(29)对于一个标签控件有如下程序,双击标签后运行的结果是。PrivateSubLabel1_Click()Print2;EndSubPrivateSubLabel1_DblClick()Print4EndSubA.24B.2;4C.24D.4(30)VB算术运算符乘或除、整除、求余的优先级,从高到低依次为。A.乘或除、求余、整除B.乘或除、整除、求余C.整除、求余、乘或除D.整除、乘或除、求余二、程序匹配题(20%,每空2分)【说明】本大题有二个小题,每个小题有5条语句需要匹配,待匹配的语句写在程序的后面。根据题目的要求将待匹配的语句号填到答题卷上。1.在窗体上显示单击窗体的次数。第一次单击时,窗体上以红色显示“第1次单击窗体”;第二次单击时,窗体上以蓝色显示“第2次单击窗体”;第三次单击时,窗体上以绿色显示“第3次单击窗体”,第四次单击时,清除窗体上的信息。第五次单击的效果和第一次一样,以此类推,运行效果如图所示。第4页共7页【题1程序】(1).PrivateSubForm_Click()(2).Ifn=1ThenForm1.ForeColor=vbRedPrint第1次单击窗体ElseIfn=2Then(3).Print第2次单击窗体ElseIfn=3ThenForm1.ForeColor=vbGreen(4).ElseIfn=4ThenForm1.Cls(5).EndIfEndSub(1)n=0(2)DimnAsInteger(3)Form1.ForeColor=vbBlue(4)Print第3次单击窗体(5)n=n+12.从键盘输入一个字符串,然后将该字符串中的每个字符按ASCII码值的大小从小到大进行重新组合输出。如:输入abc123XYZ,处理后应输出123XYZabc。【题2程序】PrivateSubForm_Click()Dimc(100)AsStringDimnAsIntegerDimsAsString,ncAsString,tempAsStrings=InputBox(s=)(6).Fori=1Ton(7).NextiFori=1Ton-1Forj=i+1Ton(8).第5页共7页(9).c(i)=c(j)c(j)=tempEndIfNextjNextinc=Fori=1Ton(10).NextiPrintncEndSub(6)Ifc(i)c(j)Then(7)nc=nc+c(i)(8)temp=c(i)(9)n=Len(s)(10)c(i)=Mid(s,i,1)三、程序阅读题(20%,每小题4分)1.下列程序运行时单击Command1后,写出文本框Text1和Text2中Text的值。【程序】PrivateSubCommand1_Click()DimxAsInteger,nAsIntegerx=1Forn=4To2Step-1x=x*(x+1)NextnText1.Text=n=&nText2.Text=x=&xEndSub2.阅读下列程序,程序运行后,单击窗体,写出窗体上输出结果。【程序】PrivateSubForm_Click()Dimx(8)AsInteger,pAsIntegerDimiAsInteger,jAsIntegerFori=1To6x(i)=iNextiFori=1To8Step2p=1Forj=1Tox(i)p=p*jNextjPrintpNextiEndSub第6页共7页3.下列程序运行后,单击命令按钮后输出的结果是什么?【程序】PrivateSubCommand1_Click()DimiAsInteger,jAsInteger,nAsIntegern=5Fori=1TonPrintTab(n-i+1);Forj=1To2*i-1Step2PrintStr(i);NextjPrintNextiEndSub4.运行时,设文本框Text1.Text为空,在Text1获得输入焦点后,依次按下列按键:1、+、2、-、3、*、4、/、5分别写出文本框中和窗体上的输出结果。【程序】PrivateSubText1_KeyPress(kAsInteger)Ifk=Asc(0)Andk=Asc(9)Thenk=0PrintText1.TextEndIfEndSub5.单击窗体,从输入框InputBox输入一个整数7,写出窗体上显示的结果;再次单击窗体并输入一个整数9,写出窗体上显示的结果。【程序】PrivateSubForm_Click()DimiAsInteger,nAsInteger,PrimeAsStringn=Val(InputBox(n=))Ifn2ThenPrime=不是素数ElseFori=2Ton-1IfnModi=0ThenExitForNextiIfin-1ThenPrime=是素数ElsePrime=不是素数EndIfEndIfPrintn&PrimeEndSub第7页共7页四、程序设计题(30%,每小题10分)1.在窗体的Click事件中编写计算下列函数的程序,结果在窗体上打印出来。自变量x的值用InputBox函数输入。10x113x10x11-2x1xxy2.在窗体的Click事件中编写程序,从键盘输入变量n和x,求以下多项式的累加和。1)!(nx3!x2!xsn23.假设银行一年期利率是3.5%,求多少年本金能翻一番。可设本金为100元,计算一年存款的复利公式:一年后存款金额=(1+利率)*本金。程序写在Command1的Click事件中。