项目十 第36练 参数的传递《Visual Basic 程序设计》(电工版第六版)一课一练
|
2份
|
7页
|
61人阅读
|
2人下载
内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《Visual Basic程序设计(第6版)》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《Visual Basic程序设计(第6版)》(电子工业出版社)一课一练的项目十的第36练,内容涵盖项目十过程相关内容。
《Visual Basic程序设计(第6版)》(电子工业出版社)第36练
项目十 过程
任务四 参数的传递
1、 单项选择题(本题共5小题)
1、下列场景中,适合使用ByRef参数传递的是( )
A. 计算两数之和,仅返回结果,不修改原数
B. 交换两个变量的值,需要同步修改原变量
C. 输出指定文本,无需返回值
D. 计算数组平均值,返回浮点结果
2、 执行以下代码后,变量b的最终值是( )
Private Sub ModifyVal(ByVal x As Integer)
x = x + 10
End Sub
Private Sub Command1_Click()
Dim b As Integer
b = 8
ModifyVal b
Print b
End Sub
A. 8
B. 18
C. 0
D. 报错
3、名为Sort的Sub子过程的形式参数为一数组,以下的定义语句中正确的是( )
A.Private Sub Sort(A() As Integer)
B.Private Sub Sort(A(10) As Integer)
C.Private Sub Sort(ByVal A() As Integer)
D.Private Sub Sort(A( ,) As Integer)
4、关于 VB 参数传递,下列说法错误的是( )
A. 按值传递的参数,过程内修改不会影响原变量
B. 数组参数不支持 ByVal 关键字,只能按引用传递
C. 传递常量时,无论形参是否声明 ByRef,都会自动按值传递
D. 可选参数必须放在参数列表的开头,且需用 Optional 关键字声明
5、以下有关数组作为形参的说明中,错误的是( )。
A.调用过程时,只需把要传递的数组名填入实参表
B.使用动态数组时,可用ReDim语句改变形参数组的维界
C.在过程中也可用Dim语句对形参数组进行说明
D.形参数组只能按地址传递
2、 填空题(本题共5小题)
1、VB 中参数传递的两种方式是______和______,其中______是默认的传递方式。
2、按值传递时,过程内修改参数值______(会 / 不会)影响原变量;按引用传递时则______(会 / 不会)。
3、调用过程时,直接传递变量名默认按______传递;传递常量默认按______传递。
4、定义带可选参数的过程时,可选参数的关键字是______。
5、VB 中,基本数据类型参数支持ByVal和ByRef,而______参数只能按引用传递,无法使用ByVal。
三、程序填空题
1、下列VB 程序定义了一个 Sub 过程ArraySum,用于计算一维整型数组所有元素的和并返回结果。定义过程:arr为数组形参,sum为按引用传递的求和结果
Private Sub ArraySum(______(1)______ As Integer, ByRef sum As Integer)
Dim i As Integer
sum = 0
For i = LBound(arr) To ______(2)______
sum = sum + arr(i)
Next i
End Sub
Private Sub Command1_Click()
Dim numArr(1 To 5) As Integer, total As Integer
numArr(1) = 1: numArr(2) = 2: numArr(3) = 3: numArr(4) = 4: numArr(5) = 5
Call ArraySum(______(3)______, total)
MsgBox "数组元素总和:" & total
End Sub
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《Visual Basic程序设计(第6版)》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《Visual Basic程序设计(第6版)》(电子工业出版社)一课一练的项目十的第36练,内容涵盖项目十过程相关内容。
《Visual Basic程序设计(第6版)》(电子工业出版社)第36练
项目十 过程
任务四 参数的传递
1、 单项选择题(本题共5小题)
1、下列场景中,适合使用ByRef参数传递的是( )
A. 计算两数之和,仅返回结果,不修改原数
B. 交换两个变量的值,需要同步修改原变量
C. 输出指定文本,无需返回值
D. 计算数组平均值,返回浮点结果
【答案】 B
【解析】需要修改外部变量的值,必须用ByRef(按地址传递)。
2、 执行以下代码后,变量b的最终值是( )
Private Sub ModifyVal(ByVal x As Integer)
x = x + 10
End Sub
Private Sub Command1_Click()
Dim b As Integer
b = 8
ModifyVal b
Print b
End Sub
A. 8
B. 18
C. 0
D. 报错
【答案】A
【解析】形参x为ByVal(按值传递),过程内修改x=18仅改变局部副本,不会影响外部实参b,因此b仍为 8。
3、名为Sort的Sub子过程的形式参数为一数组,以下的定义语句中正确的是( )
A.Private Sub Sort(A() As Integer)
B.Private Sub Sort(A(10) As Integer)
C.Private Sub Sort(ByVal A() As Integer)
D.Private Sub Sort(A( ,) As Integer)
【答案】A
【解析】A() As Integer,用空括号()表示数组,指定了数组元素的类型为 Integer。
4、关于 VB 参数传递,下列说法错误的是( )
A. 按值传递的参数,过程内修改不会影响原变量
B. 数组参数不支持 ByVal 关键字,只能按引用传递
C. 传递常量时,无论形参是否声明 ByRef,都会自动按值传递
D. 可选参数必须放在参数列表的开头,且需用 Optional 关键字声明
【答案】D
【解析】可选参数需用Optional关键字,但必须放在参数列表的末尾,而非开头。
5、以下有关数组作为形参的说明中,错误的是( )。
A.调用过程时,只需把要传递的数组名填入实参表
B.使用动态数组时,可用ReDim语句改变形参数组的维界
C.在过程中也可用Dim语句对形参数组进行说明
D.形参数组只能按地址传递
【答案】C
【解析】形参数组已在过程定义的参数列表中声明,过程内不能再用Dim声明同名数组。
2、 填空题(本题共5小题)
1、VB 中参数传递的两种方式是______和______,其中______是默认的传递方式。
【答案】 ByVal;ByRef;ByRef
【解析】VB 参数传递核心是默认按ByRef,显式写ByVal才是按值传递。
2、按值传递时,过程内修改参数值______(会 / 不会)影响原变量;按引用传递时则______(会 / 不会)。
【答案】 不会;会
【解析】值传递不会改变原值,引用传递会原值。
3、调用过程时,直接传递变量名默认按______传递;传递常量默认按______传递。
【答案】 引用;值
【解析】变量名默认按引用(ByRef)传递,常量默认按值传递。
4、定义带可选参数的过程时,可选参数的关键字是______。
【答案】 Optional
【解析】Optional是 VB 中声明可选参数的专用关键字,需放在参数名前。
5、VB 中,基本数据类型参数支持ByVal和ByRef,而______参数只能按引用传递,无法使用ByVal。
【答案】 数组
【解析】数组 / 对象是 VB 中仅支持按引用传递的核心参数类型,无法使用ByVal关键字。
三、程序填空题
1、下列VB 程序定义了一个 Sub 过程ArraySum,用于计算一维整型数组所有元素的和并返回结果。定义过程:arr为数组形参,sum为按引用传递的求和结果
Private Sub ArraySum(______(1)______ As Integer, ByRef sum As Integer)
Dim i As Integer
sum = 0
For i = LBound(arr) To ______(2)______
sum = sum + arr(i)
Next i
End Sub
Private Sub Command1_Click()
Dim numArr(1 To 5) As Integer, total As Integer
numArr(1) = 1: numArr(2) = 2: numArr(3) = 3: numArr(4) = 4: numArr(5) = 5
Call ArraySum(______(3)______, total)
MsgBox "数组元素总和:" & total
End Sub
【答案】
(1) arr( )
(2) UBound(arr)
(3) numArr
【解析】数组形参的标准声明方式:为空括号,不能指定下标,不能加 ByVal;UBound(arr)获取数组的上界,LBound(arr)获取下界,配合遍历数组所有元素;调用数组形参的过程时,只需传入数组名numArr。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$