[计算机软件及应用]计算机二级VB过程练习题及答案.doc

上传人:sccc 文档编号:4561476 上传时间:2023-04-27 格式:DOC 页数:34 大小:135KB
返回 下载 相关 举报
[计算机软件及应用]计算机二级VB过程练习题及答案.doc_第1页
第1页 / 共34页
[计算机软件及应用]计算机二级VB过程练习题及答案.doc_第2页
第2页 / 共34页
[计算机软件及应用]计算机二级VB过程练习题及答案.doc_第3页
第3页 / 共34页
[计算机软件及应用]计算机二级VB过程练习题及答案.doc_第4页
第4页 / 共34页
[计算机软件及应用]计算机二级VB过程练习题及答案.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《[计算机软件及应用]计算机二级VB过程练习题及答案.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]计算机二级VB过程练习题及答案.doc(34页珍藏版)》请在三一办公上搜索。

1、2012年计算机等级考试二级VB过程练习题及答案过 程一、 单选题1在过程定义中用 _c_表示形参的传值。12345CDDDAA) VarB) ByRefC) ByValD) ByValue2若已经编写一个Sort子过程,在该工程中有多个窗体,为了方便调用Sort子程序,应该将子过程放在 _D_中。A) 窗体模块B) 类模块C) 工程D) 标准模块3下面的子过程语句说明合法的是_D_。A) Sub f1(ByVal n%()B) Sub f1(n%) As IntegerC) Function f1%(f1%)D) Function f1(ByVal n%)4要想从子过程调用后返回两个结果,下

2、面子过程语句说明合法的是_D_。A) Sub f(ByVal n%, ByVal m%)B) Sub f(n%, ByVal m%)C) Sub f(ByVal n%, m%)D) Sub f(n%, m%)5下面程序运行的结果是 _。Private Sub Command1_Click()Dim x%, y%x = 12 : y = 34Call f(x,y)Print x,yEnd SubPublic Sub f1(n%,ByVal m%)n = n Mod 10m = m 10End SubA) 2 34B) 12 34C) 2 3D) 12 36在窗体上画一个名称为Command1的命

3、令按钮,再画两个名称分别为Label1、Label2的标签,然后编写如下程序代码:Private X As IntegerPrivate Sub Command1_Click()X = 5 : Y=3Call proc(X,Y)Label1.Caption = XLabel2.Caption = YEnd SubPrivate Sub proc(ByVal a As Integer, ByVal b As Integer)X = a * aY = b + bEnd Sub程序运行后,单击命令按钮,则两个标签中显示的内容分别是_。A)5和3B)25和3C)25和6D)5和67下面程序运行的结果是

4、 _。Dim a% , b% , c%Public Sub p1(x%, y%)Dim c%x = 2 * x : y = y + 2 : c = x + yEnd SubPublic Sub p2(x%, ByVal y%)Dim c%x = 2 * x : y = y + 2 : c = x + yEnd SubPrivate Sub Command1_Click()a = 2 : b = 4 : c = 6Call p1(a, B)Print “a = ”;a ;“b = ”;b ; “c = ”;cCall p2(a, B)Print “a = ”;a ;“b = ”;b ; “c =

5、 ”;cEnd subA) a = 2 b = 4 c = 6a = 4 b = 6 c = 10B) a = 4 b = 6 c = 10a = 8 b = 8 c = 16C) a = 4 b = 6 c = 6a = 8 b = 6 c = 6D) a = 4 b = 6 c = 14a = 8 b = 8 c = 68下面程序运行的结果是 _。Public Sub Proc(a%()Static i%Doa(i) = a(i) + a(i+1)i = i + 1Loop While i 2End SubPrivate Command1_click()Dim m% , i% , x%()

6、For i = 0 to 4 : x(i) = i + 1 : Next iFor i = 1 to 2 : Call Proc(x() : Next iFor i = 0 to 4 : Print x(i) : Next iEnd SubA) 3 4 7 5 6B) 3 5 7 4 5C) 2 3 4 4 5D) 4 5 6 7 89.在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:Private Sub Command1_Click()Static X As IntegerStatic Y As IntegerClsY=1Y=Y+5X=5+XPrint X,YEnd Su

