第06章过程设计题目_第1页
第06章过程设计题目_第2页
第06章过程设计题目_第3页
第06章过程设计题目_第4页
第06章过程设计题目_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.当在Text1文本框中输入字母“A”时,则被调用的事件过程是(D)。A. Form_KeyPress() B. Text1_LostFocus() C. Text1_Click() D. Test1_Change()2. 当单击窗体上名称为Command1的命令按钮时,则光标移动到名称为Text1的文本框中。下面正确的事件过程是(B)。A.Private Sub Command1_Click() Text1.GotFocusEnd SubB. Private Sub Command1_Click() Text1.SetFocusEnd SubC. Private Sub Text1_Cli

2、ck() Command1.GotFocusEnd SubD. Private Sub Text1_Click() Command1.SetFocusEnd Sub3. 单击窗体Form1上的一个列表框List1中某一项时,把该项显示在窗体上,正确的事件过程是(A)。A. Private Sub List1_Click() Print List1.Text End SubB. Private Sub List1_Click() Print List1.ListIndex End SubC. Private Sub List1_Click() Print List1.List(ListIndex

3、) End SubD. Private Sub Form_Click() Print List1.List(List1.ListIndex)End Sub4. 根据阶乘的定义,可编写求阶乘的递归函数过程如下,其中空格处应该是(B)。Private Function Fact(ByVal N As Integer) As Long If N=0 Or N=1 Then Fact=1 Else Fact=_N*Fact(N-1) _ End IfEnd FunctionA. N*N-1 B. N*Fact(N-1) C. N*(N-1) D. N*(N-1)!5. 为达到把a、b中的值交换后输出的

4、目的,某人编程如下: Private Sub Command1_Click() a% = 10:b% = 20 Call swap(a,b) Print a,b End SubPrivate Sub swap(ByVal a As Integer,ByVal b As Integer) c= a:a=b:b=cEnd Sub在运行时发现输出结果错了,需要修改。下面列出的错误原因和修改方案中正确的是(C)。A. 调用swap过程的语句错误,应改为Call swap a,bB. 输出语句错误,应改为:Print ”a”,”b”C. 过程的形式参数有错,应改为:swap(ByRef a As Int

5、eger,ByRef b As Integer)D. swap中3条赋值语句的顺序是错误的,应改为a=b:b=c:c=a6. 下面程序的输出结果是(B)。 Private Sub Command1_Click() ch$=”ABCDEF” proc ch Print ch End SubPrivate Sub proc(ch As String) S=” For k=Len(ch) To 1 Step-1 s=s&Mid(ch,k,1) Next k ch=sEnd SubA. ABCDEF B. FEDCBA C. A D. F7. 某人编写了一个能够返回数组a中10个数中最大数的函数过程,

6、代码如下:Function MaxValue(a() As Integer) As Integer Dim max% max=1 For k = 2 To 10 If a(k)a(max) Then max = k End If Next k MaxValue = maxEnd Function程序运行时,发现函数过程的返回值是错的,需要修改,下面的修改方案中正确的是( C )A. 语句max = 1应改为max = a(1) B. 语句For k = To 10应改为For k = To 10C. 语句MaxValue = max 应改为MaxValue = a(max)D. If语句中的条

7、件a(k)a(max)应改为a(k)max8. 在窗体上画一个名称为Command1的命令按钮,并编写以下程序:Private Sub Command1_Click() Dim n%,b,t t = 1:b = 1:n = 2 Do b = b*n t = t + b n = n +1 Loop Until n9 Print t End Sub 此程序计算并输出一个表达式的值,该表达式是( C )。A. 9! B. 10! C. 1!+2!+9! D. 1!+2!+10!9. 设在名称为Myform的窗体上只有1个名称为C1的命令按钮,下面叙述中正确的是( B )。A. 窗体的Click事件过

8、程的过程名是Myform_ClickB. 命令按钮的Click事件过程名是C1_ClickC. 命令按钮的Click事件过程的过程名是Command1_ClickD. 命令按钮的Click事件过程的过程名是Form1_Click10. 工程中有2个窗体,名称分别为Form1、Form2,Form1为启动窗体,该窗体上有命令按钮Command1,要求程序运行后单击该命令按钮时显示Form2,则按钮的Click事件过程应该是( A )。A. Private Sub Command1_Click( ) Form2.ShowEnd SubB. Private Sub Command1_Click( )

