1诚信应考考出水平考出风格浙江大学城市学院2012—2013学年第二学期期末考试题卷《VB程序设计基础与VBA应用》开课单位:计算分院;考试形式:闭卷;考试时间:2013年7月2日所需时间:120分钟题序一二三四总分得分评卷人一.单选题(本大题共30题,每题1分,共30分。)题号12345678910题号11121314151617181920题号21222324252627282930二.程序匹配题(本大题共2题10空,每空2分,共20分。)题号12345678910三.程序阅读题(本大题共5题,每题4分,共20分。)第1题:第2题:得分得分得分年级:_____________专业:_____________________班级:_________________学号:_______________姓名:__________________…………………………………………………………..装………………….订…………………..线………………………………………………………2第3题:第4题:第5题:四.程序设计题(本大题共3题,每题10分,共30分。)第1题:.SubForm_Click()DimnAsInteger,iAsInteger,yAsSingleEndSub得分3第2题:.Subf()EndSubPrivateSubForm_Click()Dima(10)AsSingle,x1AsSingle,x2AsSingleDimiAsIntegerFori=1To10a(i)=100*RndPrinta(i)NextiPrintCallf(a(),10,x1,x2)Printx1,x2EndSub4第3题:.Subtongji()EndSub5浙江大学城市学院2012—2013学年第二学期期末考试试卷《VB程序设计基础与VBA应用》开课单位:计算分院;考试形式:闭卷;考试时间:2013年7月2日所需时间:120分钟一、单选题(30%,每小题1分)1.当运行程序时,系统自动执行启动窗体的某个事件过程。这个事件过程是。A.LoadB.ClickC.UnloadD.GotFocus2.改变控件在窗体中的水平位置应修改该控件的属性。A.LeftB.WidthC.TopD.Right3.工程文件的扩展名为。A..frxB..basC..vbpD..frm4.下面是日期型常量。A.12/19/99B.12/19/99C.#12/19/99#D.{12/19/99}5.函数Int(Abs(99-100)/2)的值为。A.1B.”0”C.”1”D.06.可作为VisualBasic变量名的是。A.showB.4D+2C.2E3D.Alphi_17.声明符号常量应该用关键字。A.StaticB.ConstC.PrivateD.Variant8.数学式(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)9.取字符串Ax从第1个非空格符开始的连续5个字符,写作表达式。A.Mid(Ax,1,5)B.Mid(Trim(Ax),5)C.Left(Ax,5)D.Left(Trim(Ax),5)10.定义数组Dima(3,4)后,在缺省状态下,使用将出现下标越界错误。A.a(1,1)B.a(3,0)C.a(3,4)D.a(4,4)11.Function过程有别于Sub过程的最主要特点是。A.Function有形参而Sub没有年级:_____________专业:_____________________班级:_________________学号:_______________姓名:__________________…………………………………………………………..装………………….订…………………..线………………………………………………………6B.Function有实参而Sub没有C.Function可数值运算而Sub不能D.Function要返回函数值而Sub没有12.进入VBA界面,可以使用下列哪个快捷键。A.CTRL+F11B.SHIFT+F11C.ATL+F11D.F1113.若某过程声明为Subaa(nAsInteger),则以下调用正确的是。A.Callaa()B.Callaa(y)C.aa(y)D.z=aa(y)14.下列叙述中不正确的是。A.VBA只能用于ExcelB.VBA来源于VBC.VBA必须与应用程序结合D.VB可以独立开发应用程序15.在Excel中编制VBA程序时,会出现Excel的特有对象,下列哪个是特有对象。A.ThisWorkBookB.MicrosoftExcelC.sheet1至sheet3D.以上都是16.条件“m、n不同时为0”写作VB的表达式为。A.m=0Andn0B.m+n=0C.Not(m=0Andn=0)D.m*n=017.在语句SubFact(nasInteger)中n是一个按传递的参数。A.地址B.值C.变量D.常量18.以下关系表达式中,其值为True的是。A.XYZXYzB.VisualBasicVisualbasicC.the=thereD.NotInteger=Int19.下面子过程语句说明合法的是。A.Subf1(ByValn()AsInteger)B.Subf1(n()AsInteger)AsIntegerC.Functionf1(ByValnAsInteger)D.Functionf1(f1AsInteger)AsInteger20.下列程序段的执行结果是。n=1j=1DoWhilej=4n=n*jPrintn;j=j+1LoopA.1234B.14711C.2468D.1262421.运行下列程序段,其中“n=n+1”语句被执行的次数是。DimmAsInteger,nAsInteger7Form=1To3Forn=1To6Step2n=n+1PrintnNextnNextmA.3B.6C.9D.1822.若某过程声明为Subaa(nAsInteger),则调用实参与形参是按地址传递。A.Callaa(5)B.Callaa(n+1)C.Callaa(n)D.Callaa(i-1)23.单击Cmd1命令按钮,由Text1文本框获得x的值,根据以下条件计算y的值:当x0时,y的值为x的自然对数;当x=0时,y的值为x的绝对值,并将y的值显示在Label1中。以下能正确计算y值的程序是。A.x=Val(Text1.Text)y=Abs(x)Ifx0Theny=Log(x)Label1.Caption=yB.x=Val(Text1.Text)y=Log(x)Ifx=0Theny=Abs(x)Label1.Caption=yC.x=Val(Text1.Text)Ifx=0Theny=Log(x)Elsey=Abs(x)EndIfLabel1.Caption=yD.x=Val(Text1.Text)Ifx=0Theny=Abs(x)Elsey=Log(x)EndIfLabel1.Caption=y24.对文本框Text1编写如下的事件过程。程序运行后,将焦点置于文本框,如果在键盘上输入字母“a”,则窗体上显示的内容是。PrivateSubText1_KeyPress(KeyAsciiAsInteger)DimxAsStringx=Chr(KeyAscii)KeyAscii=Asc(Ucase(x))PrintString(4,KeyAscii)EndSubA.AB.BC.aaaaD.AAAA25.在VB的“声明”段有语句OptionBase1,那么用Dima(-1To2,3,4)语句声明的数组a包含的元素个数为。A.80B.36C.60D.4826-30.以下程序中有5条语句需要重新排序(语句开始标有字母的语句,未标的语句不要重排),使之成为程序。程序功能是在Excel中创建一个设置单元格常规字体和字号大小的过程。程序和可供选择的语句如下:8A.EndsubB.Submyfs()C.EndWith.FontStyle=Regular.Size=16D.WithSelection.FontE..Name=Arial二、程序匹配题(20%,每空2分)【说明】本大题有二个小题,每个小题有5条语句需要匹配,待匹配的语句写在程序的后面。根据题目的要求将待匹配的语句号填到答题卷上。1.从1到10000中找出这样的数,该数各个位的数字的阶乘相加之和等于该数,并将结果输出。已知fact函数用于计算阶乘。【程序】PrivateFunctionfact(ByValkAsInteger)AsLongDimiAsInteger______(1)______Fori=2Tokfact=fact*iNextiEndFunctionPrivateSubForm_Click()Dimkasinteger,aasstring,naslong,iasintegerDimpAsIntegerFork=1To10000______(2)______n=0Fori=1ToLen(a)______(3)____________(4)______Nexti______(5)______NextkEndSub(1)p=Val(Mid(a,i,1))(2)fact=1(3)Ifn=kThenPrintk(4)a=CStr(k)(5)n=n+fact(p)2.模仿Excel的条件格式设置,对工作表Sheet1的所有单元格,凡数值小于60的用红颜色显示。9【程序】PrivateSubCond_Format()DimiasLong,jasLong______(6)____________(7)____________(8)______If.Cells(i,j).Value60Then.Cells(i,j).Font.Color=GRB(255,0,0)______(9)____________(10)______NextiEndWithEndSub(6)Nextj(7)Forj=1to.Columns.Count(8)WithSheet1.UsedRange(9)EndIf(10)Fori=1to.Rows.Count三、程序阅读题(20%,每小题4分)1.下列程序运行时,单击窗体后,请写出窗体上显示的结果。【程序】PrivateSubForm_Click()DimxAsString,yAsString,dAsIntegerDimiAsInteger,nAsIntegerx=abcdefghijkld=Asc(a)-Asc(A)n=Len(x)y=i=2Doi=i+2y=y+Chr(Asc(Mid(x,i,1))-d)LoopWhileinPrinty=;yEndSub2.窗体上有命令按钮Command1。写出单击命令按钮,输入3后程序运行的结果。【程序】PrivateSubCommand1_Click()Dima()AsInteger,nAsIntegerDimiAsInteger,jAsInteger,tAsInteger10n=InputBox()ReDima(n)Fori=0Tona(i)=n*n-iNextiFori=0Ton-1Forj=i+1TonIfa(i)a(j)Thent=a(i):a(i)=a(j):a(j)=tEndIfNextjNextiFori=0TonPrinta(i)NextiEndSub3.阅读下列程序,单击命令按钮时,写出窗体显示的结果。【程序】PrivateFunctionf(mAsInteger)AsIntegerf=1DoWhilem0f=f*mm=m-1LoopEndFunctionPrivateSubForm_Click()DimnAsIntegern=3Printf(n)Printf(n+2)EndSub4.程序运行后,将焦点置于文本框Text1,在键盘上