项目十 过程《Visual Basic程序设计》(电工版第六版)章节过关卷

2026-01-14
| 2份
| 21页
| 43人阅读
| 1人下载

资源信息

学段 中职
学科 职教专业课
课程 程序设计基础
教材版本 -
年级 -
章节 -
类型 作业-单元卷
知识点 控制结构
使用场景 同步教学-单元练习
学年 2026-2027
地区(省份) 内蒙古自治区
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 263 KB
发布时间 2026-01-14
更新时间 2026-01-14
作者 xkw_078433669
品牌系列 学易金卷·阶段检测模拟卷
审核时间 2026-01-14
下载链接 https://m.zxxk.com/soft/55943426.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

《Visual Basic程序设计(第6版)》电子工业出版社 项目十 过程 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 单项选择题(本题共20小题,每题3分,共60分) 1. 在VB中,过程通常有三种,它们是( )。 A.事件过程、子过程和通用过程 B.事件过程、函数过程和属性过程 C.Sub过程、Function过程和事件过程 D.Sub过程、函数过程和通用过程 2. 可以执行“工具”菜单中的( )命令来建立通用过程。 A.添加过程 B.通用过程 C.添加模块 D.添加窗体 3.在进行参数传递的时候,ByVal和ByRef的含义分别是( )。 A.前者表示按地址,后者表示按数值 B.前者表示按数值,后者表示按地址 C.前者表示按地址,后者也表示按地址 D.前者表示按数值,后者也表示按数值 4.以下叙述中错误的是( )。 A. 不能在标准模块中定义Static型变量。 B. 语句Dim a, b As Integer声明了两个整型变量 C. 窗体级变量必须先声明后使用 D. 在事件过程或通用过程内定义的变量是局部变量 5.使用Function语句定义一个函数过程,其返回值的类型为( )。 A.只能是符号常量 B.是除数组之外的简单数据类型 C.可在调用时由运行过程决定。 D.由函数定义时As子句声明 6、以下关于Sub过程的说法中,只有( )是正确的。 A.一个Sub过程必须有一个Exit Sub语句 B.一个Sub过程必须有一个End Sub语句 C.在Sub过程中可以定义Function过程 D.退出Sub过程也可以使用GoTo语句 7、在过程调用中,参数的传递可以分为按值传递和( )两种方式。 A.按参数传递 B.按数值传递 C.按地址传递 D.按位置传递 8、有如下函数: Function fun(a As Integer, n As Integer) As Integer Dim m As Integer While a >= n a = a - n m = m + 1 Wend fun = m End Function 该函数的返回值是( )。 A.a加b的和 B.a减n的差 C.a乘以n的乘积 D.a除以n的商(不含小数部分) 9、以下是一个能返回数组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)” 10、在窗体上添加一个名称为Command1的命令按钮,再添加两个名称分别为Label1、Label2的标签,然后编写如下程序代码: Private x As Integer Private Sub Command1_Click() a = 6: b = 4 Call sub1(a, b) Label1.Caption = a Label2.Caption = 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 11、以下关于Function过程的说法中,错误的是( ) A.Function过程名可以有一个或多个返回值 B.在Function过程内部不得再定义Function过程 C.Function过程中可以包含多个Exit Function语句 D.可以像调用Sub过程一样调用Function过程 12、Sub过程的定义( )。 A.一定要有形参 B.不一定要有过程的名称 C.要指明过程是公有的还是私有的,如不指明则默认是公有的 D.一定要指定返回值的类型 13、以下叙述中,( )是正确的。 A.过程的定义可以嵌套,但过程的调用不能嵌套 B.过程的定义不能嵌套,但过程的调用可以嵌套 C.过程的定义与调用均不能嵌套 D.过程的定义与调用均可以嵌套 14、单击命令按钮时,下列程序的执行结果为( )。 Private Function P(N As Integer) Static sum For I = 1 To N sum = sum + 1 Next I P = sum End Function Private Sub Command1_Click() S = P(1) + P(2) + P(3) + P(4) Print S; End Sub A.20 B.30 C.115 D.135 15、用Static关键字定义的过程是指( )。 A.声明的过程名是静态的 B.声明的形参是静态的 C.声明过程中的局部变量是静态的 D.声明过程的返回值是静态的 16、在语句"Public Sub Sort(i As Integer)"中,i是一个按( )传递的参数。 A.地址 B.值 C.常量 D.变量 17、假定有以下两个过程: Sub s1(ByVal x As Integer,ByVal y As Integer) Dim t As Integer t=x x=y y=t End Sub Sub s2(x As Integer,y As Integer) Dim t As Integer t=x x=y y=t End Sub 则以下说法中正确的是( )。 A.s1可以实现交换两个变量的操作,s2则不能 B.s2可以实现交换两个变量的操作,s1则不能 C.s1和s2均可以实现交换两个变量的操作 D.s1与s2都不能实现交换两个变量的操作 18、Sub过程与Function过程最根本的区别是( ) A.Sub过程可以用Call语句或直接使用过程名调用,而Function过程不可以 B.Function过程可以有形参,Sub过程不可以 C.Sub过程不能用过程名返回值,而Function过程能通过过程名返回值 D.两种过程参数的传递方式不同 19、单击命令按钮时,下列程序的运行结果为( )。 Private Sub command1_click() Print func(20, 18) End Sub Public Function func(m As Integer, n As Integer) As Integer Do While m <> n Do While m > n m = m - n Loop Do While m < n n = n - m Loop Loop func = m End Function A.6 B.4 C.2 D.1 20、假定有如下的Sub过程: Sub S(x As Single, ByVal y as Single) t=x x=t/y y=t Mod y End Sub 在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程: Private Sub Command1_Click() Dim a As Single, b As Single a=5:b=4 S a,b Print a,b End Sub 程序运行后,单击命令按钮,输出结果为( )。 A. 5 4 B. 1 1 C. 1.25 4 D. 1.25 1 2、 填空题(本题共10小题,每题2分,共20分) 1. 窗体事件过程名由“________”、下划线和事件名组成。 2、 按传地址方式传递参数时,要求实参必须是______,此时实参与形参变量共有同一个存储单元。 3、 要确定虚实结合为“传值”方式,应在虚参表中使用_________关键字。 4、 用Static定义过程的作用是_________。 5、 VB中依据变量的作用范围将VB变量的作用范围分为三类,它们是:______变量、______变量和 全局变量。 6、 需要对过程名进行赋值的过程是_________过程。 7、 _______变量只能在一个过程中使用,其他过程不能访问此变量。 8、 在调用过程时,如果不用Call命令,则在调用命令中必须省略加在实际参数前、后的 ______。 9、用Dim或_______语句声明的变量,可被窗体/模块的任何过程访问。 10、以下是一窗体的单击事件代码: Private Sub Form_Click() Static count% count = count + 1 Print "单击窗体"; count; "次" End Sub 第3次单击窗体后,count的值为_______。 3、 程序填空题(本题共2小题,每题10分,共20分) 1、 下列VB程序实现的功能是:用随机函数给数组元素赋任意3位整数。然后计算一数组Am的元素之和。 Private Sub Form_Click() Dim Arr1(10) As Integer, k As Integer, s As Integer For k=0 To 10 Arr1(k)=___(1)________ Next k ___(2)________ Print "数组元素之和是:"+Format(s) End Sub Sub Sum(Arr2() as integer,ss as integer) Dim j As Integer For j=0 To 10 ss = ss +Arr2(j) Next j End Sub 2、程序功能:判断一个数是否是素数。从文本框1中输入一个数,文本框2中显示是否为素数,分别显示“True”和“False”。 Private Sub Command1_Click() Dim n As Integer, re As Boolean n = Val(Text1.Text) ___(1)________ Text2.Text = re End Sub Private Sub ss(ByVal n As Integer, re As Boolean) re = True For i = 2 To n - 1 If ___(2)________Then re = False Exit Sub End If Next i End Sub 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 《Visual Basic程序设计(第6版)》电子工业出版社 项目十 过程 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 单项选择题(本题共20小题,每题3分,共60分) 1. 在VB中,过程通常有三种,它们是( )。 A.事件过程、子过程和通用过程 B.事件过程、函数过程和属性过程 C.Sub过程、Function过程和事件过程 D.Sub过程、函数过程和通用过程 【答案】 C 【解析】 VB中过程分为事件过程、Sub过程和Function过程。 2. 可以执行“工具”菜单中的( )命令来建立通用过程。 A.添加过程 B.通用过程 C.添加模块 D.添加窗体 【答案】A 【解析】 点击顶部菜单栏的「工具」→「添加过程」,会弹出 “添加过程” 对话框,可设置过程名、类型等。 3.在进行参数传递的时候,ByVal和ByRef的含义分别是( )。 A.前者表示按地址,后者表示按数值 B.前者表示按数值,后者表示按地址 C.前者表示按地址,后者也表示按地址 D.前者表示按数值,后者也表示按数值 【答案】B 【解析】ByVal= 按值(数值)传递,ByRef= 按地址传递。 4.以下叙述中错误的是( )。 A. 不能在标准模块中定义Static型变量。 B. 语句Dim a, b As Integer声明了两个整型变量 C. 窗体级变量必须先声明后使用 D. 在事件过程或通用过程内定义的变量是局部变量 【答案】B 【解析】b As Integer:b 是整型变量;a:未指定类型,默认是Variant。 5.使用Function语句定义一个函数过程,其返回值的类型为( )。 A.只能是符号常量 B.是除数组之外的简单数据类型 C.可在调用时由运行过程决定。 D.由函数定义时As子句声明 【答案】 D 【解析】As 数据类型子句明确指定了函数返回值的类型。 6、以下关于Sub过程的说法中,只有( )是正确的。 A.一个Sub过程必须有一个Exit Sub语句 B.一个Sub过程必须有一个End Sub语句 C.在Sub过程中可以定义Function过程 D.退出Sub过程也可以使用GoTo语句 【答案】B 【解析】End Sub是 Sub 过程的强制闭合标识,VB 语法要求每个Sub开头必须对应一个End Sub结尾。 7、在过程调用中,参数的传递可以分为按值传递和( )两种方式。 A.按参数传递 B.按数值传递 C.按地址传递 D.按位置传递 【答案】C 【解析】VB 参数传递的两大核心方式是按值传递(ByVal) 和按地址传递(ByRef)。 8、有如下函数: Function fun(a As Integer, n As Integer) As Integer Dim m As Integer While a >= n a = a - n m = m + 1 Wend fun = m End Function 该函数的返回值是( )。 A.a加b的和 B.a减n的差 C.a乘以n的乘积 D.a除以n的商(不含小数部分) 【答案】D 【解析】函数的本质是通过 “减法模拟除法”—— 用a不断减去n,统计能减多少次(次数就是商),直到a < n为止,最终返回这个次数。 9、以下是一个能返回数组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)” 【答案】D 【解析】原函数把下标 max 直接作为最大值返回,应改为返回该下标对应的元素值 a(max)。 10、在窗体上添加一个名称为Command1的命令按钮,再添加两个名称分别为Label1、Label2的标签,然后编写如下程序代码: Private x As Integer Private Sub Command1_Click() a = 6: b = 4 Call sub1(a, b) Label1.Caption = a Label2.Caption = 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 【答案】B 【解析】sub1内:a = x * x → 给sub1自己的局部变量a赋值6*6=36;b = y * y → 给sub1自己的局部变量b赋值4*4=16;sub1执行完毕,回到Command1_Click → 主过程的a仍为 6,b仍为 4。 11、以下关于Function过程的说法中,错误的是( ) A.Function过程名可以有一个或多个返回值 B.在Function过程内部不得再定义Function过程 C.Function过程中可以包含多个Exit Function语句 D.可以像调用Sub过程一样调用Function过程 【答案】A 【解析】VB 中的 Function 过程(函数)只能有一个返回值。 12、Sub过程的定义( )。 A.一定要有形参 B.不一定要有过程的名称 C.要指明过程是公有的还是私有的,如不指明则默认是公有的 D.一定要指定返回值的类型 【答案】 C 【解析】若省略Public/Private,VB默认将 Sub 过程声明为Public(公有)。 13、以下叙述中,( )是正确的。 A.过程的定义可以嵌套,但过程的调用不能嵌套 B.过程的定义不能嵌套,但过程的调用可以嵌套 C.过程的定义与调用均不能嵌套 D.过程的定义与调用均可以嵌套 【答案】B 【解析】VB 过程定义不能嵌套(语法强制要求),调用可以嵌套(包括递归)。 14、单击命令按钮时,下列程序的执行结果为( )。 Private Function P(N As Integer) Static sum For I = 1 To N sum = sum + 1 Next I P = sum End Function Private Sub Command1_Click() S = P(1) + P(2) + P(3) + P(4) Print S; End Sub A.20 B.30 C.115 D.135 【答案】A 【解析】Static静态变量:多次调用函数时,静态变量的值会保留,不会重置。 15、用Static关键字定义的过程是指( )。 A.声明的过程名是静态的 B.声明的形参是静态的 C.声明过程中的局部变量是静态的 D.声明过程的返回值是静态的 【答案】C 【解析】Static修饰过程 → 过程内所有Dim声明的局部变量自动变为Static变量。 16、在语句"Public Sub Sort(i As Integer)"中,i是一个按( )传递的参数。 A.地址 B.值 C.常量 D.变量 【答案】A 【解析】若未显式指定ByVal(仅写参数名和类型),则默认按地址传递(ByRef)。 17、假定有以下两个过程: Sub s1(ByVal x As Integer,ByVal y As Integer) Dim t As Integer t=x x=y y=t End Sub Sub s2(x As Integer,y As Integer) Dim t As Integer t=x x=y y=t End Sub 则以下说法中正确的是( )。 A.s1可以实现交换两个变量的操作,s2则不能 B.s2可以实现交换两个变量的操作,s1则不能 C.s1和s2均可以实现交换两个变量的操作 D.s1与s2都不能实现交换两个变量的操作 【答案】B 【解析】ByVal(按值)修改副本,原变量不变;ByRef(按地址,默认)修改原变量。 18、Sub过程与Function过程最根本的区别是( ) A.Sub过程可以用Call语句或直接使用过程名调用,而Function过程不可以 B.Function过程可以有形参,Sub过程不可以 C.Sub过程不能用过程名返回值,而Function过程能通过过程名返回值 D.两种过程参数的传递方式不同 【答案】C 【解析】Sub 与 Function 的根本区别:Function 能通过过程名返回一个值,Sub 无返回值。 19、单击命令按钮时,下列程序的运行结果为( )。 Private Sub command1_click() Print func(20, 18) End Sub Public Function func(m As Integer, n As Integer) As Integer Do While m <> n Do While m > n m = m - n Loop Do While m < n n = n - m Loop Loop func = m End Function A.6 B.4 C.2 D.1 【答案】C 【解析】这段代码实现的是辗转相减法求两个整数的最大公约数(GCD),核心思路是通过循环让较大的数减去较小的数,直到两个数相等,这个相等的数就是最大公约数。 20、假定有如下的Sub过程: Sub S(x As Single, ByVal y as Single) t=x x=t/y y=t Mod y End Sub 在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程: Private Sub Command1_Click() Dim a As Single, b As Single a=5:b=4 S a,b Print a,b End Sub 程序运行后,单击命令按钮,输出结果为( )。 A. 5 4 B. 1 1 C. 1.25 4 D. 1.25 1 【答案】 C 【解析】ByRef(默认)按地址传递,修改形参同步影响实参;ByVal 按值传递,修改形参仅影响副本。 2、 填空题(本题共10小题,每题2分,共20分) 1. 窗体事件过程名由“________”、下划线和事件名组成。 【答案】窗体名称 【解析】 窗体事件过程名 = 窗体名称 + 下划线 + 事件名。 2、 按传地址方式传递参数时,要求实参必须是______,此时实参与形参变量共有同一个存储单元。 【答案】 变量 【解析】 按地址传递(ByRef)的底层逻辑是 “传递变量的内存地址”—— 过程的形参直接指向实参变量的内存单元,因此两者共享同一块存储空间,过程内修改形参就是修改实参本身。 3、 要确定虚实结合为“传值”方式,应在虚参表中使用_________关键字。 【答案】 Byval 【解析】VB 中 “虚实结合”(形参和实参的绑定)有两种核心方式,而ByVal是唯一指定 “传值(按值传递)” 的关键字。 4、 用Static定义过程的作用是_________。 【答案】 使过程中的局部变量都是静态变量 【解析】 用 Static 定义过程的作用是:使该过程内所有的局部变量都成为静态变量,这些变量的值在过程多次调用之间会被保留,不会随过程结束而销毁。 5、 VB中依据变量的作用范围将VB变量的作用范围分为三类,它们是:______变量、______变量和 全局变量。 【答案】 局部;窗体/模块 【解析】 VB 中依据变量的作用范围将变量分为三类,它们是:局部变量、模块级变量和 全局变量。 6、 需要对过程名进行赋值的过程是_________过程。 【答案】 函数 【解析】 Function 过程的本质:函数名本身就是一个 “返回值变量”,必须通过给函数名赋值,才能将计算结果返回给调用方。 7、 _______变量只能在一个过程中使用,其他过程不能访问此变量。 【答案】 局部 【解析】 局部变量(也叫过程级变量)是在Sub/Function 过程、事件过程内部 声明的变量,其核心特性是:作用域仅限声明它的过程。 8、 在调用过程时,如果不用Call命令,则在调用命令中必须省略加在实际参数前、后的 ______。 【答案】 括号() 【解析】 不用 Call 关键字 过程名 参数1, 参数2, ...。 9、用Dim或_______语句声明的变量,可被窗体/模块的任何过程访问。 【答案】 Private 【解析】 用 Dim 或Private语句声明的变量,可被窗体 / 模块的任何过程访问。 10、以下是一窗体的单击事件代码: Private Sub Form_Click() Static count% count = count + 1 Print "单击窗体"; count; "次" End Sub 第3次单击窗体后,count的值为_______。 【答案】3 【解析】Static(静态):修饰局部变量时,变量的生命周期会延长至整个程序运行期间,过程结束后不会销毁,值会保留。 3、 程序填空题(本题共2小题,每题10分,共20分) 1、 下列VB程序实现的功能是:用随机函数给数组元素赋任意3位整数。然后计算一数组Am的元素之和。 Private Sub Form_Click() Dim Arr1(10) As Integer, k As Integer, s As Integer For k=0 To 10 Arr1(k)=___(1)________ Next k ___(2)________ Print "数组元素之和是:"+Format(s) End Sub Sub Sum(Arr2() as integer,ss as integer) Dim j As Integer For j=0 To 10 ss = ss +Arr2(j) Next j End Sub 【答案】 (1)int(rnd*900)+100 (2)Call Sum(Arr1,s) 【解析】 Rnd:VB 随机函数,生成 [0,1) 之间的随机小数;Rnd * 900:将随机数范围放大到 [0,900);+ 100:将范围偏移到 [100,1000);Call:调用 Sub 子过程的关键字。 2、程序功能:判断一个数是否是素数。从文本框1中输入一个数,文本框2中显示是否为素数,分别显示“True”和“False”。 Private Sub Command1_Click() Dim n As Integer, re As Boolean n = Val(Text1.Text) ___(1)________ Text2.Text = re End Sub Private Sub ss(ByVal n As Integer, re As Boolean) re = True For i = 2 To n - 1 If ___(2)________Then re = False Exit Sub End If Next i End Sub 【答案】 (1) Call ss(n, re) (2) n Mod i = 0 【解析】 Mod 是 VB 的取模运算符,n Mod i 表示 n 除以 i 的余数;若余数为 0,说明 n 能被 i 整除 → n 不是素数,立即将 re 设为 False,并退出子过程。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

项目十 过程《Visual Basic程序设计》(电工版第六版)章节过关卷
1
项目十 过程《Visual Basic程序设计》(电工版第六版)章节过关卷
2
项目十 过程《Visual Basic程序设计》(电工版第六版)章节过关卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。