7、b程序运行时,三次单击命令按钮Command1后,窗体上显示的结果为_。A)15 16B)15 6C)15 15D)5 610. 下列叙述中正确的是_。A)在窗体的Form_Load事件过程中定义的变量是全局变量B)局部变量的作用域可以超出所定义的过程C)在某个Sub过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程D)在调用过程时,所有局部变量被系统初始化为0或空字符串11 。以下关于变量作用域的叙述中,正确的是_。A)窗体中凡被声明为Private的变量只能在某个指定的过程中使用B)全局变量必须在标准模块中声明C)模块级变量只能用Private关键字声明D)

8、Static类型变量的作用域是它所在的窗体或模块文件12. 单击一次命令按钮之后,下列程序代码的执行结果为_。Private Sub Command1_Click( )S=P(1)+P(2)+P(3)+P(4)Print S;End SubPrivate Function P(N As Integer)Static SUMFor I= 1 TO NSum=sum+1Next IP=SUMEnd FunctionA)135B)115C)35D)2013. 可以在窗体模块的通用声明段中声明_。A)全局变量B)全局常量C)全局数组D)全局用户自定义类型14. 设有如下通用过程:Public Func

9、tion f(x As Integer)Dim y As Integerx=20y=2f=x*yEnd Function在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Static x As Integerx=10y=5y=f(x)Print x;yEnd Sub程序运行后,如果单击命令按钮,则在窗体上显示的内容是_。A)10 5B)20 5C)20 40D)10 4015. 单击命令按钮时,下列程序代码的执行结果为_。Dim a As integer,b As Integer,c As IntegerPrivate

10、 Sub Command1_Click( )a=5:b=8:c=9Call Proc1(a,B)Print“a=”;a;“b=”;b;“c=”;cCall Proc2(a,B)Print“a=”;a;“b=”;b;“c=”;cEnd SubPublic Sub Proc1(x As Integer,y As Integer)Dim c As Integerx=2*x:y=y+2:c=x+yEnd SubPublic sub proc2(x As Integer,Byval y as Integer)Dim c As Integerx=2*x:y=y+2:c=x+yEnd subA)a=20 b

11、=10 c=9a=10 b=10 c=9B)a=10 b=10 c=9a=20 b=10 c=9C)a=10 b=10 c=9a=10 b=10 c=9D)a=20 b=20 c=9a=20 b=10 c=916. 单击命令按钮时,下列程序代码的执行结果为_。Public Sub Procl(n As Integer,ByVal m As Integer)n=n Mod 10m=m10End SubPrivate Sub Command1_Click( )Dim x As Integer,y As Integerx=23:y=65Call Procl(x,y)Print x;yEnd SubA

12、)3 65B)23 65C)3 60D)0 6517. 在窗体上画一个名称为Command1命令按钮和三个名称分别为Label1、Label2、Label3的标签,然后编写如下代码:Private x As IntegerPrivate Sub Command1_Click()Static y As IntegerDim z As Integern = 10z = n + zy = y + zx = x + zLabel1.Caption = xLabel2.Caption = yLabel3.Caption = zEnd Sub运行程序,连续三次单击命令按钮后,则三个标签中显示的内容分别是_

13、。A)10 10 10B)30 30 30C)30 30 10D)10 30 3018. 以下关于函数过程的叙述中,正确的是_。A)函数过程形参的类型与函数返回值的类型没有关系B)在函数过程中,通过函数名可以返回多个值C)当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递D)如果不指明函数过程参数的类型,则该参数没有数据类型19. 单击窗体时,下列程序代码的执行结果为_。Private Sub Form_Click()Test 2End SubPrivate Sub Test(x As Integer)x=x*2+1If x6 ThenCall Test(x)End Ifx=x

14、*2+1Print x;End SubA)5 11B)23 47C)10 22D)23 2320. 假定已定义了一个过程Sub Add(a As Single,b As Single),则正确的调用语句是_。A)Add 12,12B)Call(2*x,Sin(1.57)C)Call Add x,yD)Call Add(12,12,x)21. 一个工程中包含两个名称分别为Form1、Form2的窗体,一个名称为Md1Func的标准模块。假定在Form1、Form2和Md1Func中分别建立了自定义过程,其定义格式为:Form1中定义的过程:Private Sub frmFunction1()En

15、d SubForm2中定义的过程:Private Sub frmFunction2()End SubmdlFunc中定义的过程:Public Sub md1Function()End Sub在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是_。A)上述三个过程都可以在工程中的任何窗体或模块中被调用B)frmFunction2和mdlFunction过程能够在工程中各个窗体或模块中被调用C)上述三个过程都只能在各自被定义的模块中调用D)只有Md1Function过程能够被工程中各个窗体或模块调用22. 在窗体上画一个命令按钮,名称为Command1,然后编写如下程序:Fun

