《Visual Basic  程序设计》寒假作业
一、选择题
1.要想在过程调用后返回两个结果,下面过程定义语句中语法正确的是_______。
A.  Sub  swap(By Val m,By Val n)        B.  Sub swap(m, By Val n)
C.  Sub  swap(m, n)                      D.  Sub swap(By Val m, n)
2.在过程调用中,参数的传递可以分为按值传递和_______两种方式。
A.  按参数传递    B. 按数值传递    C. 按地址传递    D. 按位置传递
3.Sub过程与Function过程最根本的区别是_______。
A.  Sub过程可以直接使用过程名调用,而Function过程不可以
B.  Function过程可以有参数,而Sub过程不可以
~
C.  两种过程参数传递方式不同               
D.  Sub过程的过程名不能返回值,而Function过程能通过过程名返回值
4.在参数传递过程中,使用关键字_______来修饰参数,可以使之按值传递。
A.  ByVal      B.  ByRef      C.  Value      D.  reference
5.可以执行“工具”菜单中的_______命令来建立通用过程。
A.  添加过程      B. 通用过程      C.  添加模块      D.  添加窗体
6.假定已定义一个过程Public Sub Cir(a As Single, b As Single),则正确的调用语句是_______。A,2
A.  Cir 3,8        B.  Call  Cir x, y      C.  Call  Cir 2*x, y      D.  Call  Cir (3,8, y)
7. 在窗体上添加一个名称为Command1的命令按钮,再添加两个名称分别为Label1、Label2的标签,然后编写如下程序代码:
Private x As Integer
Private Sub Command1_Click()
a = 6: b = 4
Call sub1(a, b)
= a
= b
End Sub
Private Sub sub1(ByVal x As Integer, ByVal y As Integer)
a = x * x
b = y * y
End Sub
程序运行后单击命令按钮,则两个标签中显示的内容分别是_______。
A.  36和4    B.  6和4      C.  36和8      D.  6和8
8. 设有如下通用过程:
Public Function fun(x As Integer)
  Dim y As Integer
  x = 30: y = 4
  fun = x * y
End Function
在窗体上添加一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
  Static x As Integer
  x = 20: y = 10
  y = fun(x)
  Print x; y
End Sub
程序运行后,如果单击命令按钮,则在窗体上显示的内容是_______。
A.  20  10    B.  30  10      C.  20  4      D.  30  120
9.以下叙述中,不正确的是_______。
A. 过程中的形式参数是局部变量。
B. 不同的过程中可以使用相同名字的局部变量。
!
C. 在一个过程内定义的变量只在本过程范围内有效。               
D. 在一个过程内的局部变量与全局变量同名时,起作用的是全局变量。
10.以下关于过程参数的叙述中,错误的是_______。
A. 按值传递参数,形参和实参的类型可以不同,只要相容即可。
B. 若形参是按地址传递的参数,形参和实参也能以按值传递方式进行形实结合。
C. 形参的数据类型如果是String,它可以是定长的,但在调用时对应的实参只能是定长的。               
D. 在过程被调用之前,形参未被分配内存,只是说明形参的类型和在过程中的作用。
11.假设有如下过程:
Public Sub sfun(x As Single, y As Single)
  t = x
~
  x = t / y
  y = t Mod y
End Sub
在窗体中添加一个命令按钮(名为Command1),编写如下事件过程:
Private Sub Command1_Click()
Dim a As Single
Dim b As Single
a = 5: b = 4
Call sfun(a, b)
MsgBox a & Chr(10) + Chr(10) & b
'
End Sub
大一vb程序设计基础打开窗体运行后,单击命令按钮,消息框中有两行输出,内容分别为_______。
A.  1和1      B.  和1      C.  和4      D.  5和4
12. 使用Function语句定义一个函数过程,其返回值的类型为_______。
A. 只能是符号常量
B. 是除数组之外的简单数据类型
C. 可在调用时由运行过程决定。               
D. 由函数定义时As子句声明
13.下面程序的输出结果是_______:
Private Sub proc(ch As String)
s = "  "
For k = Len(ch) To 1 Step -1
  s = s & Mid(ch, k, 1)
Next k
ch = s
End Sub
Private Sub Command1_Click()
ch$ = "ABCDEF"
proc ch
Print ch
End Sub
A.  ABCDEF      B.  A          C.  FEDCBA        D.  F
14.在窗体上绘制一个名为Command1的命令按钮和两个名为Label1、Label2的标签,然后编写如下程序:______
Private x As Integer
Private Sub proc(a As Integer, ByVal b As Integer)
x = a * a
y = b + b
End Sub
Private Sub Command1_Click()
/
x = 5: y = 3
Call proc(x, y)
  = x
  = y
End Sub
A. 25和3      B.5和3          C. 25和6        D.  5和6
15.以下是一个能返回数组a中最大数的函数过程代码:
Function maxval(a() As Integer) As Integer
  Dim max%
  max = 1
  For i = 2 To 10
    If a(i) > a(max) Then max = k
  Next i
  maxval = max
End Function
程序运行时,发现函数过程的返回值是错的需要修改,下面的修改方案中正确的是______。
A. 语句“max = 1”应改为“max = a(1)”
B. 语句“For i = 2 To 10”应改为“For i = 1 To 10
C. if语句“max = k”应改为“max = a(k)”
D. 语句“maxval = max ”应改为“maxval  = a(max)”
$
二、判断题
1.Sub过程中不能嵌套定义Sub过程。(  )
3.函数过程形参的类型与函数返回值的类型没有关系。(  )
4.在函数过程中,过程的返回值可以有多个。(  )
5.用数组作为过程的参数时,既能以传值方式传递,也能以传地址方式传递。(  )
6.形式参数是数组时,不能进行维数说明,只能以一对空括号表示,且括号不能省略。(  )
7.形式参数只在所在过程中有效,因此属于局部变量。(  )
8.在不同的模块中可以声明定义相同名字的模块级变量,它们代表不同的对象,而且作用域范围不同,因此互不干扰。(  )
9.过程名前加Static,表示该过程内的局部变量都是静态变量。(  )
12.Sub子过程的过程名不能和同一级别的变量重名。(  )
*
14.函数只能出现在表达式中,其功能是求得函数的返回值。(  )
16.若形参是按地址传递的参数,形参和实参不能以按值传递方式进行形实结合。(  )
17.当实参是常量、表达式形式,则不论其对应形参前定义成什么方式,系统都强制按值传递参数。(  )
18.在标准模块中定义的全局变量,在本应用程序的任何一个过程中都可直接用它的变量名来访问。(  )
三、填空题   
1.窗体事件过程名由“________”、下划线和事件名组成。
2.按传地址方式传递参数时,要求实参必须是______,此时实参与形参变量共有同一个存储单元。 
3.运行以下程序,输出的结果为_______________。
Private Function jc(x As Integer) As Long
    Dim i As Integer
*
    jc = 1
    For i = 1 To x
      jc =jc * i
    Next i
End Function
Private Sub Form_Click()   
    Dim he as Long
    he = jc(5)+ jc(3)
    Print he
End Sub
4.以下是一窗体的单击事件代码:
Private Sub Form_Click()
  Static count%
  count = count + 1
  Print "单击窗体"; count; "次"
End Sub
第3次单击窗体后,count的值为_______。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。