版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、a(i + 1) = Val(InputBox(请输入数据:) 5.35.3 习题习题 一、单选题一、单选题 b(3 - i) = a(i + 1) Next i Print b(i) A0B1C3D5 8、下列程序执行后的结果为() Dim x x=Array(“Basic” ,”Pascal” ,”Foxpro” ,”Database”) Print Ucase(Mid(x(2),Len(x(2)-3) End Sub (A) scal(B) SCAL(C)xpro(D) XPRO 14、 在窗体上添加一文本框 Text1和一命令按钮 Command1, 1、DimA(-3 To 0,3)
2、声明的数组有()个元素。 A16B9C12D10 2、下列语句声明的数组 A 有 ()个元素。 Option Base 1 DimA(-2 To 2,3,4) A60B48C100D120 3、下列程序执行后的结果为() Dim a(8) For i = 0 To 8 a(i) = 3 * i Next i Print a(a(2) A10B18C20D28 4、下列程序执行后的结果为() Dim a(10), b(10) As Integer n = 3 For i = 1 To 5 a(i) = i b(n) = 2 * n + i Next i Print a(n); b(n) A134
3、B311C113D233 5、在标准模块中,定义全局数组用()语句。 ADimBReDi mCStaticDPublic 6、使用 Array 函数给某 X 赋值时,X 必须是() 。 A已经声明的静态数组B已经声明的动态数组 CVariant类型的变量D整型变量 7、执行以下程序时依次输入 “1、 3、 5” , 则输出结果为 () 。 Dim a(4), b(4) As Integer For i = 0 To 2 Dim a a = Array(1, 2, 3, 4) j = 1 For i = 3 To 0 Step -1 s = s + a(i) * j j = j * 10 Nex
4、t i Print s A4321B12C34D1234 9、Dim a(11 To 30)所定义的数组有()个元素。 A11B20C30D330 10、 下列程序执行后的结果为() Dim A(5, 10) As Integer For i = 1 To 5 For j = 1 To 10 A(i, j) = j - i Next j Next i Print A(A(1, 2), 4) A3B4C5D6 11、 默认数组的数据类型必须是( ) (A) Integer 型(B) Double 型(C)Variant 型 (D) 任意类型 12、数组变量的数据类型必须是( ) (A) Inte
5、ger 型(B) Double 型(C)Variant 型 (D) 任意类型 13、 在程序运行过程中,单击窗体时,以下程序的输出结果 为() Private Sub Form_Click() 然后编写以下事件过程: Option Base 1 Private Sub Command1_Click() Dim arr1(5, 5) As Integer Dim I As Integer, j As Integer For I=1 To 3 For j=2 To 4 Arr1(I, j)=I + j Next j Next I Text1.Text=arr1(2, 3) + arr1(3, 4)
6、 + arr1(1, 1) End Sub 程序运行时,单击命令按钮 Command1 后,在文本框中显示 的值是() (A) 12(B) 13(C) 14(D) 15 15、以下是窗体的 Click 事件过程 Form_Click 的程序代码: Option Base 1 Private Sub Form_Click() Dim I As Integer, j As Integer, m As Integer, n As Integer Dim a(3,3) For I=1 To 3 For j=1 To 3 If I=1 Then a(I, j)=j+1 Else a(I, j)=I*j
7、End if Next j, i For m=1 To 2 For n=1 To 3 Print a(m, n); Next n Next m End Sub 在程序运行过程中,单击窗体时,程序的输出结果为() (A) 2 4 6 3 6 9(B) 1 2 3 2 4 6 (C) 2 3 4 2 4 6(D) 1 2 3 3 6 9 16、以下是窗体的 Click 事件过程 Form_Click 的程序代码: Option Base 1 Private Sub Form_Click() Dim a As Variant Dim I As Integer, m As Integer,index
8、As Integer a=Array(345,-54,200,356,65,23) m=a(LBound(a) Index=Lbounde(a) For I=Lbound(a) To Ubound(a) If a(i)m Then m=a(i) Index=I End if Next I Print m; index End Sub 在程序运行过程中,单击窗体时,程序的输出结果为() (A) 24 2(B) 356 4(C) 345 1(D) 356 3 17、 以下是窗体的 Click 事件过程 Form_Click 的程序代码: Option Base 1 Private Sub Form
9、_Click() Dim a(10) As Integer, p(3) As Integer Dim I As Integer, k As Integer k=0 For I=1 To 10 a(i)=2*(I-1) + 1 Next I For I=1 To 3 p(i)=a(I*I) Next I For I=1 To 3 k=k +p(i)2 Next I Print k End Sub 在程序运行过程中,单击窗体时,程序的输出结果为() (A) 5(B) 7(C) 9(D) 11 18、 在下列说法中,正确的是() (A) ReDim 语句与 Dim 语句一样可以定义数组, 因此, 该
10、语 句可以放在程序的任何地方 (B) 嵌套数组、默认数组、数组变量都必须定义成Variant 类型 (C) Option Base 语句用于指定数组的下标下界默认值, 该默 认值可以任意 (D) 数组的下标不能为负数 19、 在下列数组声明语句中,正确的是() (A) Dim a5,5 As Integer(B) Dim a(5,5) As Variant (C) Dim a(m, m) As Double(D) Dim a(55) As Single 20、 设在窗体模块的通用声明段中书写了以下语句: Option Base 1 Dim x(2,-1 To 2) As Integer 则数组
11、 x 中包含的元素个数是() (A) 6(B) 4(C) 8(D) 12 21、 当用 Dim 语句定义数组时,该语句() (A) 既可用在标准模块和窗体模块,也可用在过程内部 (B)只用于过程内部 (C)只用于在标准模块的声明段中定义全局数组 (D) 只用于在窗体模块的声明段中定义局部数组 22、 下列有关 ReDim 语句的叙述中,正确的是() (A) ReDim 语句虽然可以定义动态数组,但它在改变数组 大小的同时必将该数组中原有内容清除 (B) 它和 Dim 语句一样,可以声明数组,可以写在程序的 任何地方 (C) ReDim 语句是一种非执行语句 (D) 它只能用于过程内部 23、与
12、数组的下标默认下界值有关的语句是() (A) Option Explicit(B) Option Base (C) Optional(D) Base 24、 设有语句 Dim n %(1 To 3),则下列说法中正确的是() (A)该语句等价于 Dim n(1 To 3) (B)该语句存在语法错误,原因是数组名不正确 (C)该数组是一个含有 3 个元素的一维整型(即 Integer 类型)数组 (D)该数组是一个含有3 个元素的一维变体类型 (即 Variant类型)数组 25、 设在窗体模块的声明段中书写了以下程序代码: Option Base 1 Dim x(2,3) As Integer
13、 则数组 x 在内存中所占的空间是()个字节。 (A) 6(B0 5(C) 24(D) 12 26、在下列有关数组的说法中,正确的是() (A) 同数组中每一维的下界值一定小于或等于上界值 (B)一个数组中的所有元素都属于同一种数据类型 (C)在 Visual Basic中,最多可以定义二维数组 (D) 当程序中书写了 Option Base 1 语句时, 则程序中所有 已定义的数组的下标下界值都从 1 开始 27、 在下列有关控件数组的说法中,正确的是() (A) 可以将窗体上的各种类型的控件创建到一个控件数组 中 (B)控件数组中所包含的控件必须是同一类型的,并且它 们的 Name 属性值
14、不能相同 (C)控件数组中所包含的控件必须是同一种类型的,并且 它们的 Name 属性值相同, 但每个控件的 Index 属性值 不同 (D) 程序运行时,对控件数组中的不同控件进行操作而触 发事件时,执行的是对应于各个控件的事件过程代码 28、 在窗体中添加一命令按钮 Command1,然后编写以下程序代码: Option Base 1 Private Sub Command1_Click() Dim x(5), b(2) As Integer Dim s s=0 For I=Lbound(x) To Ubound(x) X(i)=I Next I For I=Lbound(b) To Ub
15、ound(b) B(i)=x(I * I) s=s + b(i) * 2 Next I Print s End Sub 在程序运行时,单击命令按钮 Command1 时,程序的输出结果是() (A) 6(B) 8(C) 10(D) 0 29、 在以下定义数组的语句中正确的是() (A) n=10:Dim x(1 To n) As Integer (B) Dim x(10) As Integer : ReDim x(1 To 20) (C) Dim x() As Integer : ReDim x(2,5) As Single (D) Dim x() As Integer : n=20 : Re
16、Dim x(n) As Integer 30、在下列各程序段中,正确的是() (A) Dim x As Integer : x=Array(1,2,3,4,5) (B) Dim x() As Integer : x=Array(1,2,3,4,5) (C) Dim x As Variant : x=Array(1,”abc”,2,3) (D) Dim x As variant=Array(1,2,3) 二、填空题二、填空题 1、给出下面的程序,在横线处填入适当的内容。 Dim x() As Integer Sub calcvaluesnow() _x(20, 20) As Integer En
17、d Sub 2、下列程序运行后,单击命令按钮 command1, 输出结果如右图所示:请在横线处填入适当 的内容。 Private Sub Command1_Click() Dim a(3, 3) For i = 1 To 3 For k = 1 To 3 a(i, k) = _ Print a(i, k); Next k Print Next i End Sub 3、下列程序运行后,单击命令按钮 command1, 输出结果如右图所示:请在横线处填入适当 的内容。 Private Sub Command1_Click() Dim a(5, 5) As Integer For i = 1 To
18、 5 a(1, i) = Next i For i = 2 To 5 For j = 1 To 4 a(i, j) = Next j a(i, j) = a(i - 1, 1) Next i For i = 1 To 5 For j = 1 To 5 Print a(i, j); Next j Print Next i End Sub 4、下列程序完成的功能是产生 100 个小于 500(但不含 500)的随机正整数, 并统计其中 5 的倍数 所占比例,请在横线处填入适当的内容。 Dim a(100) As Integer k = 0 For i = 1 To 100 a(i) = Print
19、 a(i); IfThen k = k + 1 End If Next i Print Print k / 100 三、读程序写结果三、读程序写结果 四、编程题四、编程题 1、“排序”程序。随机产生 10 个 0-100 之间的正整数,将它们从大到小的顺序排列。参考界面如图 5-1 所示。 图 5-1 2、按图 5-2(a)所示,输入整数 N,显示出具有 N 行的“杨辉三角形” 。一个具有 9 行的杨辉三角形运 行结果如图 5-2(a)所示。若要显示如图 5-2(b)所示的效果,原程序要作哪些改动? 提示: 1)“杨辉三角形”的算法:上三角两边元素均为“1” ;其余每个元素正好等于它上面一行的
20、同 一列和前一列的两个元素之和,即:a(i,j)a(i-1,j-1) + a(i-1,j)。 2)利用 TAB函数定每行显示的起始位,利用两重循环显示下三角各元素。 3)为了便于控制,显示的内容在图形框(PictureBox)。 图 5-2(a)图 5-2(b) 3、从 40 分到 100 分随机产生 50 个学生的物理课程考试成绩,要求在列表框中显示所有考试成绩, 并在图片框中统计各分段人数,即40-59、60-69、70-79、80-89、90-100,显示结果如图5-3 所示。 图 5-3 4、按图 5-4 所示,当在文本框中输入任意字母或数字时,单击统计按钮,将会在图片框中打印出数 字
21、字符“0”“9”出现的次数。 图 5-6(a)图 5-6(b)图 5-6(c) 图 5-4 5.45.4 参考答案参考答案 一、单选题一、单选题 5、利用随机数生成矩阵 A(数据不一定相同,要求数据范围在 2080 之间) ,求 A 的转置矩阵。参 考界面如图 5-5 所示(分别在图片框中显示) 。 图 5-5 6、建立含有四个命令按钮的控件数组,当单击某个命令按钮时,分别显示不同的图形或结束操作。 控件名称及相关属性见下表;参考界面如图 5-6(a)(b)(c)所示, 控件名控件名 IndexIndex CaptionCaption Command1 0 直线 Command1 1 矩形 C
22、ommand1 2 圆 Command1 3 结束 Picture1 二、填空题二、填空题 1、答案:ReDim 2、参考答案:i + (k - 1) * 3 B BD DB BB BC CA AD D 63 38 A 69 72 5255 37 672066 6322 45 684278 1 1 A A 1616 2 2 A A 1717 3 3 B B 1818 4 4 B B 1919 5 5 D D 2020 6 6 C C 2121 7 7 B B 2222 8 8 D D 2323 9 9 B B 2424 1010 A A 2525 1111 C C 2626 1212 C C
23、2727 1313 D D 2828 1414 A A 2929 1 1 C C 3 3 B BC CD DA AC CC CD DC C 3、参考答案: i , a(i - 1, j + 1) 4、参考答案: Int(Rnd * 500),a(i) Mod 5 = 0 三、读程序写结果三、读程序写结果 四、编程题四、编程题 1、 Private Sub Command1_Click() Dim x(1 To 10) As Integer Print Print 原始数据:; For i = 1 To 10 x(i) = Int(Rnd * 101) Print x(i); Next i Pr
24、int: Print Print 排序数据:; For i = 1 To 9 For j = i + 1 To 10 If x(i) = 0 And c = 9 Then j = Val(c) num(j) = num(j) + 1 End If Next i For i = 0 To 9 If num(i) 0 Then Picture1.Print 数字; i; 出现的次数为:; num(i) End If Next i End Sub Private Sub Command2_Click() End End Sub 5、 Private Sub Command1_Click() Dim
25、a(4, 4), b(4, 4) As Integer For i = 1 To 4 For j = 1 To 4 a(i, j) = Int(Rnd * 61 + 20) b(j, i) = a(i, j) Picture1.Print a(i, j); Next j Picture1.Print Next i For i = 1 To 4 For j = 1 To 4 Picture2.Print b(i, j); Next j Picture2.Print Next i End Sub Private Sub Command2_Click() End End Sub 6、 Private
26、 Sub Command1_Click(Index As Integer) Picture1.Cls Picture1.FillStyle = 6 Select Case Index Case 0 Picture1.Print 画直线 Picture1.Line (2, 2)-(7, 7) Case 1 Picture1.Print 画矩形 Picture1.Line (2, 2)-(7, 7), , BF Case 2 Picture1.Print 画圆 Picture1.Circle (4.5, 4.5), 3.5, , , , 1 Case Else End End Select End
27、 Sub Private Sub Form_Load() Picture1.Scale (0, 0)-(10, 10)设置坐标系 End Sub 6.36.3 练习题练习题 一一 选择题选择题 a)假定已定义了一个过程 “Sub Add(a as Single,b as Single)” ,则正确的调用语句是。 (A) Add (12,12)(B) Call Add (24,24) (C) Call Add x,y(D) Call Add(12,12,x) 2Sub 过程与 Function 过程最根本的区别是。 (A)Sub 过程可以使用 Call 语句或直接使用过程名调用,而 Functi
28、on 过程不可以 (B) Function 过程可以有参数,Sub 过程不可以 (C) 两个过程参数的传递方式不同 (D) Sub 过程的过程名不能返回值,而 Function 过程能通过过程名返回值 (E) 过程调用中,参数的传递可以分为按值传递和两种方式。 (A)按变量传递(B)按地址传递(C)按参数传递(D) 按位置传递 (F) 变量 I 为整型变量,若实参书写为(I) ,则它和对应形参之间的数据传递方式是 . (A)地址传递(B) 单向值传递(C) 双向值传递(D) 由用户指定传递方式 5在参数传递过程中,使用关键字来修饰形式参数,可以使之按值传递。 (A)ByVal(B) ByRef
29、(C) Value(D) Reference 6若用数组名作为函数调用的实参,传递给形参的是。 (A) 数组第一个元素的地址(B) 数组第一个元素的值 (C)数组全部元素的值(D) 传递方式是值传递 7在某窗体中有语句: Public Abc As Long,则变量 Abc 的有效作用域是: (E)整个应用程序的所有模块中(B) 该窗体的所有过程内 (C)只能在该窗体的事件过程内(D) 只能在该窗体的通用过程内 8在过程中可以用语句定义变量。 (A)Dim、Private(B)Dim 、Static (C) Dim、Public(D)Dim、Static、Private 9用 Static 关
30、键字定义过程是指。 (A)声明过程名是静态的(B) 声明形参是静态的 (C)声明过程中的局部变量是静态的(D) 声明函数过程的返回值是静态的 10下列叙述中正确的是。 (A)在窗体的 Form_Load 事件过程中定义的变量是全局变量 (B)局部变量的作用域可以超出所定义的过程 (C)在某个 Sub 过程中定义的局部变量可以与其他事件过程中定义的局部变量同名,但 其作用域只限于该过程 (D) 在调用过程时,所有局部变量被系统初始化为 0 或空字符串 11下列说法错误的是。 (A)在同一模块不同过程中的变量可以同名 二、不同模块中定义的全局变量不能同名 三、引用另一模块中的全局变量时,必须在变量
31、名前加模块名 (D) 同一模块中不同级的变量可以同名 12. 读如下程序: Function F(a As Integer) b=0 static c b=b+2 c=c+1 f=a + b + c End Function Private Sub Command1_Click() Dim a As Integer a=3 For I=1 To 3 Print F(a) Next I End Sub 运行上面的程序,单击命令按钮,输出结果为_. (A) 6(B) 6(C) 6(D) 6 67810 681014 13. 读如下程序: Sub subP(b() As Integer) For I
32、=1 To 4 b(i)=2*I Next I End Sub Private Sub Command1_Click() Print f; n End Sub Public Function f1 (ByRef x) x=x*x f1=x + x End Function Public Function f2 (ByVal x) Dim a(1 To 4) As Integer a(1)=5 a(2)=6 a(3)=7 a(4)=8 SubP a() For I=1 to 4 Print a(i) Next I End Sub 运行上面的程序,单击命令按钮,输出结果为_. (A) 2(B) 5
33、(C) 10(D) 出错 4612 6714 8816 14. 以下关于函数过程的叙述中,正确的是_. (A)函数过程形参类型与函数返回值的类型没有关系 (B)在函数过程中,过程的返回值可以有多个 (C)当数组作为函数过程参数时,既能以传值方式传递,也能以传址方式传递 (D) 如果不指明过程参数的类型,则该参数没有数据类型 15. 在窗体上添加一个名称为 Text1的文本框,一个名称为 Command1 的命令按钮,然后编写如下事件 过程和通用过程: Private Sub Command1_Click() n=Val(Text1.Text) If n2=n/2 Then f=f1(n) El
34、se F=f2(n) End if x=x*x f2=x + x + x End Function 程序运行后,在文本框中输入 6,然后单击命令按纽,窗体上显示的是_. (A) 72 36(B) 108 36(C) 72 6 16 在窗体上加一命令按钮,其名称为 Command1,然后编写以下程序代码: Private Sub sub1(k As Integer, ByVal s As Integer) Dim I As Integer s=1 For I=1 To k s=s * I Next I End Sub Private Sub Command1_Click() Dim sun As
35、 Integer, n As Integer, I As Integer sum=0 n=0 For I =1 To 3 Call sub1(I, n) sum=sum + n Next I Print sum End Sub 在程序运行过程中,单击命令按钮 Command1,程序的输出结果为() (A) 0(B) 9(C) 6(D) 3 17 在窗体上加一命令按钮,其名称为 Command1,然后编写以下程序代码: Private Function fn(ByVal n As Long) Dim k As Long (D) 108 6 k= 0 Do Whilen0 k=k + (n Mod
36、 10) n=n10 Loop fn=k End Function Private Sub Command1_Click() Dim m As Long result =CommonFunc(100,-20,30,20) Print result; Result =CommonFunc(-23,45,200) Print result End Sub Private Function CommonFunc(ParamArray data() Dim m, I m=-1E+34 For Each I In data m=Clng(Val(InputBox(“输入一个数据”) Print fn(m
37、) End Sub 在程序运行过程中,单击命令按钮Command1,在出现的输入对话框中输入153 时,程序的输出结果为 () (A) 15(B) 9(C) 8(D) 5 18 在窗体上加一命令按钮,其名称为 Command1,然后编写如下程序代码: Private Function func(n As Integer) Static c As Integer Dim b As Integer b=b + 2 c=c + 2 func=n + b + c End Function Private Sub Command1_Click() Dim m As Integer, I As Integ
38、er m=0 For I=1 To 2 m=m + func(i) Next I Print m End Sub 在程序运行过程中,单击命令按钮 Command1,程序的输出结果是() (A) 10(B) 11(C) 12(D) 13 19 在窗体上加一命令按钮,其名称为 Command1 然后编写以下程序代码: Private Sub Command1_Click() Dim result If m I Then m=I End if Next I CommonFunc=m End Function 在程序运行过程中,单击命令 Command1,程序的输出结果为() (A) 100 200(
39、B) 30 45(C) 20 23(C) 20 23 20 在窗体上加一命令按钮,其名称为 Command1,然后编写以下程序代码: Private Sub Command1_Click() Dim x As Integer, y As Integer x=Cint(Val(InputBox(“输入第一个数”) y=Cint(Val(InputBox(“输入第二个数”) CommonSub x,y Print x; y; Call CommonSub(var2 :=x, var1 :=y) Print x; y End Sub Private Sub CommonSub(var1 As Int
40、eger, var2 As Integer) var1=var1 + var2 var2= var1 + var2 End Sub 在程序运行过程中,单击命令按钮 Command1 后,在两次出现的输入对话框中分别输入 10 和 20 并按 Enter 键后,程序的输出结果为() (A) 10 20 10 20(B) 30 50 110 80 (C) 30 30 30 30(D) 60 60 60 60 21 下列有关事件过程与通用过程的说法中,错误的是() (A) 事件过程只能在窗体模块中定义 (B)事件过程与通用过程除名字上有不同外,基本没有本质区别 (C)在不同模块中不能定义相同名称的过
41、程,否则会出现重定义的错误 (D)事件过程和通用过程间可以相互调用 22 与调用语句 Call MySub(100,n)等价的语句是() (A) MySub(100,n)(B) MySub 100,n (C) Call MySub 100,n(D) Call MySub(n,100) 23 过程中的参数列表中的形参类型不能是以下哪中数据类型() Dim I As Integer Dim s s=0 For I =Lbound(d) To Ubound(d) If d(i) Mod 5=0 Then s=s + d(i) Next I f1=s End Function (A) 双精度类型 (B
42、)变长字符串类型 (C)定长字符串类型 (D) 控件类型 24 在作为参数传递时,以下数据类型或对象只能使用传址方式的是() 31、用户自定义数据类型 32、变体类型 33、单精度类型 34、整型 25 在作为参数传递时,以下既可以采用传址方式也可以采用传值方式的是() 7、 控件 8、 整个数组 9、 用户自定义类型 10、字符串类型 26 下列说法中不正确的是() 1、 当用 Static 关键字来定义一个过程时,则该过程中的所有变量都是静态的 2、 既可在模块的声明段中用 Static 定义变量,也可以在过程中用 Static 定义变量 3、 用 Static 定义的变量其值在程序运行过
43、程中始终存在,因此,它是全局变量 4、 在过程中,可以用 Static 定义变量,但当该过程调用结束后,其值继续保留 27 在 Visual Basic的程序中,能运行其他程序的函数是() (A) Shell(B) Do(C) Run(D) Execute 28 在窗体加一命令按钮,其名称为 Command1,然后编写以下程序代码: Private Sub Command1_Click() Dim data data= Array(12,20,40,-5,19) Print f1(data) End Sub Private Function f1(d) 在程序运行过程中,单击命令按钮 Comm
44、and1,程序的输出结果为() (A) 55(C) 60(C) 86(D) 72 29 在窗体上加一命令按钮,其名称为 Command1,然后编写以下程序代码: Private Sub Command1_Click() Dim data, n1, n2 data=array(10,30,-20,50,20) Sub1 data, n1, n2 Print n1; n2 End Sub Private Sub sub1(d,m1,m2) Dim I As Integer m1=d(Lbound(d) m2=d(Lbound(d) For I= Lbound(d) + 1 To Ubound(D)
45、 If m1 d(i) Then m2=d(i) Next I End Sub 在程序运行过程中,单击命令按钮 Command1,程序的输出结果是() (A) 20 50(B) 10 20(C) 50 20(D) 20 10 30 在窗体上加一命令按钮,其名称为 Command1,然后编写以下程序代码: Private Sub Command1_Click() Dim str As String Str=InputBox(“请输入”) Print func1(str) End Sub Private Function func1(s As String) As Integer Dim I As
46、 Integer, d As Integer d=0 For I =Len(s) To 1 Step 1 d=d * 10 + Val(Mid(s, I, 1) Next I func1=d End function 在程序运行过程中,单击命令按钮 Command1,在出现的输入 对话框中输入“315”并按 Enter 键后, 程序的输出结果是() (A) 315(B) 5130(C) 135(D) 513 Dim I As Integer m= Lbound(d) n= Ubound(d) k= (m + n)/2 Do While mn And d(k) a If a d(k) Then
47、m=k + 1 K=(m + n)/2 Loop 31 在窗体上加一命令按钮,其名称为 Command1,然后编写以下程序代码: Private Sub Command1_Click() Dim a, d a=10: b =20 Call mult(a), b) Print a; b End Sub Private Sub mult(ByRef x As Variant, y As Variant) x=x * 2 y= y * 3 End Sub 在程序运行过程中,单击命令按钮 Command1,程序的输出结果为() (A) 10 20(B) 20 60(C) 10 60(D) 20 20
48、32 在窗体上加一命令按钮,其名称为 Command1,然后编写以下程序代码: Private Sub Command1_Click() Dim data(1 To 5),m, n m=Val(InputBox(“输入数据”) Data(1)=-23 Data(2)=13 Data(3)=27 Data(4)=44 Data(5)=76 Call ser(data(),m, n) Print n End Sub Private Sub ser(d(),a, b) Dim m As Integer, n As Integer, k As Integer If d(k)= a Then b=k E
49、lse b=-1 End if End Sub 在程序运行过程中,单击命令按钮 Command1,在出现的输入对话框中输入“-200”并按 Enter 键后, 程序的输出结果为() (A) 1(B) 1(C) 200(D) 5 二填空题二填空题 11、过程前面添加_表示此过程只可以被模块中的其他过程调用,而添加_表示 可以被其他模块过程调用。 12、如果用关键字 Static 限定子过程,则该过程中定义的所有局部变量都成为_变量。 13、如果将数组的全部元素传递给一个过程,应在实参列表和形参列表中说明数组名,忽略维 数的定义,但_不能省。 14、形参是数组时,只能采用_传递方式 15、过程按作
50、用域可划分为_和_两种,使用它们时应分别在过程前加上关键字 _和_。 三读程序写出结果三读程序写出结果 1 Private Sub Form_Click() Dim a As Integer, b As Integer, z As Integer a = 1 b = 1 For n = 1 To 3 z = chg(a, b) Form1.Print n=; n, z=, z Next n End Sub Function chg(a As Integer, b As Integer) As Integer Dim n As Integer For n = 0 To 2 a = a + b N
51、ext n chg = a End Function 写出程序运行过程中,单击窗体后,Form1 上的输出结果。 2 Private Sub Form_Click() Dim I As Integer,isum As Integer For I=1 To 5 Isum=sum(I) Form1.Print”isum”;isum Next I End Sub Private Function sum(n As Integer) Static j As Integer j=j+n Sum=j EndFunction 写出程序运行后,单击窗体,Form1 上显示的内容。 3 Dim Y As Int
52、eger Private Sub Command1_Click() Dim X As Integer X=1 Y=1 Call AA(Y+1) Z=BB(X) Print X, Y, Z End Sub Private Sub AA(ByVal Z As Integer) Y = Z + X Z = X + Y End Sub Private Function BB (ByRef Y As Integer) Y = Y + 1 BB=X + Y End Function 4 Private Sub Command1_Click() Dim S As Integer, I As Integer
53、S = 0 For I = 1 To 10 If ZS(I) Then If I * 2 = 10 Then Print Str(I * 2) S = S + 1 Else Exit For End If End If Next i Prirt “S=” Str(S) End Sub Public Function ZS (ByVal X As Integer) AS Boolean Dim J As Integer J = 2 Do While J X If Int (X / J) = X / J Then Exit Do J = J + 1 Loop If J = X Then ZS =
54、True Else ZS = False End If End Function 四编程题四编程题 求 P 的值,P1 1 1 2 1 1 23 + 1 1 2310 。 2. 设 a 为一个整数,如果能使 a 2 的低位与 a 相同,则称 a 为“守形数” 。 例如:5 225, 25 2 625, 则 5 和 25 都是守形数。 试编写一个函数过程, 利用该过程查找 11000 之间的所有守形数。 3. 某班有 40 名学生,按学号顺序输入了 39 名学生的入学成绩(注:可使用随机函数生成39 个 0100 之间的数据) ,学号为 28 号的学生成绩没有输入。请将 28 号学生的入学成绩插
55、入到指定位置。 4. 编写一个子过程 Delstr(s1,s2),将字符串 s1 中出现的子字符串 s2 删除, 结果还存放在 s1 中。 例如, s1=”I am a student” ,s2=”am”,结果为”I a student”。 5. 编写一个函数过程,将一个二进制字符串(0 和 1 组成数据)转换成十进制整数。使用主调 程序调用,并显示二进制字符串和转换结果。 6.46.4 参考答案参考答案 一、选择题一、选择题 1 B 11 B 21 D 31 C 二、填空题二、填空题 1Private,public 2静态变量 3括号 4地址传递 5窗体级,全局级 private , pub
56、lic 三读程序写出结果三读程序写出结果 1. n=1z=4 n=2z=7 n=3z=10 2. isum= 1 isum=3 isum=6 isum=10 isum=15 3. 222 4.4 6 10 S=3 2 D 12 B 22 B 32 A 3 B 13 A 23 D 4 B 14 A 24 A 5 A 15 A 25 D 6 A 16 A 26 C 7 A 17 B 27 A 8 B 18 D 28 A 9 C 19 A 29 C 10 C 20 B 30 D 三、编程题三、编程题 1.Option Explicit Private Function sum(i As Intege
57、r) As Integer Dim sum2 As Integer Dim j As Integer For j = 1 To i sum2 = sum2 + j Next j sum = sum2 End Function Private Sub command1_click() Dim i As Integer Dim sum1 As Double For i = 1 To 10 sum1 = sum1 + 1 / sum(i) Next i Print Print Tab(5); P=; sum1 End Sub1. 2.Option Explicit Private Sub find(
58、x As Integer) Dim i As Integer, j As Integer Dim n As Long Dim duc As String, s As String Print Print 1 到; x; 之间的守形数有: j = 0 For i = 1 To x s = LTrim(str(i) n = i * i duc = Right(str(n), Len(s) If i = Val(duc) Then Print i; j = j + 1 End If If j = 10 Then Print ; j = 0 Next i End Sub Private Sub com
59、mand1_click() Dim x As Integer x = InputBox(请输入 X 值) Call find(x) End Sub i = 1 Do While i n1 - n2 + 1 If Mid(s1, i, n2) = s2 Then s1 = Left(s1, i - 1) If i Mod 10 = 0 Then Pic1.Print Next i End Sub Private Sub command1_click() Dim num As Integer Dim i As Integer num = InputBox(请输入学号为 12 号的学生的成绩:, 输入) Call insert(num) For i = 1 To 30 Pic2.Print score(i); If i Mod 10 = 0 Then Pic2.Print Ne
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装配线设备故障应急预案流程
- React组件生命周期编写规范
- 病理切片制作与诊断质量控制规程
- 工装车间短周期排产调整制度
- 施工电梯进退场安全检查方案
- 突发停电应急照明恢复规范
- 安徽省合肥市2026届高三下学期第二次教学质量检测数学+答案
- 装配一线生产进度跟进方案
- 消防设施临时安装安全保障方案
- 江西赣州市2026届高三4月期中联考语文试题及参考答案
- 人工智能基础智慧树知到期末考试答案章节答案2024年北京科技大学
- 七子之歌澳门混声合唱谱
- 成人氧气吸入疗法-2020版指南解读
- 脱硝催化剂介绍、安装、更换、运行
- 【课件】历史的图谱(文化色彩)+课件高中美术人教版(2019)选择性必修1+绘画
- 十年(14-23)高考物理真题分项汇编专题58 气体的等圧変化(含解析)
- 高中英语必修二unit 4 教学设计与反思评价
- 蛋白质结构分析
- 110kv变电站设计外文翻译
- 毛主席诗词(132首)
- SB-2100流量积算仪说明书
评论
0/150
提交评论