《VB期末考试题库及答案.doc》由会员分享,可在线阅读,更多相关《VB期末考试题库及答案.doc(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、试卷方案: Visual Basic期末考试方案一、单项选择_共50题(选:20题*1=20分)第1题以下有关对象属性的说法中,错误的是_.A. 工具箱中的控件并不是VB中所有的控件B. 若将Frame的Enabled属性设置为False,则不能使用放置在Frame里面的控件C. 对象的Name属性在运行时不能改变D. 对象的所有属性都可以在属性窗口中设置第2题数学表达式 的VB算术表达式为_ . A. Sin(27)+Sqr(x+Exp3)/(x+y)B. Sin(27*3.14159/180)+Sqr(x+Exp(3)/Abs(x+y)C. Sin(27*3.14159/180)+Sqr(
2、x+e3)/Abs(x+y)D. Sin(27*pi/180)+Sqr(x+Exp(3)/Abs(x+y)第3题下列有关对象的叙述中,正确的是_A. 对象由属性,事件和方法构成B. 对象的所有属性既可以在属性窗口设置,又可以在程序运行时用赋值语句设置C. 对象的事件一定就是由VB预先设置好的人工干预的动作D. 对象的方法是对象响应某个事件后执行的一段程序代码第4题 表达式CInt(4.5)+Cint(-4.51)+Int(4.9)+Int(-4.1)+Fix(-1.9)+0 Mod 2的运算结果是_.A. 1B. -1C. 2D. 3第5题下列关于菜单的说法中,错误的是_.A. 每一个菜单项就
3、是一个对象,并且可设置自己的属性和事件B. 菜单项不可以响应DblClick事件C. VB6.0允许创建超过四级的子菜单D. 程序执行时,如果要求菜单项是灰色,不能被用户选择,则应设置菜单项的Enabled属性为False第6题 以下关于数组的说法中,错误的是_.A. 使用了Preserve 子句的Redim语句,只允许改变数组最后一维的上界B. 对于动态数组, Redim 语句可以改变其维界但不可以改变其数据类型C. Erase语句的功能只是对固定大小的数组进行初始化D. Lbound函数返回值是指定数组某一维的下界第7题 设a=3,b=2,c=1,运行print abc的结果是_.A. T
4、rueB. FalseC. 1D. 出错第8题以下说法不正确的是_.A. 使用不带关键字Preserve的ReDim语句可以重新定义数组的维数B. 使用不带关键字Preserve的ReDim语句可以改变数组各维的上、下界C. 使用不带关键字Preserve的ReDim语句可以改变数组的数据类型D. 使用不带关键字Preserve的ReDim语句可以对数组中的所有元素进行初始化第9题在列表框List1中有若干列表项,可以删除选定列表项的语句是_.A. List1.text=B. List1.List(List1.ListIndex)=C. List1.ClearD. List1.RemoveIt
5、em List1.ListIndex第10题数学表达式 对应的VB表达式是_.A. (e(2*x-5)*Log(x)+(Sin(2x)3)/Sqr(Sin(x)-Cos(x2)B. (Exp(2*3.14159*x-5)*Log(x)+(Sin(2*x)3)/Sqr(Sin(x)-Cos(x2)C. (Exp(2*x-5)*Ln(x)+(Sin(2*x)3)/Sqr(Sin(x)-Cos(x2)D. e(2*3.14159*x-5)*Ln(x)+(Sin(2*x)3)/Sqr(Sin(x)-Cos(x2)第11题以下有关数组参数的说明中,正确的是_A. 在过程中也可用Dim语句对形参数组进行说
6、明B. 动态数组作为实参时,可用ReDim语句在过程中改变对应形参数组的维界C. 调用过程时,数组名不能作为实参D. 数组可以按地址传递也可以按植传递第12题下列有关过程的说法中,错误的是_.A. 在Sub或 Function过程内部不能再定义其它Sub或 Function 过程B. 对于使用ByRef说明的形参,在过程调用时形参和实参只能按传址方式结合C. 递归过程既可以是递归Function过程,也可以是递归Sub过程D. 可以像调用Sub过程一样使用Call语句调用Function过程第13题 要将焦点设置在某个控件上,以下四个选项中正确的是_.A. 只能使用鼠标直接点击控件B. 只能使
7、用Tab键将焦点移到该控件C. 只能在程序中调用该控件的SetFocus方法D. A、B、C三选项中涉及的方法均可使用第14题以下Case语句中,能正确描述Y的绝对值大于6的是_.A. Case Abs(Y)6B. Case -6 To 6C. Case Not(-6 To 6)D. Case Is6第15题以下关于变量作用域的叙述中,正确的是_.A. 窗体中凡用Private声明的变量只能在某个指定的过程中使用B. 模块级变量只能用Dim语句声明C. 凡是在窗体模块或标准模块的通用声明段用Public语句声明的变量都是全局变量D. 当不同作用域的同名变量发生冲突时,优先访问局限性小的变量第1
8、6题以下关于数值常量的说法中,错误的是_A. 八进制数的表示方法是在数字前面加&OB. 十六进制数的表示方法是在数字前面加&HC. 在浮点运算中使用D来分隔尾数和指数时,系统将把该数值作为单精度型数处理D. 32768是合法的数值常量第17题 数学表达式 对应的VB表达式是_.A. Abs(ex+Sin(30)3)Sqr(x+y)B. Abs(Exp(x)+Sin(30)3)(Sqr(x+y)C. Abs(ex+Sin(30*3.14159180)3)(Sqr(x+y)D. Abs(Exp(x)+Sin(30*3.14159180)3)Sqr(x+y)第18题下面的4个表达式中,有关_个能够对
9、Single类型变量x(正数)的第3位小数正确地进行四舍五入计算.Format(x,#.00) Int(100*(x+0.005)/100 CInt(100*(x+0.005)/100 Fix(100*(x+0.005)/100A. 1个B. 2个C. 3个D. 4个第19题执行以下语句时,会出现错误提示的是_.A. Print2b3 +12.5B. Print12.5+ 12C.Print12.5 & 12.5D.Print2e3+12第20题以下Case语句含有错误的是_.A. Case 0 To 10B. Case Is10C. Case Is10 And Is10第21题下列语句中,正
10、确的是_A. Textl.SetFocusB. Forml.ClearC. Labell.SetFocusD. Listl.Cls第22题 下列选项中,所包含的所有表达式能够将两位整数x的个位数与十位数对调(如将78转换为87)的是_. Val(Right(X,1)&Left(X,1) Val(Right(Str(X),1)&Left(Str(X),1) Val(Right(CStr(X),1)&Left(CStr(X),1) Val(Mid(X,2,1)+Mid(X,1,1)A. B. C. D. 第23题 以下关于子过程或函数的定义中,正确的是_A. Sub f1(n As String*
11、1 )B. Sub f1(n As Integer)As IntegerC. Function f1(f1 As Integer)As IntegerD. Function f1(ByVal n As Integer)第24题 下列有关控件数组的说法中,错误的是_.A. 控件数组由一组具有相同名称和相同类型的控件组成,不同类型的控件无法组成控件数组B. 控件数组中的所有控件不得具有各自不同的属性设置值C. 控件数组中的所有控件共享同一个事件过程D. 控件数组中每个元素的下标由控件的Index属性指定第25题 以下对数组参数的说明中,错误的是_ .A. 在过程中可以用Dim语句对形参数组进行声明
12、B. 形参数组只能按地址传递C. 实参为动态数组时,可用ReDim语句改变对应形参数组的维界D. 只需把要传递的数组名作为实参,即可调用过程第26题 要向文件datal.txt添加数据,正确的文件打开命令是_.A. Opendatal.txtFor Output As #1B. Opendatal.txtFor Input As #1C. Opendatal.txtFor Append As #5D. Opendatal.txt For Write As #5第27题下面有关数组处理的叙述中,正确的是_.A. 在过程中使用ReDim语句可以改变动态数组数据的类型B. 在过程中,可以使用Dim
13、、Private和 Static语句来定义数组C. 用ReDim语句重新定义动态数组时,可以改变数组的大小,但不能改变数组的维数D. 不可以用Public语句在窗体模块的通用处说明一个全局数组第28题 下面的表达式中,运算结果为True的是_.A. abcrd =ABCRDB. Int(134.69) 21D. Mid(Visual,1,4)=Right(lausiV,4)第29题设计界面时,要使一个文本框具有水平和垂直滚动条,应先将其_属性置为True,再将ScrollBar属性设置为3.A. MultiLineB. AutoSizeC. AlignmentD. RightToLeft第30
14、题 下面有关数组的说法中,正确的是_A. 数组的维下界不可以是负数B. 模块通用声明处有Option Base 1,则模块中数组定义语句Dim A(0 To 5)会与之冲突C. 模块通用声明处有Option Base 1,模块中有Dim A(0 To 5),则A数组第一维维下界为0D. 模块通用声明处有Option Base 1,模块中有DimA(0 To 5),则A数组第一维维下界为1第31题 下面有关数组的叙述中,不正确的是_. 在过程中用ReDim语句定义的动态数组,其下标的上下界可以是变量 数组作为形式参数时,传递的是每个数组元素的值 在窗体模块的通用声明处可以用Public 说明一个
15、全局数组 数组定义语句中可以用负数或小数来指定某一维的维下界或维上界的值A. B. C. D. 第32题下列关于对象SetFocus与GotFocus的描述中,正确的是_A. SetFocus是事件,GotFocus是方法B. Setfocus和Gotfocus都是事件C. Setfocus和GotFocus都是方法D. SetFocus是方法,GotFocus是事件第33题 创建一个名为文件的菜单项,欲使其可用Alt+F方式访问,则在菜单编辑器的标题文本框中应输入_.A. 文件($F)B. 文件(&F)C. 文件(#F)D. 文件(%F)第34题 在下列属性中,属于CommandButton
16、控件、ListBox控件共有的是_.A. Caption、TextB. Visible、FontC. Caption、VisibleD. List、Visible第35题 下列能够正确表示条件XYZ的VB逻辑表达式是_A. XYZB. X=Y And YZC. XY OR YZD. X=YZ第36题 以下关于Function过程的说法中,错误的是_.A. Function过程名可以有一个或多个返回值B. 在Function过程内部不得再定义Function过程C. Function过程中可以包含多个Exit Function语句D. 可以像调用Sub过程一样调用Function过程第37题 下
17、面的关系表达式中,运算结果为True的是_.A. CInt(1.5)=Int(1.5)B. Fix(1.5)=Int(1.5)C. Fix(-1.5)=CInt(-1.5)D. Fix(-1.5)=Int(-1.5)第38题已知XB,则下列表达式中,结果为True的是_A. Sgn(X-Y)+Sgn(A-B)=-1B. Sgn(X-Y)+Sgn(A-B)=-2C. Sgn(Y-X)+Sgn(A-B)=2D. Sgn(Y-X)+Sgn(A-B)=0第39题 执行_语句时,会出现出错提示信息.A. Print 5+7=14B. Print 16384*2C. Print 32768*2D. Pri
18、nt 14+32第40题 数学表达式 对应的Visual Basic表达式是_.A. Sin(30*3.14159/180)+Sqr(Log(x)+y)/2*3.14159+Exp(x+y)B. (Sin(30*/180)+Sqr(Ln(x)+y)/(2*+Exp(x+y)C. Sin(30*180/3.14159)+Sqr(Log(x)+y)/(2*3.14159+e(x+y)D. (Sin(30*3.14159/180)+Sqr(Log(x)+y)/(2*3.14159+Exp(x+y)第41题 在一个多窗体程序中,可以仅将窗体Form2从内存中卸载的语句是_.A. Form2.Unloa
19、dB. Unload Form2C. Form2.EndD. Form2.Hide第42题Print方法可在_上输出数据.窗体 文本框 图片框 标签 列表框 立即窗口A. B. C. D. 第43题 若要使逻辑表达式xy Xor y 0 If x Mod 4=0 Then y=y+x Else y=y-x End If x=x-3 Print x,y LoopEnd Sub第3题 执行下面的程序,单击Command1,窗体上显示的第一行是_【1】_,第二行是_【2】_,第四行是_【3】_。 Option Explicit Private Sub Command1_Click() Dim a A
20、s Integer, b As Integer a=1 : b=1 Call sub1(a, b) Print a, b End SubPrivate Sub sub1(a As Integer, b As Integer) a=a+b : b=b+a Print a, b If a10 Then a=a+b b=b+a Else Call sub1(a, b) End If End Sub第4题 运行下面的程序,单击Command1,在窗体上显示的变量a的值为_【1】_,变量b的值为_【2】_,变量c的值为_【3】_。 Option Explicit Private Sub Command1
21、_Click() Dim a As Integer, b As Integer, c As Integer a=5: b=10: c=15 Print fun(a,b,c)+fun(a,b,c) Print a,b,c End SubPrivate Function fun(x As Integer, y As Integer, z As Integer) As Integer z=x x=x+y y=y+z fun=x+yEnd Function第5题 执行下面的程序,连续三次单击命令按钮Command1之后,A数组共有 【1】 个元素;数组元素A(2)的值 【2】 ,A(4)的值是 【3】
22、 。 Option Explicit Option Base 1 Private Sub Command1_Click() Static A( ) As Integer,n As Integer Dim i As Integer,k As Integer k=n n=n + 2 ReDim Preserve A(n) For i=k+1 To n A(i)=i*n+1 Next i For i=1 To n Print A(i); Next i Print End Sub第6题 运行下面程序,单击Command1,在窗体上显示的变量A的值为_【1】_,变量B的值为_【2】_。Option Ex
23、plicitDim a As IntegerPrivate Sub Command1_Click() Dim b As Integer b = 3 a = 4 b = fun(fun(a, b + 2), a) + b Print a, bEnd SubPrivate Function fun(n As Integer, k As Integer) n = n + a k = n - k fun = n + k + aEnd Function第7题 执行下面的程序,单击Commandl,则窗体上第一行显示的是 【1】 ,第二行显示的是 【2】 。 Option Explicit Dim x A
24、s Integer Private Sub Command1_Click() Dim y as Integer X=10:Y=2 Call process(y) Print X,Y Call process(y) Print X,Y End Sub Private Sub process(n As Integer) Dim y As Integer If n0 Then x=x-n y=x Else x=x+n y=x+2 End If n=-n End Sub第8题 执行下面程序,单击Command1,窗体上显示的第一行是_【1】_,第二行是_【2】_,第四行是_【3】_,最后一行是_【4】
25、_.Option ExplicitPrivate Sub Command1_Click() Dim n As Integer n = 5 Call test(n) Print nEnd SubPrivate Sub test(ByVal n As Integer) Dim i As Integer, s As Integer If n 0 Then For i = 1 To n s = s & CStr(i) Next i Print s Call test(n - 2) Else Print OVER End IfEnd Sub第9题 运行下列程序,单击Command1,在窗体上显示的第一行
26、内容是 【1】 ,第二行的内容是 【2】 ,第三行的内容是 【3】 。(A的ASCII码是65,Z是90)Option ExplicitPrivate Sub Command1_Click() Dim i As Integer, st As String, n As Integer, p As String * 1 p = B For i = 3 To 1 Step -1 n = Asc(p) - i If n 65 Then n = n + 26 st = Chr(n) st = st & F(i) Print st Next iEnd SubPrivate Function F(n As
27、Integer) Dim i As Integer Static s As Integer For i = 1 To n s = s + i Next i F = sEnd Function第10题 执行下面的程序,单击Command1,输出的变量i的值是 【1】 ,变量j的值是 【2】 ,变量k的值是 【3】 。 Option Explicit Private Sub Command1_Click() Dim i As Integer,j As Integer Dim k As Integer i=10 j=4 k=Funk(i,j) Print i,j,k End Sub Priate F
28、unction Funk(ByVal A As Integer,B As Integer) As Integer A=A+B B=B-2 If B=0 Or B=1 Then Funk=1 Else Funk=A+Funk(A,B) End If End Function第11题 运行下面程序,如果连续三次单击命令按钮之后,数组共有_【1】_个元素;数组元素A(2)的值是_【2】_,A(5)的值是_【3】_.Option ExplicitOption Base 1Private Sub Command1_Click() Static a() As Integer, n As Integer D
29、im i As Integer, k As Integer k = n n = n + 2 ReDim Preserve a(n) For i = k + 1 To n a(i) = i * n + 1 Next i For i = 1 To n Print a(i); Next i PrintEnd Sub第12题 执行下面的程序,单击Command1,在窗体界面上显示的第一行是 【1】 ,第二行是 【2】 ,第三行是 【3】 ,第四行是 【4】 。 Option Explicit Private Sub Command1_Click() Dim a As Integer,b As Inte
30、ger,i As Integer i=1218 a=i100 b=i Mod 100 If b0 Then Print a Print b Print Lcd(a),(b);a;b Print Lcd(a,b);a;b End If End Sub Private Function Lcd(x As Integer,Y As Integer) As Integer Dim d As Integer If x9 k=k+1 If i+13 And j+1=3 Then i=1:j=j+1 ElseIf i+13 Then i=i+1:j=1 Elself i+13 And j+13 Then i
31、=i-1 ElseIf i+1=3 And j+1=3 And A(i+1,j+1)0 Then i=i-1 Else i=i+1:j=j+1 End If A(i,j)=k Loop For i=1 To 3 For j=1 To 3 Picture1.Print A(i,j); Next j Picture1.Print Next iEnd Sub第14题 执行下列程序,单击Command1,在窗体上显示的第一行内容是【1】,第二行的内容是【2】,第三行的内容是【3】。Option ExplicitPrivate Sub Command1_Click Dim n As Integer ,i
32、 As Integer n=2 For i=7 To 1 Step -1 Call sub2(i,n) Print i,n Next i End SubPrivate Sub sub2(x As Integer,y As Integer) Static n As Integer Dim i As Integer For i =2 To 1 Step -1 n =n+x x =x-1 Next i y=y+nEnd Sub第15题 执行下列的程序,单击Command1,在窗体上显示的变量b的值为【1】,变量c的值为【2】,变量z的值为【3】。 Private Sub Command1_Click
33、() Dim b As Integer,c As Integer,z As Integer b=2 c=1 z=fun(b,fun(b+1,c)+b-c+1 Print b,c,z End Sub Private Function fun(x As Integer,ByVal y As Integer) As Integer x=x-y y=x+y+2 fun=y-x End Function第16题 执行下面程序,单击Command1,窗体上显示的第一行是_【1】_,第二行是_【2】_,第四行是_【3】_. Option Explicit Private Sub Command1_Click(