人人范文网 范文大全

VB期末考试题库及答案

发布时间:2020-03-04 00:12:25 来源:范文大全 收藏本文 下载本文 手机版

试卷方案:201105 Visual Basic期末考试方案

一、单项选择_共50题(选:20题*1’=20分) 第1题

以下有关对象属性的说法中,错误的是___________.A.工具箱中的控件并不是VB中所有的控件

B.若将Frame的Enabled属性设置为False,则不能使用放置在Frame里面的控件 C.对象的Name属性在运行时不能改变

D.对象的所有属性都可以在属性窗口中设置

第2题

xe3数学表达式 sin27的VB算术表达式为_______ .

|xy|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(x+e^3)/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.1 B.-1 C.–2 D.–3

第5题

下列关于菜单的说法中,错误的是__________.A.每一个菜单项就是一个对象,并且可设置自己的属性和事件 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 a>b>c的结果是____________.A.True B.False

C.1 D.出错

第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.Clear D.List1.RemoveItem List1.ListIndex 第10题

x53数学表达式 e2lnxsin(2x)对应的VB表达式是__________.|sinxcosx2|A.(e^(2*π*x-5)*Log(x)+(Sin(2x))^3)/Sqr(Sin(x)-Cos(x^2)) B.(Exp(2*3.14159*x-5)*Log(x)+(Sin(2*x))^3)/Sqr(Sin(x)-Cos(x^2)) C.(Exp(2*π*x-5)*Ln(x)+(Sin(2*x))^3)/Sqr(Sin(x)-Cos(x^2)) D.e^(2*3.14159*x-5)*Ln(x)+(Sin(2*x))^3)/Sqr(Sin(x)-Cos(x^2)) 第11题

以下有关数组参数的说明中,正确的是______ A.在过程中也可用Dim语句对形参数组进行说明

B.动态数组作为实参时,可用ReDim语句在过程中改变对应形参数组的维界 C.调用过程时,数组名不能作为实参 D.数组可以按地址传递也可以按植传递

第12题

下列有关过程的说法中,错误的是_____________.A.在Sub或 Function过程内部不能再定义其它Sub或 Function 过程

B.对于使用ByRef说明的形参,在过程调用时形参和实参只能按传址方式结合 C.递归过程既可以是递归Function过程,也可以是递归Sub过程 D.可以像调用Sub过程一样使用Call语句调用Function过程

第13题

要将焦点设置在某个控件上,以下四个选项中正确的是______.A.只能使用鼠标直接点击控件

B.只能使用Tab键将焦点移到该控件

C.只能在程序中调用该控件的SetFocus方法 D.A、B、C三选项中涉及的方法均可使用

第14题

以下Case语句中,能正确描述Y的绝对值大于6的是______.A.Case Abs(Y)>6

B.Case -6 To 6 C.Case Not(-6 To 6)

D.Case Is6

第15题

以下关于变量作用域的叙述中,正确的是____________.A.窗体中凡用Private声明的变量只能在某个指定的过程中使用 B.模块级变量只能用Dim语句声明

C.凡是在窗体模块或标准模块的通用声明段用Public语句声明的变量都是全局变量 D.当不同作用域的同名变量发生冲突时,优先访问局限性小的变量

第16题

以下关于数值常量的说法中,错误的是______ A.八进制数的表示方法是在数字前面加&O B.十六进制数的表示方法是在数字前面加&H C.在浮点运算中使用D来分隔尾数和指数时,系统将把该数值作为单精度型数处理 D.32768是合法的数值常量

第17题

数学表达式 exsin330xy对应的VB表达式是___________.A.Abs(e^x+Sin(30)^3)∕Sqr(x+y)) B.Abs(Exp(x)+Sin(30)^3)∕(Sqr(x+y))

C.Abs(e^x+Sin(30*3.14159∕180)^3)∕(Sqr(x+y)) D.Abs(Exp(x)+Sin(30*3.14159∕180)^3)∕Sqr(x+y))

第18题

下面的4个表达式中,有关_________个能够对Single类型变量x(正数)的第3位小数正确地进行四舍五入计算.Format(x,″#.00″) Int(100*(x+0.005))/100 CInt(100*(x+0.005)/100 Fix(100*(x+0.005))/100 A.1个 B.2个 C.3个

D.4个

第19题

执行以下语句时,会出现错误提示的是__________.A.Print\"2b3 \" +12.5 B.Print\"12.5\"+ 12

C.Print\"12.5\" & 12.5

D.Print\"2e3\"+12 第20题

以下Case语句含有错误的是___________.A.Case 0 To 10 B.Case Is>10

C.Case Is>10 And Is

D.Case 3,5,Is>10 第21题

下列语句中,正确的是__________ A.Textl.SetFocus B.Forml.Clear C.Labell.SetFocus

D.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*1 )

B.Sub f1(n As Integer)As Integer D.Function f1(ByVal n As Integer)

C.Function f1(f1 As Integer)As Integer 第24题

