南京工业大学vb期末题库3.doc
09vb模拟测试卷满分:70分姓名:_1、单项选择题(本题共计40分)1、VisualBasic是用于开发_环境下的应用程序的工具。 ( )A、DOSB、WindowsC、DOS和WindowsD、UNIX2、对象在响应某个事件时,计算机要执行一段程序,以完成相应的操作,这样的程序片段叫做 _过程。 ( )A、方法B、事件C、调动D、编译3、VisualBasic中的窗体文件的扩展名是_。 ( )A、.regB、.frmC、.basD、.vbp4、一只白色的足球踢进球门,则白色、足球、踢、进球门是_。 ( )A、属性、对象、方法、事件B、属性、对象、事件、方法C、对象、属性、方法、事件D、对象、属性、事件、方法5、下面_语句,可以将列表框List1中当前选定的列表项的值替换成“ABC”。 ( )A、List1.AddItem“ABC”,List1.ListIndexB、List1.Text=“ABC”C、List1.List(List1.ListIndex)=“ABC”D、前三项均可6、在VB中,下列关于控件的属性或方法中,搭配错误的有_个。Timer1.IntervalList1.ClsText1.PrintList1.RemoveItemVscroll1.ValuePicture1.Print ( )A、0B、1C、2D、37、当对象失去焦点时,将会发生_事件。 ( )A、GetFocusB、LostFocusC、FocusD、SetFocus8、对于一个含有计时器控件的窗体,每经过一段由_属性指定的时间间隔,就会产生一个Timer事件。 ( )A、NameB、EnabledC、CaptionD、Interval9、在设计列表框时,若实现输入多行文字的目的,应使用_键实现文本的换行。 ( )A、EnterB、Alt+EnterC、Ctrl+Shift+EnterD、Ctrl+Enter10、将数据项“China”添加到列表框(Listl)中成为第一项应使用_语句。 ( )A、Listl.Addltem "China",0B、Listl.Addltem "China",1C、Listl.Addltem 0,"China"D、Listl.Addltem 1,"China"11、函数Cint(3.5),Int(3.5),Fix(3.5)的值分别是_。 ( )A、-3,4,3B、-4,4,3C、-3,4,4D、-4,3,312、假定变量Logic类型是Boolean,下面赋值语句_是正确的。 ( )A、Logic = TrueB、Logic = .True.C、Logic = # True #D、Logic = 3<413、下列语句中不能正常执行的是_。 ( )A、print +32758+10B、print 5+9=15C、print "65"+12D、print "65"&1214、在窗体Form1上画两个文本框(Name属性分别为Fext1和Text2)和一个命令按钮(Name属性为Command1),程序如下。执行后结果为_。Private Sub Command1_Click()a=Text1.Text+Text2.TextPrint aEnd SubPrivate Sub Form_load()Text1.Text="123"Text2.Text="321"End Sub ( )A、444B、321123C、123321D、13223115、语句Print 4 + 56*7/8 Mod 9的值是_。 ( )A、4B、5C、6D、716、不能正确表示条件“两个整型变量X和Y之一为0,但不能同时为0”的布尔表达式是_。 ( )A、X*Y=0 And (X<>0 Or Y<>0)B、( X=0 Or Y=0 ) And (X<>0 Or Y<>0)C、Not ( (X=0 Or Y=0) And (X<>0 Or Y<>0) )D、X*Y=0 And X+Y<>017、i被j整除的逻辑表达式是_。 ( )A、i/j = 0B、ij = 0C、i<>0D、i mod j = 018、如果文本框的Enable属性被设置为False,则运行时_ . ( )A、文本框中的文本将变成灰色,并且此时用户不能将光标置于文本框上B、文本框中的文本将变成灰色,用户仍然能将光标置于文本框上,但是不能改变文本框中的内容C、文本框中的文本将变成灰色,用户仍能改变文本框中的内容D、文本框中文本正常显示,用户能将光标置于文本框上,但是不能改变文本框中的内容19、下列表达式中,值为True的是_。 ( )A、UCase("ABCD")>="abcd"B、14/23>10 MOD 4C、Mid(“ABCD”,2,2)>Left(“ABCD”,2)D、not(Sqr(4)-3>= -2)20、执行下面的程序,单击窗体后在窗体上显示的结果是_。Private Sub Form_Click()Dim Strl As String, Str2 As String,I As IntegerStr1=”ab”For I=Len(Str1)To 1 Step-1Str1=Str1&Chr(Asc(Mid(Str1,I,1)+I)Next IPrint Str1End Sub ( )A、abceB、abcdC、abdbD、abfd21、设有如下语句: strl=InputBox("输入","","练习")从键盘上输入字符串"示例"后,strl的值是_。 ( )A、“输入”B、“”C、“练习”D、“示例”22、假设X的值是5,则执行以下语句时,可得到的输出结果是 ABCDEF 的 SelectCase 语句是_。 ( )A、Select Case XCase 10 TO 1Print “ABCDEF”End SelectB、Select Case XCase Is>15, Is<5Print“ABCDEF”End SelectC、Select Case XCase Is>5, 1, 3, TO 10Print “ABCDEF”End SelectD、Select Case XCase 1, 3, Is>5Print “ABCDEF”End Select23、下面程序的内层循环次数是_。For i=1 TO 3For j=1 TO iFor k=j TO 3.Next kNext jNext i ( )A、3B、14C、9D、2124、下面程序段运行后,显示的结果是_。Dim xIf x Then Print x Else Print x +1 ( )A、1B、0C、-1D、显示出错信息25、在过程中有语句ForI=N1 To N2 Step N3,在该循环体内有下列四条语句,其中_会影响循环执行的次数。 N1=N1+I N2=N2+N3 I=I+N3 N3=2*N3 ( )A、B、C、D、26、以下语句中,不能正确执行的是_。 ( )A、If Optionl.Value ThenB、If Optionl.Value=True ThenC、Check1.Value=0D、Check1.Value=True27、以下程序段的输出结果是_。 <br />Dim B(2, 2) As Integer<br />Dim i, j, t As Integer<br />For i = 1 To 2<br /> For j = 0 To 2<br /> B(i, j) = j<br /> Next j<br />Next i<br />t = 1<br />For i = 0 To 2<br /> For j = 0 To 2<br /> t = t + B(i, B(j, j)<br /> Next j<br />Next i<br />Print t ( )A、3B、4C、1D、728、以下程序输出的结果是_。Dim aa=Array(1,2,3,4,5,6,7)For i=Lbound(a)To Ubound(a)a(i)= a(i)*a(i)Next iPrint a(i) ( )A、49B、0C、不确定D、程序出错29、Option Base 1Private Sub Command1_Click()Dim a%(3, 3)For i = 1 To 3For j = 1 To 3If j > 1 And i > 1 Thena(i, j) = a(a(i - 1, j - 1), a(i, j - 1) + 1Elsea(i, j) = i * jEnd IfPrint a(i, j); " "Next j参考答案1.b,2.b,3.b,4.b,5.c,6.c,7.b,8.d,9.d,10.a,11.b,12.d,13.a,14.c,15.b,16.c,17.d,18.a,19.c,20.c,21.d,22.a,23.b,24.a,25.c,26.d,27.d,28.d,29.a,30.d,31.b,32.b,33.a,34.b,35.c,36.a,37.b,38.a,39.d,40.d1.2*sin(x)+3*cos(x)+tan(2*x)+log(x)*log(y),2.Dim t as Double,term=term+t,3.Bb,BbCcEe,4. Bb,BbCcEe 5.dim x(),x(1 to 20),6.List1.AddItem k,x*fact(x-1),7.x2=0 y2=1,x4=1 y4=3,8. ValuePrintNext iEnd Sub ( )A、1 2 32 3 13 2 3B、1 2 31 2 31 2 3C、1 2 32 4 63 6 9D、1 1 12 2 23 3 330、在窗体的通用声明处有语句Dim A() As Single,以下在某事件过程中重定义此数组的一组正确语句是:_。 ( )A、ReDim A(3,3)<BR /> ReDim A(4,4) As IntegerB、ReDim A (3,3)<BR /> ReDim Preserve A (4,4)C、ReDim A(3)<BR /> ReDim A(3,3) As IntegerD、ReDim A (3,3)<BR /> ReDim Preserve A(3,4)31、下列有关数组的说法中,不正确的是_。 ( )A、在窗体模块中不可以定义全局数据组B、可以使用Erase语句释放所有数组所占据的存储储空间C、语句Dim X(3.6+2)As Integer定义了一个维上界是6的一维的整型数组D、形参数组的类型可以是定长符串类型32、在窗体模块的通用声明处用下面的语句声明变量、数组,正确语句有_个。Public A(5) As IntegerPublic N As IntegerPublic St As StringPrivate b() As Integer ( )A、2B、3C、4D、133已经删除34此处34已经删除35、已经删除36已经删除37、一般来说,当变量名称相同而作用域不同时,局限性_的变量总会用"阴影"遮住局限性不太大的变量。 ( )A、大B、小C、更小D、比较小38、名为sort的Sub子过程的形式参数为一数组,以下的定义语句中正确的是_。 ( )A、Private Sub sort(A( )As Integer)B、Private Sub sort(A(10)As Integer)C、Private Sub sort(By Val A( ) As Integer)D、Private Sub sort(A( , )As Integer)39、下面子过程语句说明合法的是_。 ( )A、Sub f1(ByVal n%()B、Sub f1(n%)As IntegerC、Function f1%(f1%)D、Function f1(ByVal n%)40已经删除2、填空题(本题共计30分)1、2Sinx+3Cosx+Tan2x+LnxLny的VB表达式为_2*sin(x)+3*cos(x)+tan(2*x)+log(x)*log(y)_2、以下程序可计算自然数e的值,要求精确到10(-15)请将程序补充完整。已知e的计算公式为e=1+1/1!+1/2!+.+1/n!。Private Sub Command1_Click()_ Dim t as Double_n=0:term=1:t=1Don=n+1t=t/n_ term=term+t _Loop While t>1.0E-15Text1.Text=termEnd Sub3、执行下面的程序,单击窗体后在窗体上显示的第一行结果是_ Bb_;第三行结果是_ BbCcEe _。Private Sub Form_Click( )Dim Mystr As String, Mystr1 As String, Mystr2 As StringMystr1 ="B"for i = 1 To 3Mystr2 = Lcase(Mystr1)Mystr1 = Mystr1 + Mystr2Mystr = Mystr + Mystr1Print MystrMystr1 = Chr(Asc(Mystr1) + I)Next iEnd Sub4、下面的程序用"冒泡"法将数组a中的10个整数按升序排列,请将程序补充完整。Option Base 1Private Sub Command1_Click( )Dim a,i,j,k As Integera=Array(678,45,324,528,439,387,87,875,273,823)For i=_1 to 9_For j=_ i+1 to 10_If a(i)_ >=_a(j) Thena1=a(j):a(j)=a(i):a(i)=a1End IfNext jNext ifor k=1 To 10Print a(k);Next kEnd Sub5、以下程序代码将整型动态数组X声明为具有20个元素的数组,并给数组的所有元素赋值._ dim x()_ as integerprivate sub command1_click()redim _ x(1 to 20)_for i=1 to 20x(i)=1print x(i)next iend sub6、下程序的功能是找出此数各位数字的阶乘相加之和等于该数,并在列表框List1中显示。阶乘由Function计算。在(1)、(2)处填上正确内容。Private Sub Command1_Click( )For k=1 To 1000a=LTrim(Str(k)n=0For i=1 To Len(a)p=Val(Mid(a,i,1)n=n+fact(p)Next iIf n=k Then_ List1.AddItem k_Next kEnd SubPrivate Function fact(x)if x<=1 Thenfact=1Elsefact=_x*fact(x-1)_End IfEnd Function7、运行下面程序,单击窗体后在窗体上显示的第二行结果是 _x2=0 y2=1_ ;第四行结果是 _ x4=1 y4=3_。Dim y As IntegerPrivate Sub Form_Click()Dim x As Integerx = 1: y = 1Print "x1=" x, "y1=" yTestPrint "x4=" x, "y4=" yEnd SubPrivate Sub Test()Dim x As IntegerPrint "x2=" x, "y2=" yx = 2: y = 3Print "x3=" x, "y3=" yEnd Sub8、滚动条的_ Value _ 属性表示滚动条内滑块所处位置所代表的值。