9、 Form2.VisibleEnd SubC. Private Sub Command1_Click( ) Load Form2End SubD. Private Sub Command1_Click( ) Form2.LoadEnd Sub11. 已知有下面的过程: Private Sub proc1(a As Integer,b As String,Optional x As Boolean) End Sub正确调用此过程的语句是( D ) 。A. Call procl(5) B. Call proc1 5,”abc”,FalseC. proc1(12,”abc”,True) D. pro

10、c1 5, “abc” 12. 某人创建了1个工程,其中的窗体名称为Form1;之后又添加了1个名为Form2的窗体,并希望程序执行时先显示Form2窗体,那么,他需要做的工作是( A )。A. 在工程属性对话框中把“启动对象”设置为Form2B. 在Form1的Load事件过程中加入语句 Load Form2C. 在Form2的Load事件过程中加入语句Form2.ShowD. 在Form2的TabIndex属性设置为,把Form1的TabIndex属性设置为13. 以下叙述中正确的是(b )。A. 一个Sub过程至少要有一个Exit Sub语句B. 一个Sub过程必须有一个End Sub语

11、句C. 可以在Sub过程中定义一个Function过程,但不能定义Sub过程D. 调用一个Function过程可以获得多个返回值14. 有以下程序:Sub subP(b() As Integer) For i = 1 To 4 b(i) = 2*I Next IEnd SubPrivate Sub Command1_Click() Dim a(1 To 4)As Integer a(1) = 5:a(2) = 6:a(3) = 7: a(4) = 8 subP a For i = 1 To 4 Print a(i) Next iEnd Sub运行上面的程序,单击命令按钮,输出结果为( A )。

12、A. 2468B. 5678C. 10121416D. 出错15. 在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:Private Sub TxtA_KeyPress(KeyAscii As Integer) End Sub假定焦点已经位于文本框中,则能够触发KeyPress事件的操作是( D )。A. 单击鼠标 B. 双击文本框 C. 鼠标滑过文本框 D. 按下键盘上的某个键16. 在窗体画一个命令按钮和两个文本框,其名称分别为Command1,Text1和Text2,然后编写如下程序:Dim S1 As String, S2 As StringPrivate Sub Form

13、_Load() Text1.Text = Text2.Text =End SubPrivate Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer) S2 = S2 & Chr(KeyCode)End SubPrivate Sub Text1_KeyPress(KeyAsciil As Integer) S1 = S1 & Chr(KeyAscii)End SubPrivate Sub Command1_Click() Text1.Text S2 Text2.Text S1 S1 = S2 =End Sub 程序运行后,在Text1输入“

14、abc”,然后单击命令按钮,在文本框Text1和Text2中显示的内容分别为(C )。A. abc和ABC B. abc和abc C. ABC和abc D. ABC和ABC17. 以下关于过程的叙述中,错误的是( B )。A. 事件过程是由某个事件触发而执行的过程B. 函数过程的返回值可以有多个C. 可以在事件过程中调用通用过程D. 不能在事件过程中定义函数过程18. 以下关于函数过程的叙述中,正确的是(D )。A. 如果不指明函数过程参数的类型,则该参数没有数据类型B. 函数过程的返回值可以有多个C. 当数组作为函数过程的参数时,既能以传值方式传递,也能以引用方式传递D. 函数过程形参的类型

15、与函数返回值的类型没有关系19. 以下关于KeyPress事件过程中参数KeyAscii的叙述中正确的是(A )。A. KeyAscii参数是所按键的ASCII码B. KeyAscii参数的数据类型为字符串C. KeyAscii参数可以省略D. KeyAscii参数是所按键上标注的字符20. 如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是( D)。 A. 任何时刻最多只有一个窗体是活动窗体B. 不能把标准模块设置为启动模块C. 用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体D. 如果工程中含有SubMain过程,则程序一定首先执行该过程21. 在窗体(名称为Form1)上添加

16、一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写一个事件过程。程序运行后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“淮海工学院VB考试”。以下能实现上述操作的事件过程是(A)。A. Private Sub Text1_Change( ) Command1.Caption = 淮海工学院VB考试End SubB. Private Sub Command1_ Click ( ) Caption = 淮海工学院VB考试 End SubC. Private Sub Form1_ Click () Text1.Caption = 淮海工学院VB考试 End Sub