16、ction Func(ByVal x As Integer, y As Integer)y = y * xIf y 0 ThenFunc = xElseFunc = yEnd IfEnd FunctionPrivate Sub Command1_Click()Dim a As Integer, b As Integera = 3b = 4c = Func(a, B)Print a;b;cEnd Sub程序运行后,单击命令按钮,其输出结果为_。A)3 4 12B)3 4 3C)3 12 3D)3 12 1223. 以下叙述中错误的是_。A)一个工程中可以包含多个窗体文件B)在一个窗体文件中用Pu

17、blic定义的通用过程不能被其他窗体调用C)窗体和标准模块需要分别保存为不同类型的磁盘文件D)用Dim定义的窗体层变量只能在该窗体中使用24. 下面的过程定义语句中合法的是_。A)Sub Procl(ByVal n()B)Sub Procl(n) As IntegerC)Function Procl(Procl)D)Function Procl(ByVal n)25. 设有如下通用过程:Public Function Fun(xStr As String) As StringDim tStr As String, strL As IntegertStr = “”strL = Len(xStr)

18、i = 1Do While i = strL / 2tStr = tStr & Mid(xStr, i, 1) & Mid(xStr, strL - i + 1, 1)i = i + 1LoopFun = tStrEnd Function在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下的事件过程:Private Sub Command1_Click()Dim S1 As StringS1 = “abcdef”Text1.Text = UCase(Fun(S1)End Sub程序运行后,单击命令按钮,则Text1中显示的是_。A)ABCDEFB)abcd

19、efC)AFBECDD)DEFABC26. 在窗体上画1个命令按钮,编写代码如下。程序运行后,单击命令按钮,输出结果为_。Private Sub Command1_Click()Dim a(10) As IntegerDim x As IntegerFor i=1 To 10a(i)=8+iNextx=2Print a(f(x)+x)End SubFunction f(x As Integer)x=x+3f=xEnd FunctionA)12B)15C)17D)1827. 在过程中定义的变量,若希望在离开该过程后,还能保存过程中局部变量的值,则使用_关键字在过程中定义局部变量。A)DimB)P

20、rivateC)PublicD)Static28. 以下正确的描述是:在Visual Basic应用程序中_。A)过程的定义可以嵌套,但过程的调用不能嵌套。B)过程的定义不可以嵌套,但过程的调用可以嵌套。C)过程的定义和过程的调用均可以嵌套。D)过程的定义和过程的调用均不能嵌套。29. 有子过程语句说明:Sub fSum(sum%,ByVal m%,ByVal n%),且在事件过程中有如下变量说明:Dim a%,b%,c!则下列调用语句中正确的是_。A)fsum a,a,bB)fsum 2,3,4C)fsum a+b,a,bD)Call fsum (c,a,B)30. 有如下程序,其运行的结果

21、是_。Public Function f(m%,n%)Do While mnDo while mn : m=m-n : LoopDo while mLoopF=mEnd FunctionPrivate Sub Command1_Click( )Print f(24,18)End SubA)0B) 2C)3D)631. 假定有如下的Sub过程:Sub S(x As Single,y As Single)t = xx =t/yy =t Mod yEnd Sub在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Commandl_Click ( )Dim a As SingleDi

22、m b As Singlea =5b =4S a,bPrint a,bEnd Sub程序运行后,单击命令按钮,输出结果为_ 。A) 5 4B) 1 1C) 1.25 4D) 1.25 132. 假定有以下两个过程:Sub S1(ByVal x As Integer,ByBal y As Integer)Dim t As Integert=x : x=y : y=tEnd SubSub S2(x As Integer, y As Integer)Dim t As Integert=x : x=y : y=tEnd Sub则以下说法中正确的是_。A)用子过程S1可以实现交换两个变量的值的操作,S2

23、不能实现B)用子过程S2可以实现交换两个变量的值的操作,S1不能实现C)用子过程S1和S2都可以实现交换两个变量的值的操作D)用子过程S1和S2都不能实现交换两个变量的值的操作33. 阅读程序:Sub subP(b( ) As Integer)For i =1 To 4b(i)=2*iNext iEnd SubPrivate Sub Commandl_Click()Dim a(1 To 4)As Integera (1)=5: a (2)=6: a (3)=7: a (4)=8subP a ()For i =1 To 4Print a(i);Next iEnd Sub运行上面的程序,单击命令按

