江苏省计算机二级vb分章节解析 联系客服

发布时间 : 星期四 文章江苏省计算机二级vb分章节解析更新完毕开始阅读

第5章 数组

一、本章知识点

1、数组与数组元素

数组是一组按一定顺序排列的数据集合形式如下: 数组名(下标1[,下标2,?]) 2、数组的维数

一个下标的数组称为一维数组,两个下标的数组称为二维数组,?? 3、声明语句

Dim|Static|Private|Public数组名([下界1 To] 上界1[,[下界2 To] 上界2 ?])[As数据类型] 4、数组的类型

与变量的类型相同,不能在窗体的通用声明处声明全局数组。 5、与数组相关的函数

LBound函数、UBound函数、Array函数 6、动态数组的定义

ReDim [Preserve] 变量(下标) As 数据类型 7、数组刷新语句(Erase)

功能是清除静态数组的内容,或者释放动态数组占用的存储空间 8、数组元素的赋值

(1)利用赋值语句为数组元素赋值 (2)利用循环语句为数组元素赋值

(3)利用InputBox函数为数组元素赋值 (4)利用Array函数为数组元素赋值 9、数组元素的输出

通常采用循环方式输出 10、控件数组

其数组元素由一组相同类型的控件组成 (1)件数组具有相同的控件名

(2)控件数组中的控件具有相同的属性设置 (3)所有控件共享相同的事件过程

二、试题与解析

选择题

1.下面有关数组的说法中,错误的是________。

A. 数组必须先定义后使用 B. 数组形参可以是定长字符串类型 C. Erase语句的作用是对已定义数组的值重新初始化

D. 定义数组时,数组维界值可以不是整数 【答案】C

【解析】Erase语句功能是清除静态数组的内容,或释放动态数组占用的存储空间。定义数组时,数组维阶若不是整数,自动对其四舍五入。

2.在窗体模块代码窗口的通用声明处,可以使用________语句说明数组。 ①Public A(10) As Integer ②Dim A(IO) As Integer ③Private A(IO) As Integer ④Static A(10) As Integer A.①② B.②③ C.③④ D.①④ 【答案】B

【解析】定义数组时,在过程中可用Dim和Static定义局部数组和静态数组,在模块通用声明处可用Private和Dim定义模块级数组,Public只能在标准模块的声明处定义全局数组。 3.以下有关ReDim语句用法的说明中,错误的是__________。 A.ReDim可用于定义一个新数组

B.ReDim语句既可以在过程中使用,也可以在模块的通用声明处使用 C.无Perserve关键字的ReDim语句,可重新定义动态数组的维数 D.在ReDim语句中,可使用变量说明动态数组的大小 【答案】B

填空题

1.执行下面程序,单击按钮Command1,A(1,1)的值是_____1____,A(1,4)的值是____2____,A(4,1)的值是____3_____,A(4,4)的值是_____4______。

Option Base 1

Private Sub Command1_Click()

Dim A() As Integer, I As Integer, J As Integer Dim K As Integer, n As Integer n=4

ReDim A(n, n) I=1:J=n: A(I, J)=l For K=2 To n*n If I+1>n Then I=n-J+2: J=1

ElseIf I+1<=n And J+1>n Then J=J-I:I=1 E1se

I=I+1:J=J+1 End If A(I, J)=K Next K

For I=1 To n For J=l To n Print A(I, J); Next J Print Next I

End Sub 【答案】(1)7(2)1(3)16(4)10

第6章 过程

一、本章知识点

1、建立Sub过程

格式如下:

[Static][Private][Public] Sub过程名[(参数表)] ?

[Exit Sub]

?

End Sub 2、调用Sub过程

(1)用Call语句调用Sub过程 Call 过程名[(实际参数)]

(2)把过程名作为一个语句来使用 过程名 [实参1[,实参2, ?]] 3、建立Function过程

[Static][Private][Public]Function函数名[(参数表)][As类型] ?

[函数名=表达式] [Exit Function] ? End Function 4、调用Function过程

函数名([实参表]) 5、形参与实参

形参是在过程的声明中出现的变量,实参则是在调用过程时传递给过程的常量、变量、表达式和数组。 6、按值传递

形参表的参数前使用关键词ByVal,称为按值传递 7、按地址传递

形参表的参数前使用关键词ByRef(通常省略) 8、数组参数的传递

传递方式只能是按地址传递 9、递归的概念

递归是一种过程自身调用自身的调用机制,递归分为两种类型:一种是直接递归,即在过程中调用本身;另一种是间接递归,即过程间接地调用自身。 10、局部变量

该变量只能在本窗体(或本模块)中有效,在其他窗体或模块中不能引用该变量。

11、模块级变量

在窗体模块的通用声明段中声明的变量 12、全局变量

全局变量可以被应用程序中的任何一个窗体和模块直接访问 13、同名变量

在一个窗体中可以包括许多过程,在不同过程中定义的局部变量可以同名 14、静态变量

退出过程时,其局部变量的值被保留,当再次调用该过程时,其值还能使用的变量为静态变量

二、试题与解析

选择题

1.下面定义Sub子过程的各个语句中,正确的语句是________。 ① Private Sub Sub1(A( ) As String) ② Private Sub Sub1(A(1 To 10 ) As String*8) ③ Private Sub Sub1(S As String) ④ Private Sub Sub1(S As String*8)

A.①②③④ B.①②③ C.①③④ D.①③ 【答案】D

【解析】形参可以是:(1)除定长字符串之外的合法变量名(数组可以是定长的字符串);(2)后面跟有左、右括号的数组名。此题中的②数组A不能有维数及上下限说明,④为定长字符串。

2.程序中有两个过程Private Sub Fun1(S As String)和Private Sub Fun2(a() As String* 6),在调用过程中用Dim St(6) As String*6定义了一个字符串数组。下面调用语句中正确的是________。

①Call Fun1(St(3)) ②Call Fun2(St) ③Call Fun1(St) ④Call Fun2(st(6)) A.①② B.①③ C.②③ D.②④ 【答案】A

【解析】在函数Fun1中形参为字符型变量,调用该函数时实参应为字符型变量或数组的某个元素,Fun2中形参为数组,调用该函数时实参也应为数组。③在调用Fun1时实参为数组, ④在调用Fun2时实参为数组的下标为6的元素。

3.下面关于过程参数的说法,错误的是___________。 A.过程的形参不可以是定长字符串类型的变量

B.形参是定长字符串型的数组,则对应的实参必须是定长字符串型数组,且长度相同 C.若形参是按地址传递的参数,形参和实参也能以按值传递方式进行形实结合 D.按值传递参数,形参和实参的类型可以不同,只要相容即可 【答案】B

4.以下有关事件过程的说法中,错误的是___________。 A.标准模块中不能包含事件过程

B.事件过程都是无参(没有形式参数)的过程