项目十 第34练 Function过程《Visual Basic 程序设计》(电工版第六版)一课一练
|
2份
|
9页
|
50人阅读
|
2人下载
内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《Visual Basic程序设计(第6版)》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《Visual Basic程序设计(第6版)》(电子工业出版社)一课一练的项目十的第34练,内容涵盖项目十过程相关内容。
《Visual Basic程序设计(第6版)》(电子工业出版社)第34练
项目十 过程
任务二 Function过程
1、 单项选择题(本题共5小题)
1、下列关于过程退出语句的说法,正确的是( )
A. Exit Sub可在 Function 过程中使用,用于提前退出
B. End语句可退出当前 Sub 过程,且不影响程序其他部分
C. Exit Function执行后,Function 过程立即终止,不再执行后续代码
D. End Function可手动调用,提前结束过程
【答案】 C
【解析】Exit Function是 Function 过程的专用退出语句,执行后立即终止。
2、下列关于 Function 过程返回值的说法,正确的是( )
A. 一个 Function 过程只能返回一个值,且返回值类型必须与定义的类型一致
B. Function 过程可通过多个Function名=值语句返回多个值
C. 若未给 Function 过程赋值返回值,默认返回该类型的默认值
D. Function 过程返回值类型可随时修改
【答案】 A
【解析】Function 核心规则是 “单返回值 + 类型匹配”,一次调用仅能返回一个值,且值的类型需与As 类型定义一致。
3、执行以下代码后,控制台输出的结果是( )
Private Function Sum(a As Integer, b As Integer) As Integer
Sum = a + b
a = 100
End Function
Private Sub Command1_Click()
Dim x As Integer, y As Integer
x = 10: y = 20
Print Sum(x, y); x
End Sub
A. 30 10
B. 30 100
C. 120 10
D. 120 100
【答案】B
【解析】过程内a=100会同步修改x=100,但 VB 中 Function 返回值的计算优先于实参修改,因此输出 “30 100”。
4、下列场景中,优先选择 Function 过程而非 Sub 过程的是( )
A. 弹出一个提示框显示固定文本
B. 遍历数组并输出所有元素
C. 计算两个数的最大公约数并返回结果
D. 修改窗体中控件的属性
【答案】 C
【解析】需要返回计算结果(最大公约数),Function 过程的核心场景(有返回值)。
5、执行以下代码后,控制台输出的结果是( )
Private Sub Test(n As Integer)
n = n + 5
Print n;
End Sub
Private Sub Command1_Click()
Dim m As Integer
m = 3
Test m
Test m
End Sub
A. 8 13
B. 8 8
C. 3 8
D. 报错
【答案】 A
【解析】第一次调用:m=3传入,过程内n=8,同步修改m=8,输出 8;第二次调用:m=8传入,过程内n=13,同步修改m=13,输出 13。
2、 填空题(本题共5小题)
1、Function 函数的返回值通过 “________ = 值” 的方式赋值。
【答案】函数名
【解析】函数返回值不能通过Return,只能给函数名赋值。
2、提前退出 Function 函数的专用语句是________;该语句与End Function的区别是:________是过程结束标记,不可手动调用。
【答案】 Exit Function;End Function
【解析】Exit Function可在函数内任意位置执行,立即终止函数;End Function仅作为函数结尾,不可手动调用。
3、在 VB 中,定义函数过程的关键字是______,结束函数的关键字是______。
【答案】 Function;End Function
【解析】在VB中,函数过程的语法格式为:
Function 函数名(参数列表) As 返回值类型
函数体
函数名 = 要返回的结果 End Function
4、VB 中函数名的命名规则:不能以______开头,不能包含特殊符号,且不能与 VB______重名。
【答案】 数字;关键字
【解析】VB 函数名的首字符只能是字母或下划线,绝对不能以数字开头。函数名必须避开 VB 的关键字 / 保留字。
5、若 VB 函数未显式声明返回值类型,即省略As类型,则函数的返回值类型默认为______。
【答案】Variant
【解析】VB 函数省略As 类型时,默认返回Variant(变体类型),支持存储多种数据类型。
三、程序填空题
1、定义递归 Function 函数Factorial,计算 n 的阶乘:n! = n×(n-1)×…×1,0! = 1。
Private Function Factorial(n As Integer) As Long
If n = 0 Or n = 1 Then
Factorial = 1
Else
Factorial = n * ___________
End If
End Function
【答案】Factorial(n - 1)
【解析】递归的核心是 “调用自身 + 终止条件”,n * Factorial(n-1)实现阶乘计算;返回值类型用Long避免整型溢出。
2、 VB 函数用于判断一个年份是否为闰年,闰年规则:能被 4 整除但不能被 100 整除,或能被 400 整除,补全程序填空。
Function IsLeapYear(year As Integer) As Boolean
If ( ______(1)_________) Or (year Mod 400 = 0) Then
IsLeapYear = True
Else
IsLeapYear = False
End If
End Function
Private Sub Command1_Click()
Dim y As Integer, result As Boolean
y = 2025
_______(2)________
MsgBox "2025年是否为闰年:" & result
End Sub
【答案】
(1)year Mod 4 = 0 And year Mod 100 <> 0
(2)result = IsLeapYear(y)
【解析】闰年判断的第一个条件:“能被 4 整除但不能被 100 整除”。调用定义好的IsLeapYear函数,传入年份变量y(值为 2025),并将函数返回的布尔结果赋值给变量result。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《Visual Basic程序设计(第6版)》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《Visual Basic程序设计(第6版)》(电子工业出版社)一课一练的项目十的第34练,内容涵盖项目十过程相关内容。
《Visual Basic程序设计(第6版)》(电子工业出版社)第34练
项目十 过程
任务二 Function过程
1、 单项选择题(本题共5小题)
1、下列关于过程退出语句的说法,正确的是( )
A. Exit Sub可在 Function 过程中使用,用于提前退出
B. End语句可退出当前 Sub 过程,且不影响程序其他部分
C. Exit Function执行后,Function 过程立即终止,不再执行后续代码
D. End Function可手动调用,提前结束过程
2、下列关于 Function 过程返回值的说法,正确的是( )
A. 一个 Function 过程只能返回一个值,且返回值类型必须与定义的类型一致
B. Function 过程可通过多个Function名=值语句返回多个值
C. 若未给 Function 过程赋值返回值,默认返回该类型的默认值
D. Function 过程返回值类型可随时修改
3、执行以下代码后,控制台输出的结果是( )
Private Function Sum(a As Integer, b As Integer) As Integer
Sum = a + b
a = 100
End Function
Private Sub Command1_Click()
Dim x As Integer, y As Integer
x = 10: y = 20
Print Sum(x, y); x
End Sub
A. 30 10
B. 30 100
C. 120 10
D. 120 100
4、下列场景中,优先选择 Function 过程而非 Sub 过程的是( )
A. 弹出一个提示框显示固定文本
B. 遍历数组并输出所有元素
C. 计算两个数的最大公约数并返回结果
D. 修改窗体中控件的属性
5、执行以下代码后,控制台输出的结果是( )
Private Sub Test(n As Integer)
n = n + 5
Print n;
End Sub
Private Sub Command1_Click()
Dim m As Integer
m = 3
Test m
Test m
End Sub
A. 8 13
B. 8 8
C. 3 8
D. 报错
2、 填空题(本题共5小题)
1、Function 函数的返回值通过 “________ = 值” 的方式赋值。
2、提前退出 Function 函数的专用语句是________;该语句与End Function的区别是:________是过程结束标记,不可手动调用。
3、在 VB 中,定义函数过程的关键字是______,结束函数的关键字是______。
4、VB 中函数名的命名规则:不能以______开头,不能包含特殊符号,且不能与 VB______重名。
5、若 VB 函数未显式声明返回值类型,即省略As类型,则函数的返回值类型默认为______。
三、程序填空题
1、定义递归 Function 函数Factorial,计算 n 的阶乘:n! = n×(n-1)×…×1,0! = 1。
Private Function Factorial(n As Integer) As Long
If n = 0 Or n = 1 Then
Factorial = 1
Else
Factorial = n * ___________
End If
End Function
2、 VB 函数用于判断一个年份是否为闰年,闰年规则:能被 4 整除但不能被 100 整除,或能被 400 整除,补全程序填空。
Function IsLeapYear(year As Integer) As Boolean
If ( ______(1)_________) Or (year Mod 400 = 0) Then
IsLeapYear = True
Else
IsLeapYear = False
End If
End Function
Private Sub Command1_Click()
Dim y As Integer, result As Boolean
y = 2025
_______(2)________
MsgBox "2025年是否为闰年:" & result
End Sub
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$