24、钮,输出结果为 _。A)2 4 6 8B)5 6 7 8C)10 12 14 16D)出错34. 在窗体上画一个名称为Command1 的命令按钮,然后编写如下事件过程;Private Sub Command1_Click()Static x As IntegerClsFor i = 1 To 2y = y + xx = x + 2NextPrint x, yEnd Sub程序运行后,连续三次单击Command1按钮后,窗体上显示的是_。A)4 2B)12 18C)12 30D)4 635. 阅读程序:Function F(a As Integer)b = 0Static cb = b+1c

25、= c+1f = a+b+cEnd FunctionPrivate Sub Commandl_Click ()Dim a As Integera =2For i =1 To 3Print F(A);Next iEnd Sub运行上面的程序,单击命令按钮,输出结果为 _。A) 4 4 4B) 4 5 6C) 4 6 8D) 4 7 936. 假定有下面的过程:Function Func(a As Integer,b As Integer)As IntegerStatic m As Integer,i As Integerm=0i=2i=i+m+1m=i+a+bFunc=mEnd Function

26、在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim k As Integer,m As IntegerDim p As Integerk=4m=1p=Func(k,m)Print p;p=Func(k,m)Print pEnd Sub程序运行后,单击命令按钮,输出结果为_。A)8 17B)8 16C)8 20D)8 837. 在过程调用中,参数的传递可以分为_和按地址传递两种方式。A)按值传递B)按地址传递C)按参数传递D)按位置传递38. 单击窗体时,下列程序代码的执行结果为_。Private Sub Value(ByVal m As

27、 Integer, ByVal n As Integer)m = m - n: n = n + 3Print m; nEnd SubPrivate Sub Form_click()Dim x As Integer, Y As Integerx = 5: Y = 6Call Value(x, Y)Print x; YEnd SubA)-1 9-1 9B)5 65 6C)-1 95 6D)9 -15 639. 要想在过程调用后返回两个结果,下面的过程定义语句合法的是_。A)Sub Procl(ByVal n,ByVal m)B)Sub Procl(n,ByVal m)C)Sub Procl(n,m

28、)D)Sub Procl(ByVal n,m)40. 在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下程序:Private Sub Command1_Click()Dim x,y,z As Integerx = 5y = 7z = 0Text1.Text = “”Call P1(x,y,z)Text1.Text = Str(z)End SubSub P1(ByVal a As Integer,ByVal b As Integer,c As Integer)c = a + bEnd Sub程序运行后,如果单击命令按钮,则在文本框中显示的内容是_。A)0B

29、)12C)Str(z)D)没有显示41. 在窗体上画一个名称为Comman1的命令按钮,并编写如下程序:Private Sub Command1_Click()Dim x As IntegerStatic y As Integerx = 10y = 5Call f1(x, y)Print x, yEnd SubPrivate Sub f1(x1 As Integer, y1 As Integer)x1 = x1 + 2y1 = y1 + 2End Sub程序运行后,单击命令按钮,在窗体上显示内容是_。A)10 5B)12 5C)10 7D)12 742. 函数过程F1 的功能是:如果参数b为奇

30、数,则返回值为1,否则返回值为0 ,以下能正确实现上述功能的代码是_。A)Function F1 (b As Integer)If b Mod 2= 0 ThenReturn 0ElseReturn 1EndifEnd FunctionB)Function F1 (b As Integer)If b Mod 2=0 ThenF1=0ElseF1=1EndifEnd FunctionC)Function F1 (b As Integer)If b Mod 2 =0 ThenF1 =1ElseF1= 0End ifEnd FunctionD)Function F1 (b As Iinteger)I

31、f b Mod 20 ThenReturn 0ElseReturn 1End ifEnd Function43. 在窗体上画一个命令按钮,名称为Command1,然后编写如下程序:Function Func(ByVal x As Integer, y As Integer)y = y * xIf y 0 ThenFunc = xElseFunc = yEnd IfEnd FunctionPrivate Sub Command1_Click()Dim a As Integer, b As Integera = 3b = 4c = Func(a, B)Print a;b;cEnd Sub程序运行后