17、D. Private Sub Command1_ Click () Text1.Text = 淮海工学院VB考试End Sub22. 在Visual Basic工程中,可以作为“启动对象”的程序是(D)。A. 任何窗体或标准模块 B. 任何窗体或过程C. Sub Main过程或其他任何模块D. Sub Main过程或任何窗体23. 以下关于多窗体程序的叙述中,错误的是(A)。A. 用Hide方法不但可以隐藏窗体,而且能清除内存中的窗体B. 在多重窗体程序中,各窗体的菜单是彼此独立的C. 在多重窗体程序中,可以根据需要指定启动窗体D. 对于多重窗体程序, 需要单独保存每个窗体24. 当一个复选框

18、被选中时,它的Value属性的值是(C)。A. 3 B.2 C.1 D. 025. 以下叙述中错误的是(B )。A. 在KeyPress事件过程中不能识别键盘的按下与释放B. 在KeyPress事件过程中不能识别回车键C. 在KeyDown和KeyUp事件过程中,将键盘输入的A和a视作相同的字母D. 在KeyDown和KeyUp事件过程中,从大键盘上输入的1和从右侧小键盘上输入的1被视作不同的字符26. 一个工程中含有窗体Form1、Form2和标准模块Model1,如果在Form1中有语句Pubilc X As Integer,在Model1中有语句Pubilc Y As Integer,则

19、以下叙述中正确的是(C)。A. 变量X、Y的作用域相同 B. Y的作用域是Model1C. 在Form1中可以直接使用X D. 在Form2中可以直接使用X和Y27. 在窗体上画一个名称为Text1的文本框,一个名称为Command1的命令按钮,然后编写如下事件过程和通用过程:Private Sub Command1_Click() n = Val(Text1.Text) If n2 = n/2 Then f = f1(n) Else f = f2(n) End If Print f; nEnd SubPublic Function f1(ByRef x) x=x*x f1=x+xEnd Fu

20、nctionPublic Function f2(ByVal x) x=x*x f2=x+x+xEnd Function程序运行后,在文本框中输入6,然后单击命令按钮,窗体上显示的是(A)。A. 72 36 B. 108 36 C. 72 6 D. 108 628. 在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:PrivateSubTxtA_KeyPress(keyasciiasinteger)EndSub若焦点位于文本框中,则能够触发KeyPress事件的操作是(D)。A. 单击鼠标 B. 双击文本框 C. 鼠标滑过文本框 D. 按下键盘上的某个键29. 以下叙述中错误的是(

21、D)。A. 如果过程被定义为Static类型,则该过程中的局部变量都是Static类型B. Sub过程中不能嵌套定义Sub过程C. Sub过程中可以嵌套调用Sub过程D. 事件过程可以像通用过程一样由用户定义过程名30. 下面的过程定义语句中合法的是(D )。A. Sub Proc1(ByVal n() B. Sub Proc1(n) As IntegerC. Function Proc1(Proc1) D. Function Proc1(ByVal n)31. 要想在过程调用后返回两个结果,下面的过程定义语句合法的是(C)。A. Sub Proc1(ByVal n,ByVal m) B. S

22、ub Proc1(n,ByVal m)C. Sub Proc1(n,m) D. Sub Proc1(ByVal n,m)32. Sub过程与Function过程最根本的区别是( D)。A. Sub过程可以试用Call语句或直接使用过程名调用,而Function过程不可以B. Function过程可以有参数,Sub过程不可以C. 两种过程参数的传递方式不同D. Sub过程的过程名不能返回值,而Function过程能通过过程名返回值。33. 在参数传递过程中,使用关键字(A)来修饰参数,可以使之按值传递。A. ByVal B. ByRef C. Value D. Reference34有如下程序代

23、码,在去掉Static SUM语句之前和之后,各单击一次命令按钮,执行结果分别为(A)。A. 35和20 B. 35和115 C. 20和115 D. 20和3535. 有如下程序代码,在删去Value过程形参表中的ByVal关键字之前和之后,各单击一次窗体,执行结果分别为(B)。A. 20 10和20 1020 10 10 15B. 20 10和20 1010 15 20 10C. 10 15和10 1510 15 20 10D. 10 15和10 1520 10 10 1536. 在Visual Basic应用程序中,以下正确的描述是(B)。A. 过程的定义可以嵌套,但过程的调用不能嵌套B

24、. 过程的定义不可以嵌套,但过程的调用可以嵌套C. 过程的定义和过程的调用均可以嵌套D. 过程的定义和过程的调用均不可以嵌套37. 有如下程序:Private Static Function Fac(n As Integer) As Integer Dim f As Integer f=f+n Fac=fEnd FunctionPrivate Sub Form_Click() Dim I As Integer For I=2 To 3 Print #;I;= & Fac(I) Next IEnd Sub程序运行后,单击窗体,在窗体上显示的是(B)。A. #2=2#3=3B. #2=2#3=5C

25、. #;2=2#;3=3D. #;2=2#;3=538. 单击命令按钮时,下列程序代码的执行结果为(B)。Private Sub Command1_Click() Dim x As Integer, y As Integer x=12:y=34 Call Pro(x,y) print x;yEnd SubPublic Sub Pro(n As Integer,ByVal m As Integer) n=n Mod 10 m=m10End SubA. 12 34 B. 2 34 C. 2 3 D. 12 339. 下面的Sub过程中,只有一个形参,且形参为窗体类型。空格处应该补充的内容是(C)。

26、A. Form As Form B. FormNum As Form C. Me As Form D. FormNum40. 设有如下过程:Sub Fun(a,b,c) c=a+bEnd Sub以下调用语句中,所有参数的形实结合都是按地址传递的是(D)。A. Call Fun(3,5,z) B. Call Fun(x+y,x-y,z)C. Call Fun(3+x,5+y,z) D. Call Fun(x,y,z)41. 以下关于过程的对象参数描述中,正确的是(C)。A. 过程的对象参数特指窗体,并不包括控件B. 过程的对象参数特指控件,并不包括窗体C. 过程的对象参数的传递只能是按地址传递D

27、. 过程的对象参数的传递只能是按数值传递42. 单击命令按钮时,下列程序代码的执行结果为(a)。Private Sub Command1_Click() Dim a As Integer, b As Integer,c As Integer a=2:b=3:c=4 print Pro2(c,b,a)End SubPublic Function Pro1(x As Integer,y As Integer,z As Integer) Pro1=2*x+y+3*zEnd FunctionPublic Function Pro2(x As Integer,y As Integer,z As Inte

28、ger) Pro2=Pro1(z,x,y)+xEnd FunctionA. 21 B. 19 C. 17 D. 3443. 单击命令按钮,下列程序代码的执行结果是(D)。Private Sub Command1_Click() m=5:n=4 Call Pro1(m),n) print m,nEnd SubPublic Sub Pro1(n,m) s=n n=s/m m=s Mod mEnd SubA. 5 1 B. 1 4 C. 5 4 D. 1.25 144. 通用过程可以通过执行“工具”菜单中的(A)命令来建立。A. 添加过程 B. 通用过程 C. 添加窗体 D. 添加模块45. 单击命

