【VB开源代码栏目提醒】:网学会员鉴于大家对VB开源代码十分关注,论文会员在此为大家搜集整理了“VB程序设计阶段练习3(专科) - 大学课件”一文,供大家参考学习
《
VB 程序
设计专》第三阶段练习题一、选择题1.若有数组说明语句为:Dim a-3 to 8,则数组a包含元素的个数是 。
A. 5 B. 8 C. 11 D. 122.若有数组说明语句:Dim a As Integer,则 a 被定义为 。
A. 定长数组 B. 可调数组 C. 静态数组 D. 可变类型数组3.若有数组说明语句:Dim t1 to 10 As Variant,则 a 被定义为 。
A. 定长数组 B. 可调数组 C. 静态数组 D. 可变类型数组4.下面选项中,错误的是 。
A. Dim s As variant:sArray“one””two””Three” B. Dim b:b Arrayt123 C. Dim b As Integer:bArray123 D.Dim b As varian:t:bArray1235.设有数组说明语句:Dim a-1 to 2-2 to 2则数组 a 中元素的个数是 。
A. 12 B. 15 C. 16 D. 206.按照
VB 默认规定,数组声明 Dim225共有 元素。
A. 45 B. 20 C. 9 D. 547.如下数组声明语句, 正确的。
A.Dim a34 As Integer B.Dim a34 As Integer C.Dim ann As Integer D.Dim a3 4 As Integer8.使用过程是为了 。
A.使程序模块化 B.使程序易于阅读 C.提高程序运行速度 D.便于
系统的编译9.
VB的过程有三种,它们是 。
A.事件过程、子过程和函数过程 B.Sub 过程、Function 过程和 Property 过程 C.事件过程、函数过程和属性过程 D.Sub 过程、函数过程和通用过程10.Sub 过程的定义 。
A.一定要有虚参 B.一定要有 End Function 语句 C.一定要有过程的名称 D.一定要指定其类型11.Function过程的定义 。
A.一定要有虚参 B.一定要有 End Function 语句 C.一定要有 As语句 D.一定要指明它的存储类别12.Function过程有别于Sub过程的最主要的特点是 。
A.Function 过程一定要有虚参,而 Sub 过程可以没有虚参 B.Function 过程的终端语句是 End Function,而 Sub 过程的终端语句是 End Sub。
C.Function 过程用于计算函数值,而 Sub 过程用于改变属性值 D.Function 过程要返回函数值,而 Sub 过程没有数值返回13.要定义一个过程为局部变量,应使用 关键字。
A.Static B.Public C.Private D.Sub14.
VB的模块分为三类,它们是 。
A.子程序模块、函数模块、窗体模块 B.窗体模块、过程模块、标准模块 C.子程序模块、标准模块、类模块 D.窗体模块、标准模块、类模块15.过程级变量属于 。
A.全局变量 B.静态变量 C.局部变量 D.变体变量16.关于过程调用,正确的是 。
A.过程要用 Call 语句调用 B.Sub 过程一定要用 Call 语句调用 C.过程都可以用赋值语句的形式调用 D.只要写上过程名并给出实参就能调用过程。
17.设已定义函数过程 f,它有三个实型传值参数;设 a,b 和 c 为实型变量,则调用该函数的正确语句为 。
A . faab B . fabbc C . fabbcca D.fabbcca18.在过程定义中用 表示形参的传值。
A.Var B.ByDef C.ByVal D.Value19.若已编写了一个 Sort 子过程,在该工程中有多个窗体,为了方便地调用 Sort 子过程,应该将过程放在 中。
A.窗体模块 B.标准模块 C.类模块 D.工程20.在过程中定义的变量,若希望在离开该工程后,还能保存过程中局部变量的值,则应使用 关键字在过程定义局部变量。
A.Dim B.Private C.Public D.Static二、填空题1.同一数组中的元素具有相同的 1 和 2 。
2.用于引用数组特定元素的数字称为元素的 3 。
3.若要定义一个元素为整型数据的二维数组 a,且第一维的下标从 0 到 5,第二维下标从-3 到 6,则数组说明语句为 4 。
4.数组元素默认初始值为 5 。
5.Option Base 可以设置下限为 0 或 1,并将其放置在 6 里。
6.使用关键字 To 可以设置数组的上限和下限,使用 To 设置的界限不受 7 影响。
7.数组元素个数可以改变的数组称为 8 ,数组元素可以存放不同类型数据的数组称为 9 。
8.控件数组是由一组类型和名字相同的控件组成,共享 10 。
9.控件数组中的每个控件都有唯一的下标,下标值由 11 属性指定。
10.判断一个变量是否为数组,可以使用函数 12 。
11.只在定义它的过程内能够识别的变量称为 13 。
12.从一个 Sub 过程将控制返回给调用者的两种方法是 14 和 15 。
13.
VB 函数 16 用于产生伪随机数。
14.要使过程里的一个局部变量在调用之前保持其值, 必须使用 17 关键字声明。
15.一个
VB 应用程序可以包括的三种模块是 18 、 19 和 20 。
16.函数过程定义中至少有一个赋值语句把表达式的值赋给 21 。
17.若模块中以关键字 Public 定义子过程,则在 22 中都可以调用该过程。
18.每一个用标识符定义的变量、常量、过程都有一个有效范围,这个范围称为标识符的 23 。
19.在
VB 中,过程定义中有两种传递形式的参数:一种是 24 ,称为传值调用,另一种是 25 ,称为传址调用。
20.若窗体模块或标准模块中以关键字 Private 定义函数过程,则该函数过程只能在 26中使用。
三、程序填空题1.随机产生 6 位学生的分数分数范围 1~100,存放在数组 a 中,以每 2 分为一个“”显示,如图所示。
请填写程序空白处使程序完整。
Private Sub Command1_Click Dim a1 To 6 For i 1 To 6 ai 1 Print 2 Next iEnd Sub2.输出大小可变的正文形图案,如图所示,最外圈是第一层,要求每层上用的数字与层数相同。
请填写程序空白处使程序完整。
Option Base 1Private Sub Form_Click Dim a n InputBox输入 n 3 For i 4 For j i To n - i 1 For k i To n - i 1 5 Next k Next j Next i For i 1 To n For j 1 To n Print Tabj 3 ai j Next j 6 Next iEnd Sub3.在一维数组中利用移位的方法显示如图所示的结果。
请填写程序空白处使程序完整。
Private Sub Form_Click Dim a1 To 7 For i 1 To 7 ai i: Print ai Next i Print For i 1 To 7 t 7 For j 6 To 1 Step -1 8 Next j 9 For j 1 To 7 Print aj Next j Print Next iEnd Sub4.下面的程序是将输入的一个数插入到按递减的有序数列中,插入后使该序列仍有序。
请填写程序空白处使程序完整。
Private Sub Form_Click Dim a i n m a Array19 17 15 13 11 9 7 5 3 1 n UBounda ReDim 10 m ValInputBox输入欲插入的数 For i UBounda - 1 To 0 Step -1 If m ai Then 11 If i 0 Then ai m Else 12 Exit For End If Next i For i 0 To UBounda Print ai Next iEnd Sub5.下列程序功能:将数值序列 36912,…99 存入数组中,并显示在窗体上(要求每一行上输出 3 个) 。
请填写程序空白处使程序完整。
Option Base 1Dim m33 As IntegerPrivate Sub Command1_Click Dim n As Integer m1 3 n0 For i 1 To 33 m i 13 If 14 Then Print n0 End If nn1 Print M i mi NextEnd Sub6.以下过程将一个有序数组中重复出现的数进行删除,删得只剩下一个。
主调
程序运行后结果见下图所示。
请填写程序空白处使程序完整。
Sub pa Dim n m k n UBounda mn Do While 15 If am am - 1 Then For k 16 ak - 1 ak Next k 17 End If 18 Loop ReDim Preserve anEnd SubPrivate Sub Command1_Click Dim b i b Array23 45 45 60 70 70 70 90 Call p 19 For i 0 To UBoundb Print bi Next iEnd Sub7.下列程序功能:求任意两个正整数的最大公约数,并将这两个数和它们的最大公约数显示在窗体上(要求编一个求最大公约数的函数,然后通过两个输入对话框输入两个正整数, 。
请填写程序空白处使程序完整。
并通过调用求最大公约数的函数来求最大公约数)Function common_divisorByVal x As Integer ByVal y As Integer As Integer Do While y 0 num x Mod y xy y num Loop 20End FunctionPrivate Sub Command1_Click Dim a As Integer b As Integer a ValInputBox请输入一个正整数 b ValInputBox请输入另一个正整数 h 21 Print Print Tab5 a 和 b 的最大公约数为: hEnd Sub8.下面程序是把给定的十六进制整数字符串转换为十进制数。
例如:3E8=>3。
请填写程序空白处使程序完整。
Private Sub Form_Click Dim St As String Dem As Long St 3E8 22 Print St DemEnd SubPrivate Function ConvertS As String As Long Dim n i SubC As String 1 p n LenS p0 For i 1 To n SubC 23 Select Case UCaseSubC Case 0 To 9 p p 16 ValSubC Case A To Z p p 16 24 End Select Next i 25End Function四、程序阅读题1.下列程序运行后,输出结果为 。
Private Sub Command1_Click Dim a a Array1 2 3 4 5 6 7 For i LBounda To UBounda ai ai ai Next i Print ai - 1End Sub2.下列程序段运行后,输出结果为 。
Option Base 1Private Sub Command1_Click Dim a3 3 For i 1 To 3 For j 1 To 3 If j 1 And i 1 Then ai j aai - 1 j - 1 ai j - 1 1 Else ai j i j End If Print ai j Next j Print Next iEnd Sub3.下列程序段运行后,输出结果为 。
Option Base 1Private Sub Command1_Click Dim a b3 3 a Array1 2 3 4 5 6 7 8 9 For i 1 To 3 For j 1 To 3 bi j ai j If j i Then Print Tabj 3 Formatbi j End If Next j Print Next iEnd Sub4.下列程序运行后,输出结果为 。
Sub pByRef x ByVal y xx1 yy1 Print x yEnd SubPrivate Sub Command1_Click Dim x y x1 y2 Call px y: Print x y Call px x: Print x y Call py y: Print x y Call py x: Print x yEnd Sub5.下列程序段运行后,输出结果为 。
Public Sub F1n ByVal m n n Mod 10 m m 10 End Sub Private Sub Command1_Click Dim x y x 12: y 34 Call F1x y Print x y End Sub6.下面程序运行后输出的结果是 。
Private Sub Command1_Click Print p13 7 End Sub Public Function p1x n If n 0 Then p1 1 Else If n Mod 2 1 Then p1 x p1x n 2 Else p1 p1x n 2 x End If End If End Function7.下面程序运行后输出的结果是 。
Dim a b c Public Sub p1x y Dim c x 2 x: y y 2: c x y End Sub Public Sub p2x ByVal y Dim c x 2 x: y y 2: c x y End Sub Private Sub Command1_Click a 2: b 4: c 6 Call p1a b Print a a b b c c Call p2a b Print a a b b c c End Sub8.执行下面程序,打印结果是 。
Public Sub Proca Static i Do ai ai ai 1 ii1 Loop While i 2 End Sub Private Sub Command1_Click Dim m i x10 For i 0 To 4: xi i 1: Next i For i 1 To 2: Call Procx: Next i For i 0 To 4: Print xi: Next i End Sub五、编程题(1)编写程序,利用随机函数产生 100 个 0~99 之间的整数,存放在数组中,然后在窗体上显示所有小于 50 的随机数。
(2)随机产生一组数,求其平均值及最大值(3)从键盘上输入 10 个整数,并放入一个一维数组中,然后将其前 5 个元素与后 5 个元素对换,即:第 1 个元素与第 10 个元素互换,第 2 个元素与第 9 个元素互换…第 5 个元素与第 6 个元素互换。
分别输出原来各元素的值和对换后各元素的值。
(4)有一个 M×N 矩阵,试编写程序找出其中最大的那个元素所在的行和列,在窗体上输出其值及所在的位置。
(5)编写一个过程 CircleArea 的程序,计算和输出一个圆的面积。
用户应该在文本框里输入半径。
(6)编写一个求 3 个数中最大值 Max 和最小值 Min 的过程,然后用这个过程分别求 3 个数、5 个数、7 个数中的最大值和最小值。
(7)编写一个过程,以整型数作为形参,当该参数为奇数时输出 False,而当该参数为偶数时输出 True。