下列有关控件数组的说法中,错误的是______.A.控件数组由一组具有相同名称和相同类型的控件组成,不同类型的控件无法组成控件数组 B.控件数组中的所有控件不得具有各自不同的属性设置值 C.控件数组中的所有控件共享同一个事件过程

D.控件数组中每个元素的下标由控件的Index属性指定

第25题

以下对数组参数的说明中,错误的是___________ .A.在过程中可以用Dim语句对形参数组进行声明 B.形参数组只能按地址传递

C.实参为动态数组时,可用ReDim语句改变对应形参数组的维界 D.只需把要传递的数组名作为实参,即可调用过程

第26题

要向文件datal.txt添加数据,正确的文件打开命令是_____________.A.Open\"datal.txt\"For Output As #1 B.Open\"datal.txt\"For Input As #1 C.Open\"datal.txt\"For Append As #5 D.Open\"datal.txt\" For Write As #5 第27题

下面有关数组处理的叙述中,正确的是__________.A.在过程中使用ReDim语句可以改变动态数组数据的类型 B.在过程中,可以使用Dim、Private和 Static语句来定义数组

C.用ReDim语句重新定义动态数组时,可以改变数组的大小,但不能改变数组的维数 D.不可以用Public语句在窗体模块的通用处说明一个全局数组

第28题

下面的表达式中,运算结果为True的是__________.A.\"abcrd\" 2>1

B.Int(134.69)