29、令按钮时,下列程序代码的执行结果为(D)。Private Sub Command1_Click() y=10 print Fun1(1+Fun1(Fun1(Fun1(y)*10)End SubPrivate Function Fun1(x) Fun1=1/xEnd FunctionA. 2 B. 1.001 C. 0.90909 D. 0.546. 单击命令按钮时,下列程序代码的执行结果为(A)。Private Sub Command1_Click() print Fun1(2,3,0) print Fun1(2,3,4) print Fun1(2,3,0)End SubPrivate Fun

30、ction Fun1(x,y,z) As Integer Fun1=x*y-zEnd FunctionA. 626B. 622C. 662D. 出错47. 下列程序执行后,在文本框中输入“a”,输出结果是(B)。Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer) Print KeyCodeEnd Sub A. 97 B. 65 C. 0 D. 出错48. 单击命令按钮时,下列程序代码的执行结果为(C)。Private Sub Command1_Click() For i=1 To 10 GetValue i Next i

31、 print GetValue(i)End SubPrivate Function GetValue(ByVal a As Integer) Static s As Intger s=s+a GetValue=sEnd FunctionA. 10 B. 65 C. 66 D. 1149. 在窗体上添加一个名称为Command1的命令按钮,再添加两个名称分别为Label1、Label2的标签,然后编写如下程序代码:Private X As IntegerPrivate Sub Command1_Click() X=5:Y=3 Call Proc(X,Y) Label1.Caption= X La

32、bel2.caption=YEnd SubPrivate Sub proc(ByVal a As Integer,ByVal b As Integer) X=a*a Y=b+bEnd Sub程序运行后,单击命令按钮,则两个标签中显示的内容分别是(B)。A. 5和3 B. 25和3 C. 25和6 D. 5和650. 一个工程中包含两个名称分别为Form1、Form2的窗体,一个名称md1Func的标准模块。假定在Form1、Form2和mdlFunc中分别建立了自定义过程,其定义格式为:Form1中定义的过程:PrivateSubfrmFunction1()EndSubForm2中定义的过程P

33、ublicSubfrmFunction2()EndSubmdlFunc中定义的过程:PublicSub md1Function()EndSub在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是(C)。 A. frmFunction2和mdlFunction过程能够在工程中各个窗体或模块中被调用B. 上述三个过程都只能在各自被定义的模块中调用C. 只有md1Function过程能够被工程中各个窗体或模块调用D. 上述三个过程都可以在工程中的任何窗体或模块中被调用51. 下面语句执行后,立即从一个Sub过程中退出的是(A)。 A. Exit Sub B. Exit

34、C. Return D. Resume53. 在过程的定义中,Private标识( D)。A. 此过程可以被其他过程调用B. 此过程不可以被任何其他过程调用C. 此过程只可以被本工程的其他过程调用D. 此过程只可以被本窗体模块中的其他过程调用54. 如果在被调用过程中改变了形参值,只影响副本,而不会影响实参变量本身,这种参数传递方式称为(A)传递。A. 传值 B. 按地址 C. ByRef D. 按形参55. 单击命令按钮时,下列程序代码的执行结果为(A)。Dim a As Integer,b As Integer,c As IntegerPrivate Sub Command1_Click(

35、) a=3:b=5:c=7 Call Pro1(a,b) print a=;a;b=;b;c=;c Call Pro2(a,b) print a=;a;b=;b;c=;cEnd SubPrivate Sub Pro1(x As Integer,y As Integer) Dim c As Intger x=2*x:y=y2:c=x Mod yEnd FunctionPrivate Sub Pro2(ByVal x As Integer,y As Integer) Dim c As Intger x=2*x:y=y2:c=x Mod yEnd FunctionA. a=6 b=25 c=7a=6

36、 b=625 c=7B. a=6 b=25 c=7a=6 b=25 c=7C. a=6 b=625 c=7a=6 b=625 c=7D. a=6 b=625 c=7a=6 b=25 c=756. 建立函数的目的之一是(A)。A. 提高程序的可读性 B. 减少程序所占内存C. 提高程序的执行效率 D. 体现程序员的专业水平57. 在过程中定义的变量,如果希望在离开该过程后,还能保存过程中局部变量的值,则应该使用( D)关键字在过程中定义局部变量。A. Dim B. Private C. Public D. Static58. 变量I为整型变量,若实参书写为(I),则它和对应形参之间的数据传递方式

37、是(A)。A. 按值传递 B. 按地址传递 C. 按参数传递 D. 按位置传递59. VB允许函数名的数据类型默认,此时该函数返回值隐含的类型是(B)。A. Integer B. Variant C. Long D. Double60. 若用数组名作为函数调用的实参,传递给形参的是( A)。A. 数组第一个元素的地址B. 数组第一个元素的值C. 数组全部元素的值D. 传递方式是值的传递61. 下列过程名合法的是( D)。A. Sub addA.() B. private Sub 12add() C. Function multi*() D. Function A() As Integer62.

38、 在某窗体中有语句:Public Abc As Long,则变量Abc的有效作用域是(A)。A. 整个应用程序的所有模块中 B. 该窗体的所有过程中C. 只能在该窗体的事件过程内 D. 只能在该窗体的通用过程内63. 用Static关键字定义过程是指(C)。A. 声明过程名是静态的 B. 声明形参是静态的C. 声明过程中所有的局部变量是静态的 D. 声明函数过程的返回值是静态的64. 下列叙述中正确的是( C)。A. 在窗体的Form_Load事件过程中定义的变量是全局变量B. 局部变量的作用域可以超出缩定义的过程C. 在某个Sub过程中定义的局部变量可以与其他事件过程中定义的局部变量同名,但其作用域只限于该过程D. 在调用过程时,所有局部变量被系统初始化为0或空字符串65. 下面有关窗体事件过程名的说法正确的是(D)。A. 不管单窗体工程还是多窗体工程,窗体事件过程名都由Form、下划线和事件名结合而成。B. 不管单窗体工程还是多窗体工程,窗体事件过程名都由窗体的名称、下划线和事件名结合而成。C. 不管单窗体工程还是多窗体工程,窗体事件过程名都由窗体的Caption属性值、下划线和事件名结合而成。D. 单窗体工程的窗体事件过程名由“Fo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论