内容正文:
编写说明:2026版内蒙古对口招生《计算机类考纲百套卷》依据《内蒙古自治区高等职业院校对口招收中等职业学校毕业生计算机类专业课综合考试指导纲要》编写。本套试卷共100份,分为三个部分,第一部分是根据考试大纲的各考点范围与要求,编写的70份知识点训练卷,第二部分是针对每门课程的重点内容,编写的20份常考题训练卷,第三个部分是参考近几年内蒙古考试真题,编写了10份专业综合训练卷。
本试卷是2026版内蒙古对口招生《计算机类考纲百套卷》的第18卷,是知识点训练卷,按考纲中的《Visual Basic程序设计》的第8章 过程的范围与要求编写。具体内容如下:
事件过程
子过程
过程间参数的传递
过程的嵌套与递归
常用算法实例
2026版内蒙古对口招生《计算机类考纲百套卷》 第18卷
《Visual Basic 程序设计》
过程(3) 知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共25小题,每题2分,共50分)
1. 下列关于函数说明正确的是( )。
A.定义函数过程时,若没有用As子句说明函数的类型,则函数过程与Sub过程一样,都是无类型过程
B.在函数体中,如果没有给函数名赋值,则该函数过程没有返回值
C.函数名在过程中只能被赋值一次
D.函数过程是通过函数名返回函数值的
2. 设有子过程Pro1,有一个虚参变量。下列调用语句中,按传址方式传递数据的语句是( )。
A.Call Pro1(a) B.Call Prol(12)
C.Call Pro1(a*a) D.Call Prol(12+a)
3.已知一窗体中有如下函数过程和一命令按钮Command1,则单击Command1时,输出结果为( )。
Private Function Sum( ByVal a, ByVal b,ByVal c)
a=a+1:b=b+1:c=c+1
Sum=a+b+c
End Function
Private Sub Command1_Click( )
a=1:b=2:c=3
y=Sum(a,b,c)
Print a;b;c
End Sub
A. 1 2 3 B. 2 3 4 C. 1 3 4 D. 1 2 4*A
4. 已知一窗体中有如下函数过程和一命令按钮Command1,则单击Command1时,输出结果为( )。
Public Function even(x)
If x Mod 2 = 0 Then
even = 1
else
even = 0
End If
End Function
Private Sub Command1_Click()
n = 20
If even(n) = 1 Then
Print n; "is a even number."
Else
Print n; "is not a even number."
End If
End Sub
A. 20 is a even number. B. 20 is not a even number.
C. n is a even number. D. n is not a even number.
5. 已知一窗体中有如下函数过程和一命令按钮Command1,则单击Command1时,输出结果为( )。
Public Function Fun(x, y)
Fun = 1
For I = 1 To y
Fun = Fun * x
Next I
End Function
Private Sub Command1_Click()
Print Fun(3, 4)
End Sub
A. 3 B. 4 C. 81 D. 256
6. 已知一窗体中有如下子过程和一命令按钮Command1,则单击Command1时,输出结果为( )。
Public Sub change(ByVal x, ByVal y)
t = x: x = y: y = t
End Sub
Private Sub Command1_Click()
a = 12: b = 34: Call change(a, b)
Print a; b
End Sub
A. 12 34 B. 34 12 C. 21 43 D. 43 21
7.以下定义的函数中( )不是按“传址”方式传递参数的。
A.Public Function Sum(x,y)
B.Public Function Sum(ByVal x, ByVal y)
C.Public Function Sum(x As Integer,y As Integer)
D.Public Function Sum(x%, y%)
8. 以下过程的定义中,( )是错误的。
A. Public Sub Sum(x ; y)
B. Public Sub Sum(ByVal x, ByVal y)
C. Public Sub Sum(x As Integer,y As Integer)
D. Public Sub Sum(x%, y%)
9. 函数过程是以( )保留字开始的。
A. Function B. Sub C. Property D. Event
10. 在以下事件过程中,Private表示( )。
Private Sub txtName_Change() …… End Sub
A. 此过程可以被任何其它过程调用 B. 此过程只可以被本窗体模块中的其它过程调用
C. 此过程不可以被任何其它过程调用 D. 此过程是一个不可用过程
11.下面过程运行后显示的结果是( )
Public Sub a(n As Integer, ByVal m As Integer)
n = n Mod 10
m = m \ 10
End Sub
Private Sub Command1_Click()
Dim x As Integer, y As Integer
x = 4
y = 12
Call a(x, y)
Print x+y
End Sub
A.8 B.16 C.12.4 D.5.2
12.定义两个过程Private Sub1(St() As String)和Private Sub2(Ch() As String*6),在调用过程中用Dim S(3) As String*6, A(3) As String定义了两个字符串数组。下面调用语句中正确的有( )。
①Call Sub1(S) ②Call Sub1(A) ③Call Sub2(A) ④Call Sub2(S)
A.①② B.①③ C.②③ D.②④
13. 以下关于方法的叙述中,错误的是( )。
A.方法是构成对象实体的一个部分
B.方法是一种特殊的过程或函数
C.调用方法的一般格式是:对象名称.方法名称 [参数]
D.在调用方法时,对象名称是不可缺少的
14.要使过程调用结束后返回两个结果,下面的过程语句正确的是( )。
A.Sub Proc1(ByVal n,ByVal m) B.Sub Proc1(n,ByVal m)
C.Sub Proc1(n,m) D.Sub Proc1((n),m)
15. 定义通用过程Sub f(x As Integer, y As Integer, z As Integer),再设a、b、c为整型变量,则调用该过程使用的语句为( )。
A. Call f B .Call f(a,b) C. f(a,b,c) D. f a,b,c
16.下列语句能够正确调用无参数过程 MySub 的是( )
A. Call MySub B. MySub() C. MySub D. A、B、C 均可
17.若要在模块外调用某过程,需在过程名前加的关键字是( )
A. Public B. Private C. Static D. Global
18. 已知一窗体中有如下子过程和一命令按钮Command1,则单击Command1时,输出结果为( )。
Public Sub change(x, y)
x = y
End Sub
Private Sub Command1_Click()
a = 12: b = 34: Call change(a, b)
Print a; b
End Sub
A. 12 34 B. 34 34 C. 34 12 D. 12 12
19. 下面关于过程参数的说法,错误的是( )。
A.过程的形参不可以是定长字符串类型的变量
B.形参是定长字符串型的数组,则对应的实参必须是定长字符串型数组,且长度相同
C.若形参是按地址传递的参数,形参和实参也能以按值传递方式进行形实结合
D.按值传递参数,形参和实参的类型可以不同,只要相容即可
20. 以下关于子过程或函数的定义中,正确的是( )。
A.Sub f1(n As String*1) B.Sub f1(n As Integer)As Integer
C.Function f1(f1 As Integer)As Integer D.Function f1(ByVal n As Integer)
21.若要在模块外调用某过程,需在过程名前加的关键字是( )
A. Public B. Private C. Static D. Global
22.下列关于 ByVal 和 ByRef 的说法正确的是( )
A. ByVal 传地址 B. ByRef 传值 C. ByVal 传值 D. ByRef 不传任何信息
23.使用 Call 语句调用过程时,实参( )
A. 必须加括号 B. 不能加括号 C. 可选加括号 D. 以上都不对
24.下列定义Sub 过程的语句中,正确的是( )
A.Private Sub Sub1(A()) B. Private Sub Sub1(A as String *5)
C.Private sub sub1(ByVal a() as integer) D..Private sub sub1(a(10) as integer)
25.有如下两个过程S1和S2:
Sub S1(ByRef x As Integer, ByVal y As Integer)
Dim t As Integer
t = x: x = y: y = t
Enub
Sub S2(x As Integer, y As Integer)
Dim t As Integer
t = x: x = y: y = t
End Sub
下列关于S1和S2的说法,正确的是( )。
A. 调用过程S1可以实现交换两个变量值,而S2不能
B. 调用过程S2可以实现交换两个变量值,而S1不能
C. 调用过程S1和S2都可以实现交换两个变量证
D. 调用过程S1和S2都不能实现交换两个变量值
二、填空题(本大题共10小题,每题2分,共20分)
1. 按传地址方式传递参数时,要求实参必须是______,此时实参与形参变量共有同一个存储单元。
2.需要对过程名进行赋值的过程是_________过程。
3.在立即窗口中测试过程,应在过程名前加 ________(模块名/窗体名)限定,若跨模块。
4.若形参加 ByRef,则实参的值 ________(会/不会)被函数改变。
5.函数体内若需立即返回,可使用 ________ 语句。
6.若函数声明为 Private,则只能在 ________ 模块内被调用。
7.子程序一旦执行完毕,控制流程直接返回到 ________,而函数在返回的同时还会带回一个 ________。
8.调用子程序时,若使用 Call 关键字,实参必须放在 ________ 中;函数调用通常把返回值赋给 ________。
9.若希望过程不返回任何值,应声明为 ________;若需要返回计算结果,则应声明为 ________。
10.在过程内强制返回到调用者,Sub 应使用 ________。
三、程序填空题(本大题共2小题,每题15分,共30分)
1.本程序的功能是计算输入数的阶乘,请在画线处填上适当的内容使程序完整。
Private Sub Form_Click()
n=Val(InputBox("请输入一个大于0的整数: "))
Print Fact(n)
End Sub
Private Function Fact(m)
Fact= ___(1)_______
For i=2 To m
Fact= ___(2)_______
Next i
End Function
2.本程序用于验证任何一个大于6的偶数均可表示为两个素数之和。例如,14=3+1 l、14=7+7。待验证的偶数从文本框TxtInput输入,所有满足上述条件的素数对都显示在窗体上。
Option Explicit
Private Sub Form_Click()
Dim N As Integer,I As Integer,J As Integer
N=val(txtinput.text)
For I=3 To N-2 Step 2
If _____(1)___________ Then
If N-I>=I And Prime(N-I) Then
Print N; "="; I ; "+" ; N-I
End If
End If
Next I
End Sub
Private Function Prime(N As Integer)As Boolean
Dim I As Integer, J As Integer, Flg As Boolean
Prime=False
For I=2 To Sqr(N)
If _______(2)________ Then Exit For
Next I
If i >Sqr(n) Then Prime=True
End Function
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
编写说明:2026版内蒙古对口招生《计算机类考纲百套卷》依据《内蒙古自治区高等职业院校对口招收中等职业学校毕业生计算机类专业课综合考试指导纲要》编写。本套试卷共100份,分为三个部分,第一部分是根据考试大纲的各考点范围与要求,编写的70份知识点训练卷,第二部分是针对每门课程的重点内容,编写的20份常考题训练卷,第三个部分是参考近几年内蒙古考试真题,编写了10份专业综合训练卷。
本试卷是2026版内蒙古对口招生《计算机类考纲百套卷》的第18卷,是知识点训练卷,按考纲中的《Visual Basic程序设计》的第8章 过程的范围与要求编写。具体内容如下:
事件过程
子过程
过程间参数的传递
过程的嵌套与递归
常用算法实例
2026版内蒙古对口招生《计算机类考纲百套卷》 第18卷
《Visual Basic 程序设计》
过程(3) 知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共25小题,每题2分,共50分)
1. 下列关于函数说明正确的是( )。
A.定义函数过程时,若没有用As子句说明函数的类型,则函数过程与Sub过程一样,都是无类型过程
B.在函数体中,如果没有给函数名赋值,则该函数过程没有返回值
C.函数名在过程中只能被赋值一次
D.函数过程是通过函数名返回函数值的
【答案】D
2. 设有子过程Pro1,有一个虚参变量。下列调用语句中,按传址方式传递数据的语句是( )。
A.Call Pro1(a) B.Call Prol(12)
C.Call Pro1(a*a) D.Call Prol(12+a)
【答案】A
3.已知一窗体中有如下函数过程和一命令按钮Command1,则单击Command1时,输出结果为( )。
Private Function Sum( ByVal a, ByVal b,ByVal c)
a=a+1:b=b+1:c=c+1
Sum=a+b+c
End Function
Private Sub Command1_Click( )
a=1:b=2:c=3
y=Sum(a,b,c)
Print a;b;c
End Sub
A. 1 2 3 B. 2 3 4 C. 1 3 4 D. 1 2 4*A
【答案】A
4. 已知一窗体中有如下函数过程和一命令按钮Command1,则单击Command1时,输出结果为( )。
Public Function even(x)
If x Mod 2 = 0 Then
even = 1
else
even = 0
End If
End Function
Private Sub Command1_Click()
n = 20
If even(n) = 1 Then
Print n; "is a even number."
Else
Print n; "is not a even number."
End If
End Sub
A. 20 is a even number. B. 20 is not a even number.
C. n is a even number. D. n is not a even number.
【答案】A
5. 已知一窗体中有如下函数过程和一命令按钮Command1,则单击Command1时,输出结果为( )。
Public Function Fun(x, y)
Fun = 1
For I = 1 To y
Fun = Fun * x
Next I
End Function
Private Sub Command1_Click()
Print Fun(3, 4)
End Sub
A. 3 B. 4 C. 81 D. 256
【答案】C
6. 已知一窗体中有如下子过程和一命令按钮Command1,则单击Command1时,输出结果为( )。
Public Sub change(ByVal x, ByVal y)
t = x: x = y: y = t
End Sub
Private Sub Command1_Click()
a = 12: b = 34: Call change(a, b)
Print a; b
End Sub
A. 12 34 B. 34 12 C. 21 43 D. 43 21
【答案】A
7.以下定义的函数中( )不是按“传址”方式传递参数的。
A.Public Function Sum(x,y)
B.Public Function Sum(ByVal x, ByVal y)
C.Public Function Sum(x As Integer,y As Integer)
D.Public Function Sum(x%, y%)
【答案】B
8. 以下过程的定义中,( )是错误的。
A. Public Sub Sum(x ; y)
B. Public Sub Sum(ByVal x, ByVal y)
C. Public Sub Sum(x As Integer,y As Integer)
D. Public Sub Sum(x%, y%)
【答案】A
9. 函数过程是以( )保留字开始的。
A. Function B. Sub C. Property D. Event
【答案】A
10. 在以下事件过程中,Private表示( )。
Private Sub txtName_Change() …… End Sub
A. 此过程可以被任何其它过程调用 B. 此过程只可以被本窗体模块中的其它过程调用
C. 此过程不可以被任何其它过程调用 D. 此过程是一个不可用过程
【答案】B
11.下面过程运行后显示的结果是( )
Public Sub a(n As Integer, ByVal m As Integer)
n = n Mod 10
m = m \ 10
End Sub
Private Sub Command1_Click()
Dim x As Integer, y As Integer
x = 4
y = 12
Call a(x, y)
Print x+y
End Sub
A.8 B.16 C.12.4 D.5.2
【答案】B
12.定义两个过程Private Sub1(St() As String)和Private Sub2(Ch() As String*6),在调用过程中用Dim S(3) As String*6, A(3) As String定义了两个字符串数组。下面调用语句中正确的有( )。
①Call Sub1(S) ②Call Sub1(A) ③Call Sub2(A) ④Call Sub2(S)
A.①② B.①③ C.②③ D.②④
【答案】D
13. 以下关于方法的叙述中,错误的是( )。
A.方法是构成对象实体的一个部分
B.方法是一种特殊的过程或函数
C.调用方法的一般格式是:对象名称.方法名称 [参数]
D.在调用方法时,对象名称是不可缺少的
【答案】D
14.要使过程调用结束后返回两个结果,下面的过程语句正确的是( )。
A.Sub Proc1(ByVal n,ByVal m) B.Sub Proc1(n,ByVal m)
C.Sub Proc1(n,m) D.Sub Proc1((n),m)
【答案】C
15. 定义通用过程Sub f(x As Integer, y As Integer, z As Integer),再设a、b、c为整型变量,则调用该过程使用的语句为( )。
A. Call f B .Call f(a,b) C. f(a,b,c) D. f a,b,c
【答案】D
16.下列语句能够正确调用无参数过程 MySub 的是( )
A. Call MySub B. MySub() C. MySub D. A、B、C 均可
【答案】
17.若要在模块外调用某过程,需在过程名前加的关键字是( )
A. Public B. Private C. Static D. Global
【答案】A
18. 已知一窗体中有如下子过程和一命令按钮Command1,则单击Command1时,输出结果为( )。
Public Sub change(x, y)
x = y
End Sub
Private Sub Command1_Click()
a = 12: b = 34: Call change(a, b)
Print a; b
End Sub
A. 12 34 B. 34 34 C. 34 12 D. 12 12
【答案】B
19. 下面关于过程参数的说法,错误的是( )。
A.过程的形参不可以是定长字符串类型的变量
B.形参是定长字符串型的数组,则对应的实参必须是定长字符串型数组,且长度相同
C.若形参是按地址传递的参数,形参和实参也能以按值传递方式进行形实结合
D.按值传递参数,形参和实参的类型可以不同,只要相容即可
【答案】B
20. 以下关于子过程或函数的定义中,正确的是( )。
A.Sub f1(n As String*1) B.Sub f1(n As Integer)As Integer
C.Function f1(f1 As Integer)As Integer D.Function f1(ByVal n As Integer)
【答案】D
21.若要在模块外调用某过程,需在过程名前加的关键字是( )
A. Public B. Private C. Static D. Global
【答案】A
22.下列关于 ByVal 和 ByRef 的说法正确的是( )
A. ByVal 传地址 B. ByRef 传值 C. ByVal 传值 D. ByRef 不传任何信息
【答案】C
23.使用 Call 语句调用过程时,实参( )
A. 必须加括号 B. 不能加括号 C. 可选加括号 D. 以上都不对
【答案】C
24.下列定义Sub 过程的语句中,正确的是( )
A.Private Sub Sub1(A()) B. Private Sub Sub1(A as String *5)
C.Private sub sub1(ByVal a() as integer) D..Private sub sub1(a(10) as integer)
【答案】A
25.有如下两个过程S1和S2:
Sub S1(ByRef x As Integer, ByVal y As Integer)
Dim t As Integer
t = x: x = y: y = t
Enub
Sub S2(x As Integer, y As Integer)
Dim t As Integer
t = x: x = y: y = t
End Sub
下列关于S1和S2的说法,正确的是( )。
A. 调用过程S1可以实现交换两个变量值,而S2不能
B. 调用过程S2可以实现交换两个变量值,而S1不能
C. 调用过程S1和S2都可以实现交换两个变量证
D. 调用过程S1和S2都不能实现交换两个变量值
【答案】B
二、填空题(本大题共10小题,每题2分,共20分)
1. 按传地址方式传递参数时,要求实参必须是______,此时实参与形参变量共有同一个存储单元。
【答案】变量名
2.需要对过程名进行赋值的过程是_________过程。
【答案】函数
3.在立即窗口中测试过程,应在过程名前加 ________(模块名/窗体名)限定,若跨模块。
【答案】模块名
4.若形参加 ByRef,则实参的值 ________(会/不会)被函数改变。
【答案】会
5.函数体内若需立即返回,可使用 ________ 语句。
【答案】Exit Function
6.若函数声明为 Private,则只能在 ________ 模块内被调用。
【答案】所在
7.子程序一旦执行完毕,控制流程直接返回到 ________,而函数在返回的同时还会带回一个 ________。
【答案】调用处 值
8.调用子程序时,若使用 Call 关键字,实参必须放在 ________ 中;函数调用通常把返回值赋给 ________。
【答案】括号 变量
9.若希望过程不返回任何值,应声明为 ________;若需要返回计算结果,则应声明为 ________。
【答案】Sub Function
10.在过程内强制返回到调用者,Sub 应使用 ________。
【答案】Exit Sub
三、程序填空题(本大题共2小题,每题15分,共30分)
1.本程序的功能是计算输入数的阶乘,请在画线处填上适当的内容使程序完整。
Private Sub Form_Click()
n=Val(InputBox("请输入一个大于0的整数: "))
Print Fact(n)
End Sub
Private Function Fact(m)
Fact= ___(1)_______
For i=2 To m
Fact= ___(2)_______
Next i
End Function
【答案】
(1) 1
(2) Fact*i
2.本程序用于验证任何一个大于6的偶数均可表示为两个素数之和。例如,14=3+1 l、14=7+7。待验证的偶数从文本框TxtInput输入,所有满足上述条件的素数对都显示在窗体上。
Option Explicit
Private Sub Form_Click()
Dim N As Integer,I As Integer,J As Integer
N=val(txtinput.text)
For I=3 To N-2 Step 2
If _____(1)___________ Then
If N-I>=I And Prime(N-I) Then
Print N; "="; I ; "+" ; N-I
End If
End If
Next I
End Sub
Private Function Prime(N As Integer)As Boolean
Dim I As Integer, J As Integer, Flg As Boolean
Prime=False
For I=2 To Sqr(N)
If _______(2)________ Then Exit For
Next I
If i >Sqr(n) Then Prime=True
End Function
【答案】
(1)Prime(i)
(2)N Mod I=0
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$