32、,单击命令按钮,其输出结果为_。A)3 12 3B)3 4 3C)3 4 12D)3 12 1244. 假定有以下函数过程:Function Fun(S As String)As StringDim s1 As StringFor i = 1 To Len(S)s1 = UCase(Mid(S,i,1)+s1Next iFun = s1End Function在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim Str1 As String, Str2 As StringStr1 = InputBox(“请输入一个字符串”)Str2 =

33、Fun(Str1)Print Str2End Sub程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定”按钮后在窗体上的输出结果为_。A)abcdefgB)ABCDEFGC)gfedcbaD)GFEDCBA45. 单击命令按钮时,下列程序代码的执行结果为_。Private Function FirProc(x As Integer,y As Integer,z As Integer)FirProc=2*x+y+3*zEnd FunctionPrivate Function SecProc(x As Integer,y As Integer,z As Inte

34、ger)SecProc=FirProc(z,x,y)+xEnd FunctionPrivate Sub Command1_Click()Dim a As Integer,b As Integer,c As IntegerA=2:b=3:c=4Print SecProc(c,b,A)End SubA)21B)19C)17D)34二、 填空题1. 阅读下面程序,子过程Swap的功能是实现两个数的交换,请将程序填写完整。Public Sub Swap(x As Integer, y As Integer)Dim t As Integert = x : x = y : y = tEnd SubPriv

35、ate Sub Command1_Click()Dim a As Integer, b As Integera = 10 : b = 20【1】Print “a = ”; a , “b =”; bEnd Sub2. 下列程序中,fac是求n!的递归函数,请将程序填写完整。Public Function fac(n As Integer)If n = 1 Then fac = 1Else fac = 【2】End IfEnd Sub3如下程序,运行的结果是 【3】 ,函数过程的功能是 【4】 。Public Function f(ByVal n% , ByVal r%)If n 0 Thenf

36、= f(nr,r)Print n Mod r;End IfEnd FunctionPrivate Sub Command1_Click()Print f(100,8)End Sub4如下程序,运行的结果是 【5】 ,函数过程的功能是 【6】 。Public Function f(m% , m%)Do While m nDo While m n :m = m n :LoopDo While m n :n = n m :LoopLoopf = mEnd FunctionPrivate Sub Command1_Click()Print f(24,18)End Sub5两质数的差为2,称此对质数为质

37、数对,下列程序,是找出100以内的质数对,并成对显示结果。其中IsP是判断m是否为质数的函数过程。Public Function IsP(m%) As BooleanDim i%【7】For i = 2 to Int(Sqr(m)If 【8】 Then IsP = FalseNext iEnd FunctionPrivate Sub Command1_Click()Dim i%p1 = IsP(3)For i = 5 to 100 stepp2 = IsP(i)If 【9】 Then Print i-2;ip1 【10】Next iEnd Sub6统计输入的文章中单词数,并将出现的定冠词The

38、全部去除,同时统计删除定冠词的个数。假定单词以一个空格间隔。Public Sub PWord(s% ,CountWord% ,CountThe%)Dim len%,i%,st$CountWord = 0 :CountThe = 0st = Trim(s)【11】Do While i 0CountWord = CountWord + 1st = 【12】i = InStr(st,“ ”)LoopCountWord = CountWord + 1st = Trim(s)【13】Do While i 0CountThe = CountThe + 1st = 【14】i = InStr(st,“The

39、”)Loop【15】End Sub7全局变量必须在_【16】_模块中定义,所用的语句为_【17】_。8设有以下函数过程:Function Fun (m as Integer) As IntegerDim k As Integer, Sum As IntegerSum =0For k = m To 1 Step -2Sum =Sum +kNext kFun =SumEnd Function若在程序中用语句 s =fun(10)调用此函数,则s的值为 【18】 。参考答案一、单选题123456789101112131415CDDDABCBBCBDACB16171819202122232425262

40、7282930ACABADCBDCDDBAD313233343536373839404142434445DBABBDACCBDBADA二、填空题【1】Swap a,b【2】n * fac(n-1)【3】1 4 4【4】用递归函数实现将十进制数以r进制显示【5】6【6】用碾转相减法求m、n的最大公约数【7】IsP = True【8】m Mod i = 0【9】p1 AND p2【10】= p2【11】i = InStr(st, )【12】Mid(st,i+1)【13】i = InStr(st,The)【14】Left(st,i-1)+ Mid(st,i+4)【15】s = st【16】标准【17】Public【18】30

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号