第1页共13页1成都医学院2013学年第2学期课终考试本科《计算机应用基础》试卷(适用于全校所有本专科等专业)试卷代码:B卷题号一二三四总分复核人题分10453015100得分试卷说明:本试卷满分为100分,考试时间为120分钟。得分评阅教师一、单项选择题(1分/小题,共10分)1、标签的(A)属性设置为True时,标签控件的大小随标题文字自动调整.(A)AutoSize(B)Caption(C)Alignment(D)BackStyle2、CLS可清除窗体或图形框中的内容是(C)(A)Picture属性设置的背景图案(B)在设计时放置的控件(C)程序运行时产生的图形和文字(D)以上A~C全部3、RGB函数通过红.绿.蓝三基色混合产生某种颜色,某语法为RGB(红.绿.蓝),括号中红、绿、蓝三基色的成分使用0~255之间的整数.若使用三个滚动条分别输入三种基色,为保证输入数值有效,则应设置(A)属性.(A)Max和Min(B)Smallchange和LargeChange(C)Scroll和Change(B)Value4、要定义一个变量为全局变量,应使用(B)关键字.(A)Static(B)Public(C)Private(D)Sub5、下列程序段的运行结果(A)PrivateSubForm_Click()DimMsg装订线院系专业班级姓名学号第2页共13页2HideMsg=选择'确定'按钮MsgBoxMsgShowEndSub(A)隐藏窗体,按'确定'按钮使窗体重现(B)隐藏窗体(C)显示窗体,按'确定'按钮使窗体隐藏(D)显示窗体6、在窗体上添加一个命令按钮,编写如下代码:PrivateSubCommand1_ClickDimArr1(10)asInteger,Arr2(10)AsIntegerN=3Fori=1to5Arr1(i)=iArr2(n)=2*n+iNextiPrintArr2(n),Arr1(n)EndSub程序运行后,单击命令按钮,输出结果是(A)(A)113(B)311(C)133(D)3137、假设变量BOOLVAR是一个布尔型变量,则下面正确的赋值语句是(D).(A)BOOLVAR='TRUE'(B)BOOLVAR=.TRUE.(C)BOOLVAR=#TRUE#(D)BOOLVAR=348、执行下面程序段后,变量a的值为(C).ForI=1To3Forj=1ToIFork=jTo3a=a+1NextkNextjNextI第3页共13页3(A)3(B)9(C)14(D)219、下面选项中(D)是算术运算符.(A)%(B)And(C)&&(D)Mod10、以下正确的描述是:在VisualBasic应用程序中(B)(A)过程的定义可以嵌套,但过程的调用不能嵌套(B)过程的定义不可以嵌套,但过程的调用能嵌套(C)过程的定义过程的调用均可以嵌套(D)过程的定义过程的调用均不可以嵌套得分评阅教师二、程序阅读(3分/题,共45分)1、阅读下面程序,如有以下程序代码:PrivateSubCommand1_Click()DimnAsInteger,sAsLongn=Val(Text1.Text)s=0Fori=1Tons=s+fac(n)NextiLabel1.Caption=Str(s)EndSubFunctionfac(ByValnAsInteger)AsLongDimfAsLong,iAsIntegerf=1Fori=1Tonf=f*iNextifac=fEndFunction(1)运行程序后,在Text1里输入5,并单击“Command1”按扭,则输出的内容为(D)(A)1(B)4(C)18(D)600第4页共13页4(2)在窗体上定义了(B)控件(A)2(B)3(C)4(D)5(3)上述程序的功能是(D)(A)计算S=1+2+3+……+5(B)计算S=1!+2!+3!+……+5!(C)计算S=1!+(2!+2!)+(3!+3!+3!)+……+(5!+…+5!)(D)计算S=5!+5!+……+5!2、阅读下面程序,如有以下程序代码:PrivateSubCommand1_Click()DimxAsInteger,yAsInteger,zAsIntegerx=1:y=2:z=3L1:Callgod(x,x,z)Printx;x;zL2:Callgod(x,y,y)Printx;y;yEndSubL3:PrivateSubgod(xAsInteger,yAsInteger,zAsInteger)x=3*z+1y=2*zz=x+yEndSub(4)运行程序时,第一次单击命令按扭产生的结果是(A)(A)6612(B)66371111774(C)9612(D)81010910155910(5)如果将L2语句改为Callgod(x,(y),y),则程序运行程序时第一次单击窗体产生的结果是(A)(A)6612(B)66371111774(C)9612(D)81010910155910第5页共13页5(6)如果在原程序基础上只将L3语句中的zAsInteger改为ByValzAsInteger,则程序运行程序时第一次单击窗体产生的结果是(B)(A)6612(B)66371111744(C)9612(D)810109101559103、阅读下面程序,如有以下程序代码:OptionBase1Dima()PrivateSubc1_Click()ReDimPreservea(UBound(a)+1)n=Val(InputBox(请输入一个数))Forj=UBound(a)-1To1Step-1Ifna(j)ThenExitFora(j+1)=a(j)NextjLLL:a(j+1)=np1.Printp1.Print输入的数为:;np1.Print修改后的数组数据排列是:Fori=1ToUBound(a)p1.Printa(i);NextiEndSubPrivateSubForm_Load()a=Array(8,9,12,13,56,67,69,78,123,178)p1.Print原数组数据排列是:Fori=1ToUBound(a)p1.Printa(i);NextiEndSub(7)该程序的功能是(C)第6页共13页6(A)向指定位置插入数组元素(B)删除指定位置数组元素(C)插入一个数组列并按原序列输出(D)删除一个数组元素并按顺序排列(8)如果去掉LLL处的语句,再从键盘输入一个数字6,则程序运行结果为(B)(A)6,8,9,12,13,56,67,69,78,123,178(B)8,8,9,12,13,56,67,69,78,123,178(C)8,9,12,13,56,67,69,78,123,178,6(D)8,9,12,13,56,67,69,78,123,178,178(9)该程序在窗体上至少设置了几个控件?(B)(A)一个(B)二个(C)三个(D)四个4、阅读下面程序,如有以下程序代码PrivateSubText1_KeyPress(KeyAsciiAsInteger)StaticsAsIntegerDimcAsStringSelectCaseKeyAsciiCaseAsc(0)ToAsc(9)s=s+(KeyAscii-Asc(0))Case13PrintsText1.Locked=TrueEndSelectEndSub(10)若焦点位于文本框Text1中,则能够触发KeyPress事件的操作是(D)(A)单击鼠标(B)双击文本框(C)鼠标滑过文本框(D)按下键盘上的某个键(11)若焦点位于文本框Text1中,输入“3st4d28f”并按下回车键,则窗体上输出结果为(D)(A)0(B)4(C)8(D)17(12)若焦点位于文本框Text1中,输入“3st4d28f”并按下回车键,则以下说法正确的是(D)(A)文本框Text1消失(B)文本框Text1变灰(C)文本框Text1内容改变(D)文本框Text1不能被编辑第7页共13页75、阅读下面程序,如有以下程序代码DimsAsStringPrivateSubCommand1_Click()Openword.txtForInputAs#1LineInput#1,sText1.Text=sClose#1Text2.Text=wordcount(s)EndSubFunctionwordcount(sAsString)AsIntegerDimcntAsIntegerDimcAsStringDiminwordAsBooleancnt=0LL1:inword=FalseForn=1ToLen(s)LL2:c=Mid(s,n,1)IfNotinwordAndcThencnt=cnt+1inword=TrueElseIfinwordAndc=Theninword=FalseEndIfwordcount=cntNextEndFunction(13)程序中的“word.txt”文件打开是按(A)方式打开的(A)顺序文件读(B)顺序文件写(C)随机文件(D)二进制文件(14)Text2中显示的结果是(A)(A)2(B)3(C)9(D)4第8页共13页8(15)如果将语句LL1的位置移动到LL2处,Text2中显示的结果是(B)(A)6(B)11(C)39(D)40得分评阅教师三、程序填空(2分/空,30分)1、下面的程序用冒泡法将数组a中的10个整数按从小到大排列,请将程序补充完整。OptionBase1PrivateSubCommand1_Click()Dimaa=Array(-2,5,24,58,43,-10,87,75,27,83)Fori=10To2Step-1For【j=1toi-1、】If【a(j)=a(j+1)】Thena1=a(j+1)a(j+1)=a(j)a(j)=a1EndIfNextj【nexti】Fori=1To10Printa(i)NextiEndSub2、程序运行结果如图所示,请将程序补充完整。第9页共13页9PrivateSubForm_Click()DimIAsInteger,jAsIntegerDimstarAsStringstar=★ForI=1To6Form1.PrintTab(14-I*2);Forj=1To【I*2–1】Form1.Printstar;NextjForm1.PrintNextIForI=1To5Form1.PrintTab(【2+I*2】);Forj=1To(6-I)*2【-1】Form1.Printstar;NextjForm1.PrintNextIEndSub3、本程序功能为,单击窗体,Form1的输出结果为A1=10B1=20A2=20B2=10PublicSubSwap1【ByVal】xAsInteger,ByValyAsInteger)DimtAsIntegert=xx=yy=tEndSubPublicSubSwap2(xAsInteger,yAsInteger)DimtAsIntegert=xx=y第10页共13页10y=tEndSubPrivateSubForm_Click()DimaAsInteger,bAsIntegera=10b=20【Swap1】a,bForm1.PrintA1=;a,B1=;ba=10b=20【Swap2】a,bForm1.PrintA2=;a,B2=;bEndSub4、下面的程序段,用于实现在一个nXm的矩阵中,找出值最大的元素所在的行和列,并输出其值及行号和列号。PrivateSubForm_Click()Dimmat()AsIntegerDimnasinteger,mAsIntegern=Val(InputBox(请输入矩阵的行数))m=Val(InputBox(请输入矩阵的列数))【ReDimmat(n,m)AsInteger、】Fori=1TonForj=1Tommat(i,j)=InputBox(请输入数组元素值)mat(i,j)=Val(mat(i,j)