D.Mid(\"Visual\",1,4)=Right(\"lausiV\",4) 第29题

设计界面时,要使一个文本框具有水平和垂直滚动条,应先将其________属性置为True,再将ScrollBar属性设置为3.A.MultiLine B.AutoSize

C.Alignment

D.RightToLeft 第30题

下面有关数组的说法中,正确的是______ A.数组的维下界不可以是负数

B.模块通用声明处有Option Base 1,则模块中数组定义语句Dim A(0 To 5)会与之冲突 C.模块通用声明处有Option Base 1,模块中有Dim A(0 To 5),则A数组第一维维下界为0 D.模块通用声明处有Option Base 1,模块中有DimA(0 To 5),则A数组第一维维下界为1 第31题

下面有关数组的叙述中,不正确的是______.① 在过程中用ReDim语句定义的动态数组,其下标的上下界可以是变量 ② 数组作为形式参数时,传递的是每个数组元素的值

③ 在窗体模块的通用声明处可以用Public 说明一个全局数组

④ 数组定义语句中可以用负数或小数来指定某一维的维下界或维上界的值 A.②③ B.①③④ C.①②③④

D.③④

第32题

下列关于对象SetFocus与GotFocus的描述中,正确的是_____ A.SetFocus是事件,GotFocus是方法

C.Setfocus和GotFocus都是方法

B.Setfocus和Gotfocus都是事件 D.SetFocus是方法,GotFocus是事件

第33题

创建一个名为\"文件\"的菜单项,欲使其可用Alt+F方式访问,则在菜单编辑器的标题文本框中应输入_________.A.文件($F) B.文件(&F)

C.文件(#F)

D.文件(%F) 第34题

在下列属性中,属于CommandButton控件、ListBox控件共有的是______.A.Caption、Text B.Visible、Font

C.Caption、Visible

D.List、Visible 第35题

下列能够正确表示条件\"X≤Y

C.X≤Y OR Y

D.X

以下关于Function过程的说法中,错误的是___________.A.Function过程名可以有一个或多个返回值 B.在Function过程内部不得再定义Function过程 C.Function过程中可以包含多个Exit Function语句 D.可以像调用Sub过程一样调用Function过程

第37题

下面的关系表达式中,运算结果为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)=-1

B.Sgn(X-Y)+Sgn(A-B)=-2 C.Sgn(Y-X)+Sgn(A-B)=2

D.Sgn(Y-X)+Sgn(A-B)=0 第39题

执行__________语句时,会出现出错提示信息.A.Print 5+7=14

B.Print 16384*2 C.Print 32768*2

D.Print \"14\"+32 第40题

数学表达式 sin30logxy2exy对应的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.Unload C.Form2.End

B.Unload Form2 D.Form2.Hide 第42题

Print方法可在______上输出数据.①窗体 ②文本框 ③图片框 ④标签 ⑤列表框 ⑥立即窗口 A.①③⑥ B.②③⑤

C.①②⑤

D.③④⑥

第43题

若要使逻辑表达式x>y Xor y

3、y=

3、z=4 C.x=

1、y=

3、z=2

B.x=

2、y=

1、z=2 D.x=

2、y=

2、z=2 第44题

下列____________是合法的变量名.A.abs B.–al

C.cdc d

D.Abe_10 第45题

下列______是正确的VB常量.A.D-6 B.E-6

C.5D

D.5E-6 第46题

若在模块中用Private Function Fun(A as Single,B as Integer) As Integer 定义了函数Fun.调用函数Fun的过程中定义了I、J和K三个Integer型变量,则下列语句中不能正确调用函数Fun的语句是___________.A.Fun 3.14,J B.Call Fun(I,365)

C.Fun(I),(J)

D.K=Fun(\"24\",\"35\") 第47题

若需要在同一窗体内安排两组相互独立的单选按钮(OptionButton),可使用______控件做容器将它们分开.①TextBox ②PictureBox ③ Image ④ Frame A.①或② B.②或③

C.②或④

D.③或④

第48题

以下关于文件的叙述中,错误的是__________。

A.用Output模式打开一个顺序文件,即使不对它进行写操作,原来的内容也被清除 B.可以用Print #语句或 Write# 语句将数据写到顺序文件中

C.若以Output、Append、Random、Binary 方式打开一个不存在的文件,系统会出错 D.顺序文件或随机文件都可以用二进制访问模式打开

第49题

窗体上有若干命令按钮和一个文本框,程序运行时焦点置于文本框中,为了在按下回车键时执行某个命令按钮的Click事件过程,需要将该按钮的_________属性设置为True.A.Enabled B.Default

C.Cancel

D.Visible 第50题

数学表达式 x5cos29(elny)5x 对应的VB表达式是______ A.(x^5-Cos(29))/Sqr(e^x+In(y))+5 B.(x^5-Cos(29))/(Sqr(Exp(x)+Log(y))+5)

C.(x^5-Cos(29*3.14159/180))/(Sqr(Exp(x)+Log(y))+5) D.(x^5-Cos(29*3.14159/180))/(Sqr(e^x+Log(y))+5

二、填空_共20题(选:15空*2’=30分)——阅读理解:填写程序的输出结果 第1题

运行下列程序,单击Command1, 在窗体上显示的第一行内容是______【1】____, 第二行的内容是_____【2】____, 第三行的内容是_____【3】______。 Option Explicit Private Sub Command1_Click() Dim s As String s=\"Basic\" Call trans(s) End Sub Private Sub trans(s As String) Dim j As Integer,t As String Dim k As Integer k=3 Do j=InStr(s,\"a\") t=LCase(Right(s,j)) s=Right(t,Len(s)-k) & Left(s,Len(t)) k=k-1 Print s Loop Until k=0 End Sub 第2题

执行下面程序,单击Command1,则窗体上显示的第一行是_【1】___,第三行是__【2】__,最后一行是__【3】__。 Option Explicit Private Sub Command1_Click() Dim x As Integer,y As Integer x=12:y=0 Do While x> 0 If x Mod 4=0 Then y=y+x Else y=y-x End If x=x-3 Print x,y Loop End Sub 第3题

执行下面的程序,单击Command1,窗体上显示的第一行是______【1】_____,第二行是______【2】____,第四行是______【3】_____。 Option Explicit

Private Sub Command1_Click() Dim a As Integer, b As Integer a=1 : b=1 Call sub1(a, b) Print a, b End Sub Private Sub sub1(a As Integer, b As Integer) a=a+b : b=b+a Print a, b If a>10 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_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 Sub Private Function fun(x As Integer, y As Integer, z As Integer) As Integer z=x x=x+y y=y+z fun=x+y End Function 第5题

执行下面的程序,连续三次单击命令按钮Command1之后,A数组共有 【1】 个元素;数组元素A(2)的值 【2】 ,A(4)的值是 【3】 。 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 Explicit Dim a As Integer Private Sub Command1_Click() Dim b As Integer b = 3 a = 4 b = fun(fun(a, b + 2), a) + b Print a, b End Sub Private Function fun(n As Integer, k As Integer) n = n + a k = n2) Else Print \"OVER\" End If End Sub 第9题

运行下列程序,单击Command1,在窗体上显示的第一行内容是 【1】 ,第二行的内容是 【2】 ,第三行的内容是 【3】 。(\"A\"的ASCII码是65,\"Z\"是90) Option Explicit Private 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)j Else a(i, j) = jLen(s) s = \"0\" & s Next i \'**********SPACE********** 【?】 End Function 第2题

\'下面程序的功能是:统计存放在数组A中的N个数有多少个是不同的。 \'具体做法是:变量Left指向要被处理的数(从第2个元素开始),

\'Right指向数组最后一个元素。若A(Left)与排在它前面的某个数组元素值相同, \'就用数组元素A(Right)的值来替换A(Left)的值,同时将变量Right的值减1;

\'否则将变量Left的值加1,处理数组下一个元素,重复以上过程,直到Left>Right为止。 \'Right的值即为不同的数的个数。程序界面参见下图所示。 Option Explicit Option Base 1 Private Sub Command1_Click() Dim A() As Integer, N As Integer, I As Integer Dim OP As Integer N = InputBox(\"请输入数据个数\", , 10) ReDim A(N) Randomize For I = 1 To N A(I) = Int(Rnd * 10) + 1 Text1 = Text1 & A(I) & \" \" Next I Call statistic(A, OP) Text2 = \"有 \" & OP & \" 个不同的数: \" For I = 1 To OP Text2 = Text2 & A(I) & \" \" Next I End Sub Private Sub statistic(A() As Integer, Right As Integer) Dim Left As Integer, K As Integer, I As Integer \'**********SPACE********** Right=【?】 Left = 2 Do While Left

For I = K To 1 Step -1 If A(Left) = A(I) Then Exit For Next I \'**********SPACE********** If 【?】 Then

Left = Left + 1 Else A(Left) = A(Right) \'**********SPACE********** 【?】 End If Loop End Sub 第3题

\'下面程序的功能是随机生成小于100的诸素数组成的数据。程序界面如下图所示。 Option Explicit Private Sub Command1_Click() Dim p() As Integer,i As Integer,n As Integer Dim st As String,k As Integer Randomize k =InputBox(\"元素个数;\",,20) ReDim p(k) Do n =Int(Rnd*90)+10 \'**********SPACE********** If 【?】 Then i =i+1 p(i) =n End If \'**********SPACE********** Loop Until【?】 For i =1 To UBound(p) st =st & Str(p(i)) If i Mod 10 =0 Then st =st & vbCrLf Next i Text1 =st End Sub Private Function prime(n As Integer) As Boolean Dim i As Integer Prime =True For i =2 To Sqr(n) If n Mod i =0 Then \'**********SPACE********** 【?】 Exit For End If Next i End Function 第4题

\'用以下公式求f(x) 的值。当通项的绝对值小于10^-7时停止计算,x的值由键盘输入。

\'程序界面和公式参考图片所示: Option Explicit Private Sub Command1_Click() Dim x As Single, fx As Single Dim a As Single, a1 As Single, a2 As Single Dim t As Single a1 = 1: a2 = 2 x = Text1 \'**********SPACE********** If 【?】Then MsgBox (\"x必须在-1~1之间\") Exit Sub End If fx = a1 * x8) \'**********SPACE********** 【?】

For J = 1 To Len(Anw) \'**********SPACE********** If 【?】Then Scor = Scor + 1 End If Next J

23

List2.AddItem StudId & \" \" & Scor Next I End Sub 第11题

\'下面程序的功能是:输入一个n位的整数(n≤10),求出由这n个数字组成的n位的 \'最小整数和最大整数。 Option Explicit 0ption Base 1 Private Sub Command1_Click() Dim n As Long,a() As String n=Text1 Call change(n,a) Call sort(a) For i=1 To UBound(a) large=a(i) & large \'**********SPACE********** small=【?】 Next i Text2=large For i=1 To Len(small) \'**********SPACE********** If 【?】 Then Exit For Next i If i1 Then small =Mid(small, i ,1) & Left(small,i-1) & Right(small,Len(small)-i) End If Text3=small End Sub Private Sub sort(a() As Integer) \'冒泡法排序 Dim i As Integer,j As Integer,t As Integer For i=1 To UBound(a)-1 For j=1 To UBound(a)-i \'*********SPACE********** If 【?】 Then t =a(j) a(j)=a(j+1) a(j+1)=t End If Next j Next i End Sub \'**********SPACE********** Private Sub change(【?】) Dim k As Integer Do k=k+1 ReDim Preserve a(k)

24

a(k)=n Mod 10 \'**********SPACE********** n=【?】 Loop Until n=0 End Sub 第12题

\'下面程序的功能是计算如图所示的值。请完善如下程序:

Option Explicit Private Sub Command1_Click() Dim n As Integer, st As String, i As Integer Dim k As Single, s As Single, j As Integer n=Text1 s=1 For i =2 To n \'**********SPACE********** 【?】

For j =1 To i st=st & CStr(i) next j \'**********SPACE********** k=【?】 s=s + k Next i Text2=s End Sub 第13题

\' 在计算机中用一个字节(8位)来存储一个字符的ASCII码, \' 其中低7位二进制数对应字符的编码,每个字节的最高位一般保持为\"0\", \' 在数据传输时可用作奇偶校验位。传输时ASCII代码转换成传输码的方法是, \' 若7位ASCII码有偶数个1,则最高位为1。有奇数个1,则最高位为0。 \' 例如字母\"A\"的ASCII码十进制表示为65,二进制表示为01000001。

\' \"A\"的传输码则为\"1100 0001\"。本程序的功能就是把ASCII代码转换成这种传输码。 \' 程序参考界面如下图所示。 Option Explicit Private Sub Command1_Click() Dim i As Integer, s As String Dim str As String, ch As String str = Text1.Text For i = 1 To Len(str) \'**********SPACE********** 【?】

Call convert(ch, s) List1.AddItem ch & \"==>\" & s

25

Next i End Sub Private Sub convert(ch As String, s As String) Dim m As Integer, k As Integer, n As Integer, i As Integer \'**********SPACE********** s= 【?】 n = Asc(ch) Do While n > 0 \'**********SPACE********** 【?】 s = m & s If m = 1 Then k = k + 1 End If n = n \\ 2 Loop For i = 1 To 71 sum = a(idx) + a(j) If Int(Sqr(sum)) = Sqr(sum) Then Exit For Next j \'**********FOUND********** If j

\'【题目】本程序的功能是生成一组(10个)两位的互质\'数。

\'一组互质数是指其中任意两个数之间都不存在除1以外\'的任何公约数。

Private Sub Command1_Click() Dim i As Integer, k As Integer, num(10) As Integer Dim flag As Boolean, n As Integer

29 num(1) = Int(Rnd * 90) + 10 k = 1 Do \'**********FOUND********** flag =flase n = Int(Rnd * 90) + 10 For i = 1 To k If gcd(num(i), n) 1 Then flag = False Next i If flag Then k = k + 1 num(k) = n End If Loop Until k = 10 For i = 1 To 10 Text1 = Text1 & Str(num(i)) Next i End Sub \'**********FOUND********** Private Function gcd(ByVal m%, ByVal n%) As Integer Dim r As Integer Do r = m Mod n m = n n = r Loop Until r = 0 \'**********FOUND********** gcd = m End Function 第3题

\'【题目】本程序的功能是:把10~20范围内的数分别表示成若干个质因子连乘的形式。 Option Explicit Option Base 1 Private Sub Command1_Click() Dim j As Integer, pf() As Integer, i As Integer Dim st As String For i = 10 To 20 Call prime_f(i, pf) st = CStr(i) & \"=\" \'**********FOUND********** For j = 1 To UBound(pf)-1 st = st & Str(pf(j)) & \"*\" Next j st = st & Str(pf(j)) List1.AddItem st Next i End Sub

30

\'**********FOUND********** Private Sub prime_f(ByVal n As Integer, a() As Integer) Dim i As Integer, k As Integer i = 2 Do If n Mod i = 0 Then k = k + 1 ReDim Preserve a(k) a(k) = i n = n \\ i Else i = i + 1 End If \'**********FOUND********** Loop Until n

\'[题目]本程序的功能是:查找800-1200范围内的所\'有具有两个相同数字的素数。

\'例如8

11、877等都是符合要求的数据。 Option Explicit Private Sub Command1_Click() Dim i As Integer For i = 800 To 1200 If validate(i) And prime(i) Then List1.AddItem i End If Next i End Sub \'**********FOUND********** Private Function validate(n As Integer) As Boolean Dim num() As Integer, k As Integer Dim i As Integer, j As Integer Do k = k + 1 \'**********FOUND********** ReDim preserve num(k) num(k) = n Mod 10 n = n \\ 10 Loop Until n

32

End Function 第6题

\'[题目]本程序的功能是:随机生成一个有n个元素的数组(n由inputBox函数), \'找出其中的最大元素并将它删除,再输出删除后的数组。 Option Explicit Option Base 1 Dim a() As Integer, n As Integer Private Sub Command1_Click() Dim i As Integer n = InputBox(\"请输入数组个数\", , 10) ReDim a(n) For i = 1 To n a(i) = Int(Rnd * 100) + 1 Text1 = Text1 & Str(a(i)) Next i Call Lookup(a) \'**********FOUND********** For i = 1 To n-1 Text2 = Text2 & Str(a(i)) Next i End Sub Private Sub Lookup(a() As Integer) Dim Maxv As Integer, maxp As Integer, i As Integer Maxv = a(1): maxp = 1 For i = 2 To n If a(i) > Maxv Then Maxv = a(i): maxp = i End If Next i Call move_f(a, maxp) End Sub Private Sub move_f(a() As Integer, k As Integer) Dim i As Integer For i = k + 1 To UBound(a) \'**********FOUND********** a(i-1) = a(i) Next i \'**********FOUND********** ReDim preserve(UBound(a)1 For j = i + 1 To UBound(a) \'**********FOUND********** If a(i) = a(j) Then Exit Function Next j Next i verify = True End Function

五、程序设计_共12题 (选:共2题,1题为8分,另一题10分=18分) 第1题

\'-- \'【程序设计】

\'-- \'【题目要求】

\' 1) 编写程序,生成一个4行5列的二维数组,其每\'\'个数组元素是随机产生的两位数,

\' 求该数组的最大元素及其所在的行号、列号。 \' (若有多个相同的最大元素,则要一一标出其所在\'\'行号、列号)

\' [算法提示]首先找出最大元素,再将数组中的元素\'\'与最大元素一一比较,

\' 若有相等元素则输出其所在位置。 \' 窗体设计界面参见已给出的参考界面。

34

\'【编程要求】

\' 1) 运行程序,按“运行”按钮(Command1),生成一个4行5列的两位随机整数数组, \' 按参考界面格式显示在多行文本框Text1中,再调用求二维数组最大元素的通用过程, \' 最后将结果输出到一个多行文本框Text2中;(注意代码中不得使用randomize语句) \' 按“清除”按钮(Command2),则将文本框与图片框清空;

\' 2) 程序中应定义一个名为maxele的通用函数过程,用于求二维数组的最大元素。 \'【代码书写要求】

\'1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Command1等 \'2)请在“****Program*****”与“****End*****”之间添加程序代码 \'3)请在指定区间

\' (1)先写出自定义函数过程maxele的程序代码以及Command2的代码 \' (2)最后完善Command1_Click()事件过程代码。 \' !!!! 注意:

\' Command1_Click()过程的结束语句 End Sub及其它已经给出的代码, \' 均不得删除,否则无分。

第2题

\'-- \'【程序设计】

\'-- \'【题目要求】

\' 编一程序,将一维数组中元素向右循环移位,移位次数键盘输入。 \' 例如,数组各元素的值依次为1,2,3,4,5,6,7,8,9,10; \' 位移3次后,各元素的值依次为8,9,10,1,2,3,4,5,6,7。 \' 窗体设计界面参见已给出的参考界面。

\'【编程要求】

\' 1) 数组可定义为固定大小的10个元素的数组。

\' 按“输入”按钮(Command1),则用inputbox函数逐一输入 \' “1---10”10个数据,并显示在文本框Text1中。 \' 在文本框Text2中输入循环移位位数(请输入3)

\' 按“移位”按钮,调用通用Sub过程rmove(),实现移位操作,同时将 \' 移位后10个数据显示在文本框Text3中。

\' 按“清除”按钮Command2,则将3个文本框清空,将焦点置于Text2上; \' 按“退出”按钮Command3,结束程序运行

\' 2)程序中应定义一个通用Sub过程rmove(),以实现移位操作。 \'【代码书写要求】

\'1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Command1等

35

\'2)请在“****Program*****”与“****End*****”之间添加程序代码 \'3)请在指定区间 (1)先写出自定义Sub过程rmove()的程序代码

\' (2)然后完成Command1_Click(),Command3_Click(),Command4_Click()过程代码。 \' (3)最后完善Command2_Click()过程代码 \' !!!! 注意:

\' Command2_Click()过程的结束语句 End Sub及其它已经给出的代码,均不得删除,否则无分。

第3题

\'-- \'【程序设计】

\'-- \'【题目要求】

\' 编写程序,随机生成一个4行5列由两位整数组成的数组,并找出其中所有的谷点元素。 \' 所谓谷点元素是指在本行内为最小,在本列内也为最小的元素。 \' 窗体设计界面参见已给出的参考界面。

\'【编程要求】

\' 1)按“生成数组”按钮(Command1),生成随机数组并\'显示到图片框(Picture1)中,

\' 按“查找谷点”按钮(Command2),则找出谷点元素, \' 并按图示的格式显示到多行文本框(Text1)中, \' 按“清除”按钮Command3,清除图片框与文本框。 \' 2) 程序中应定义一个名为cp的Sub过程,用于查找数组某行是否有谷点元素。

\' (算法提示:先求出某行最小元素,再判断该元素是\'否在该列也为最小,

\' 若是,则为谷点数,否则,谷点不存在。) \'【代码书写要求】

\'1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Command1等 \'2)请在“****Program*****”与“****End*****”之间添加程序代码 \'3)请在指定区间

\' (1)先写出自定义Sub过程cp的程序代码以及Command1,Command3的代码 \' (2)最后完善Command2_Click()事件过程代码。 \' !!!! 注意:

\' Command2_Click()过程的结束语句 End Sub及其它已经给出的代码, \' 均不得删除,否则无分。

第4题

\'-- \'【程序设计】

\'-- \'【题目要求】

\'编写求前n项级数和的程序。求和公式参见已给出的参考图所示。

\' 1)在文本框Text1中输入x值1,文本框Text2中输入n值5,

\' 按“计算”按钮(Command1),则开始计算并在列表框List1中显示S1,S2,„,Sn;

36

\' 按“清除”按钮(Command2),则将两个文本框及列表框清空,焦点置于Text1上; \' 按“退出”按钮(Command3),结束程序运行;

\' 2)程序中应定义一个名为fact的函数过程,用于计算阶乘值。 \'【代码书写要求】

\' 1)列表框、文本框、命令按钮的名称必须使用系统默认的名称, \' 如List1,Text1,Command1等,否则扣分。 \' 2)窗体设计界面参见已给出的参考界面。

\' 3)请在“****Program*****”与“****End*****”之间添加程序代码 \' 请在指定区间 1)先写出自定义函数fact及Command2,Command3的程序代码 \' 2)然后完善Command1_Click()过程代码。 \' !!!! 注意:

\' Command1_Click()过程的结束语句 End Sub及其它已经给出的代码, \' 均不得删除,否则无分。

第5题

\'-- \'【程序设计】

\'-- \'【题目要求】

\'编写程序,以给定的方式标记出方阵中每一行最小元素\'的位置。

\'如果某一行有多个数值相等的最小元素,也要同时标记\'出来。

\'标记方式为每一行的最小元素为 0,其他元素为 1。 \'窗体设计界面参见已给出的参考界面。

’【编程要求】

\'1)在文本框Text1中输入 N 值(要求输入5),

\' 按“执行”按钮,则随机生成一个 N 行 N 列的由两位正整数组成的 N 阶方阵, \' 并输出到多行文本框Text2 中,同时求出每一行的最小元素并生成标记矩阵 \' 输出到多行文本框Text3 中;

\' 按“清除”按钮,则将3个文本框清空,将焦点置于文本框Text1上; \' 按“退出” 按钮,结束程序运行;

\'2)程序中应定义一个求数组某一行的最小元素值的通用Sub过程minx()。 \'3)原始方阵数据由随机函数生成(注意:不要使用randomize语句) \'【代码书写要求】

37 \'1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Text2,Command1等 \'2)请在“****Program*****”与“****End*****”之间添加程序代码

\'3)请在指定区间 (1)先写出自定义Sub过程minx()的程序代码以及Command2_Click()、\' Commnad3_Click()的代码

\' (2)最后完善Command1_Click()过程代码。 \' !!!! 注意:

\' Command1_Click()过程的结束语句 End Sub及其它已经给出的代码,均不得删除, \' 否则无分。

第6题

\'-- \'【程序设计】

\'-- \'【题目要求】

\'从键盘上输入6名同学的成绩,分别为:87,72,56,89,92,66。将这些成绩 \'显示在文本框Text1中(由Command1_Click()事件过程完成)。 \'然后按降序对这6个成绩进行排序,并将结果显示在文本框Text2中

\'(由Command2_Click()事件过程完成)。窗体设计界面参见已给出的参考界面。

\'【代码书写要求】

\'1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Text2,Command1等 \'2)用inputbox函数输入成绩。原始成绩必须为上面给出的数据,否则扣分。 \'3)请在“****Program*****”与“****End*****”之间添加程序代码

第7题

\'-- \'【程序设计】

\'-- \'【题目要求】

\' 编写程序,找出随机生成的30个无重复数的三位整数中的降序数。 \' 所谓降序数是指百位数大于十位数、且十位数大于个位数。 \' 窗体设计界面参见已给出的参考界面。

38

\'【编程要求】

\' 1)单击“执行”按钮(Command1),随机生产30个无重复数的三位整数,

\' 按10个数一行的格式显示在多行文本框Text1中,再找出其中的降序数输出到列表框List1; \' 要求程序代码中不得使用Randomize语句,否则扣分。

\' 如果数据中无降序数存在,则使用msgbox输出“无降序数”信息, \' 按“清除”按钮(Command2),将文本框及列表框清空。

\' 2)程序中应定义一个名为jx的函数过程,用于判断一个整数是否为降序。 \'【代码书写要求】

\'1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Command1等 \'2)请在“****Program*****”与“****End*****”之间添加程序代码 \'3)请在指定区间

\' (1)先写出自定义函数过程jx的程序代码以及Command2的代码 \' (2)最后完善Command1_Click()事件过程代码。 \' !!!! 注意:

\' Command1_Click()过程的结束语句 End Sub及其它已经给出的代码, \' 均不得删除,否则无分。

第8题

\'-- \'【程序设计】

\'-- \'【题目要求】

\' 编写程序,找出100以内的所有素数,存放在数组P中, \' 并将所找到的素数,按每行10个的形式显示在文本框\'Text1中。

\' 窗体设计界面参见已给出的参考界面。

\'【编程要求】

\'1)按“找素数”按钮(Command1),则查找素数,并按格式要求显示在多行文本框Text1中。

\'2)程序中应定义一个通用函数过程Prime(),以判断一个数是否为素数。 \'【代码书写要求】

\'1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Command1等 \'2)请在“****Program*****”与“****End*****”之间添加程序代码 \'3)请在指定区间 (1)先写出自定义函数过程Prime()的程序代码

39

\' (2)然后完善Command1_Click()过程代码 \' !!!! 注意:

\' Command1_Click()过程的结束语句 End Sub及其它已经给出的代码, \' 均不得删除,否则无分。

第9题

\'-- \'【程序设计】

\'-- \'【题目要求】

\' 1) 编写程序,本程序的功能是:首先按给定格式(数据以逗号分隔,-1表示数据结束) \' 将输入到文本框Text1中的数据(12,22,15,25,17,22,19,11,-1)依次存入一个数组p, \' 然后为该组数据建立一个按从大到小次序排列的索引表并显示在文本框Text2中。 \' 文本框Text2中的第一个数据4表示文本框1中第4个数最大; \' 文本框2中的最后一个数据8表示文本框1中第8个数最小。 \' 2) 窗体设计界面参见已给出的参考界面。

\'【编程要求】

\' 1)在文本框Text1中输入测试数据,按“处理”按钮(Command1), \' 则按题目要求得到结果并显示在文本框Text2中;

\' 按“清除”按钮(Command2),则将2个文本框清空,将焦点置于文本框Text1上; \' 按“退出”按钮(Commnad3),结束程序运行。

\' 2)程序中应定义一个通用Sub过程lnum,用于把Text1中的原始数据放入数组p中。 \' 3) 程序中应定义一个根据数组元素的大小从大到小取其排列号的通用Sub过程Ind。 \'【代码书写要求】

\'1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Command1等 \'2)请在“****Program*****”与“****End*****”之间添加程序代码 \'3)请在指定区间

\' (1)先写出自定义Sub过程lnum()和Ind()的程序代码以及Command

2、Command3的代码\' (2)最后完善Command1_Click()事件过程代码。 \' !!!! 注意:

\' Command1_Click()过程的结束语句 End Sub及其它已经给出的代码, \' 均不得删除,否则无分。

第10题

\'-- \'【程序设计】

\'-- \'【题目要求】

40

\'编写程序,找出50以内的所有不可表示成两个平方数之和的整数。 \'窗体设计界面参见已给出的参考界面。

’【编程要求】

\'1) 按“执行”按钮Command1,则开始运行程序,按参考界面格式将符合条件的数 \' 显示在多行文本框中,每行显示5个数; \' 按“清理”按钮Command2,则将文本框清空; \' 按“结束”按钮Command3,结束程序运行;

\'2) 程序需创建一个通用Sub过程Sub1,该过程的功能是判断一个数是否是平方数; \'3) 显示在文本框中的数据必须按参考界面中的形式对齐。 \'【代码书写要求】

\'1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Command1等 \'2)请在“****Program*****”与“****End*****”之间添加程序代码 \'3)请在指定区间

\' (1)先写出自定义Sub过程Sub1的程序代码以及Command

2、Commnad3的代码 \' (2)最后完善Command1_Click()过程代码。 \' !!!! 注意:

\' Command1_Click()过程的结束语句 End Sub及其它已经给出的代码, \' 均不得删除,否则无分。

第11题

\'-- \'【程序设计】

\'-- \'【题目要求】

\' 1) 编写程序,找出由1,2,3,4四个不同数字组成的四位整数中的素数。

\' 2) 窗体设计界面参见已给出的参考界面。

\'【编程要求】

\' 1)单击“开始”按钮(Command1),生成(或筛选出)由1,2,3,4 四个数字

\' 组成的4位整数,并显示在列表框List1中,在列表框List2中显示其中的素数。

\' 2)单击“清理”按钮(Command2),则将两个列表框清空; \' 单击“退出”按钮(Command3),结束程序运行。

\' 3)程序中必须包含一个判断某数是否为素数的通用函数过程Prime。

41

\' 4) 程序中必须包含一个判断某数是否仅由1--4构成且各数字仅出现1次的 \' 通用函数过程Compare。 \'【代码书写要求】

\'1)列表框、命令按钮的名称必须使用系统默认的名称,如List1,Command1等 \'2)请在“****Program*****”与“****End*****”之间添加程序代码 \'3)请在指定区间

\' (1)先写出自定义函数过程Prime的程序代码以及Command

2、Command3的代码 \' (2)最后完善Command1_Click()事件过程代码。 \' !!!! 注意:

\' Command1_Click()过程的结束语句 End Sub及其它已经给出的代码, \' 均不得删除,否则无分。

第12题

\'-- \'【程序设计】

\'-- \'【题目要求】

\'编写程序,随机生成10个[10,99]区间的整数,并用选择法对这十个数进行排序。 \'窗体设计界面参见已给出的参考界面。

’【编程要求】

\'1)按“生成”按钮(Command1),则随机生成(注意:不要使用randomize语句) \' 10个两位正整数组成的数列,并输出到文本框Text1中

\' 按“排序”按钮(Command2),则将10个数排序后显示在文本框Text2中 \'2)程序中应定义一个通用Sub过程ort(),以实现选择法排序过程。 \'【代码书写要求】

\'1)文本框、命令按钮的名称必须使用系统默认的名称,如Text1,Text2,Command1等\'2)请在“****Program*****”与“****End*****”之间添加程序代码 \'3)请在指定区间

(1)先写出自定义Sub过程ort()的程序代码以及Command1_Click()过程代码 \' (2)最后完善Command2_Click()过程代码。 \' !!!! 注意:

\' Command2_Click()过程的结束语句 End Sub及其它已经给出的代码, \' 均不得删除,否则无分。

42

行政管理期末考试题库及答案第二部分

财务管理期末考试题库

初中期末考试题库

《城市轨道交通车辆及操作》期末考试题库

领导科学期末考试题库

建筑材料期末考试题库(单选题)

思修期末考试题库

VB判断题及答案

VB试题及答案

vb选择题及答案

VB期末考试题库及答案
《VB期末考试题库及答案.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档