当前位置:文档之家› VB_数组与记录教学练习题

VB_数组与记录教学练习题

VB_数组与记录教学练习题
VB_数组与记录教学练习题

第八章数组与记录

教学要求:

掌握一维、二维数组的定义、引用、初始化,掌握静态和动态数组及其差别,掌握数组的基本使用方法:数组元素的输入、输出和赋值等,掌握使用For Each...Next语句操作数组元素的方法;掌握控件数组的定义、建立和使用,掌握排序算法。掌握记录类型及记录数组的概念、记录变量的初始化及引用。

知识点:

数组的定义、引用、初始化;静态和动态数组及其差别;For Each...Next语句;控件数组。

熟练数组“遍历”算法的设计规律,冒泡排序、快速排序算法,顺序查找、有序表对分查找、字符查找算法。

内容导航:

一、数组的概念

(一)数组的定义

在Visual Basic中,可以用4个语句来定义数组,这4个语句格式相同,但适用范围不一样。Dim用在窗体模块或标准模块中,定义窗体或标准模块数组;ReDim、Static可用于过程中;Public 用在标准模块中,定义全局数组。

Visual Basic 提供两种格式:

第一种格式:

一维数组Dim 数组名(下标上界) As 类型名称

二维数组Dim 数组名(第一维下标上界,第二维下标上界) As 类型名称

第二种格式:

Dim 数组名([下界To] 上界[,[下界To]上界]……)

Dim 数组名([下界To[上界[,[下界To]上界]……)

(二)默认数组

在Visual Basic中,允许定义默认数组。默认数组就是数据类型为Variant(默认)的数组。在一般情况下,定义数组应指明其类型。

二、动态数组

(一)动态数组的定义

动态数组以变量作为下标值,在程序运行过程中完成定义,通常分为两步:首先在窗体层、标准模块或过程中用Dim或Public声明一个没有下标的数组(括号不能省略),然后在过程中用ReDim 语句定义带下标的数组。

ReDim 语句格式:

ReDim [ Preserve ] 变量( 下标) As 类型

(二)数组的清除和重定义

数组一经定义,便在内存中分配了相应的存储空间,其大小不能改变。有时需要清除数组的内容或对数组重新定义,其格式为:

数组的清除:Erase数组名[,数组名]……

重定义:ReDim

三、数组的基本操作

(一)数组元素的输入、输出和复制

1.数组的引用

数组的引用通常是指对数组元素的引用,其方法是,在数组后面的括号中指定下标。2.数组元素的输入

数组元素一般通过For循环语句及InputBox函数输入,当数组较小,或只需要对数组中的指定元素赋值时,可以用赋值语句来实现数组元素的输入,多维数组元素的输入通过多重循环来实现

3.数组元素的输出

数组元素的输出可以用Print方法来实现。

4.数组元素的复制

单个数组元素可以像简单变量一样从一个数组复制到另一个数组,二维数组中的元素可以复制到另一个二维数组中的某个元素,也可以复制到一个一维数组中的某个元素,并且反之亦然

(二)For Each…Next语句

For Each…Next语句类似于For…N ext语句,两者都用来执行指定重复次数的一组操作,但For Each…Next语句专门用于数组或对象“集合”(本书不涉及集合),其一般格式为:For Each成员In 数组

循环体

[Exit For]

……

Next[成员]

这里的“成员”是一个变体变量,它是为循环提供的,代表的是数组中的每个元素。“数组”是一个数组名,没有括号和上下界。

四、数组的初始化

用Array函数来给数组元素赋值,其格式为:

数组变量名=Arra(数组元素值)

注意,Array函数只适用于一维数组。即只能对一维数组进行初始化,不能对二维或多维数组进行初始化。

五、控件数组

(一)基本概念

控件数组由一组相同类型的控件组成,这些控件共用一个相同的控件名,具有同样的属性设置。数组中的每个控件都有唯一的索引号(IndexNumber),即下标,其所有元素的Name 属性必须相同。

控件数组的每个元素都有一个与之关联的下标,或称索引(Index),下标值由Index属性指定。Index属性与控件数组中的某个元素有关

(二)建立控件数组

通过以下两种方法来建立控件数组:

第一种方法,步骤如下:

(1)在窗体上画出作为数组元素的各个控件;

(2)单击要包含到数组中的某个控件,将其激活;

(3)在属性窗口中选择“(名称)”属性,并键入控件的名称;

(4)对每个要加到数组中的控件重复(2)、(3)步,键入与第(3)步中相同的名称。

当对第二个控件键入与第一个控件相同的名称后,Visual Basic将显示一个对话框,询问是否确实要建立控件数组。单击“是”将建立控件数组,单击“否”则放弃建立操作。

第二种方法,步骤如下:

(1)在窗体上画出一个控件,将其激活;

(2)执行“编辑”菜单中的“复制”命令(热键为Ctrl+C),将该控件放入剪贴板;

(3)执行“编辑”菜单中的“粘贴”命令(热键为Ctrl+V),将显示一个对话框,询问是否建立控件数组;

(4)单击对话框中的“是”按钮,窗体的左上角将出现一个控件,它就是控件数组的第二个因素,执行“编辑”菜单中的“粘贴”命令,或按热键Ctrl+V,建立控件数组中的其他元素。

控件数组建立后,只要改变一个控件的“Name”属性值,并把Index属性置为空(不是0),就能把该控件从控件数组中删除。控件数组中的控件执行相同的事件过程,通过Index属性可以决定控件数组中的相应控件所执行的操作。

六、记录

(一)记录类型和记录类型变量

1.记录类型定义格式:

[Private|Public] Type 数据类型

元素名[(下标)] As 类型名

元素名[(下标)] As 类型名

End Type

2.定义记录类型变量

记录类型变量的定义和基本了类型变量的定义一样,在引用是有所不同,用“变量元素”的格式应用记录中的成员。

(二)记录类型变量的初始化及其引用

1.记录类型变量的初始化

用赋值语句或输入语句对记录各个成员分别赋值。

2.记录类型变量的引用及其操作

成员的引用:记录变量.成员名

七、记录数组

定义的一般格式:Dim 数组名([下界]To上界) As 记录名

引用记录数组元素的成员:记录数组名(下标).成员名

训练:

一、选择题

1.如下数组声明语句中正确的是________。

A) Dim A(4 5) As Integer B) Dim A(n,n) As Integer

C) Dim A(4,5) As Integer D) Dim A[4,5] As Integer

3.语句Option Base 1:Dim a(3,4)定义的数组所包含的数组元素的个数是________。

A) 7 B) 12 C) 15 D) 20

4.要分配存放如下方阵的数据,正确的且最节约存储空间的数组声明语句是________。

1.1

2.2

3.3

4.4

5.5

6.6

A) Dim a(6) As Single B) Dim a(2,3) As Single

C) Dim a(2 To 3,-3 To –1) As Single D) Dim a(1,2) As Integer

5.设有数组声明:Dim a(-2 To 4,3 To 6),则下面引用数组元素正确的是________。

A) a(-2,3)B) a(5) C) a[-2,4] D) a(-1,7)

6.用下面语句定义的数组元素个数是________。

Dim A(-3 To 5) As Integer

A) 6 B) 7 C) 8 D) 9

7.语句Dim arr(-3 To 5,2 To 6) As Integer定义的数组元素有________。

A) 45 B) 40 C) 11 D) 54

8.以下程序输出的结果是________。

Option Base 1

Private Sub Form_Click()

Dim a,B(3,3)

a=Array(1,2,3,4,5,6,7,8,9)

For i=1 To 3

For j=1 To 3

B(i,j)=a(i*j)

If(i>=j) Then print Tab(j*3);format(B(i,j),"###");

Next j

Print

Next i

End Sub

A) 1 2 3

4 5 6

7 8 9

B) 1

2 4

3 6 9

C) 1 4 7

2 4 6

3 6 9

D) 1 2 3

4 6

9

9.在窗体上面画一个命令按钮,然后编写如下事件过程:

Option Base 1

Private Sub Command1_Click()

Dim a

a=Array(1,2,3,4)

For i=4 To 1 Step -1

s=s+a(i)*j

j=j*10

Next i

Print s

End Sub

运行上面的程序,单击命令按钮,其输出结果是________。

A) 4321 B) 12 C) 34 D) 1234

10.在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim array1(10,10) As Integer

Dim i,j As Integer

For i=1 To 3

For j=2 To 4

array1(i,j)=i+j

Next j

Next i

Text1.Text=array1(2,3)+array1(3,4)

End Sub

程序运行后,单击命令按钮,在文本框中显示的值是________。

A) 12 B) 13 C) 14 D) 15

11.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim i As Integer,j As Integer

Dim a(10,10) As Integer

For i=1 To 3

For j=1 To 3

a(i,j)=(i-1)*3+j

Print a(i,j);

Next j

Print

Next i

End Sub

程序运行后,单击命令按钮,在窗体上显示的值是________。

A) 1 2 3

2 3 4

3 6 9

B) 2 3 4

3 4 5

4 5 6

C) 1 4 7

2 5 8

D) 1 2 3

4 5 6

7 8 9

12.设有如下程序:

Option Base 1

Private Sub Form_Click()

Dim a

Dim i As Integer

a=Array(1,2,3,4,5,6,7,8,9)

For i=0 To 3

Print a(5-i);

Next i

End Sub

程序运行后,单击命令按钮,在窗体上显示的值是________。

A) 5 4 3 2 B) 6 5 4 3 C) 4 3 2 1 D) 7 6 5 4

13.执行以下Command1的Click事件过程在窗体上显示________。Option Base 1

Private Sub Command1_Click()

Dim a

a=Array("a","b","c","d","e","f","g")

Print a(1);a(3);a(5)

End Sub

A) abc B) bdf C) ace D) 出错

14.设有如下程序:

Dim a(3,3) As Integer

For m=1 To 3

For n=1 To 3

a(m,n)=(m-1)*3+n

Next n

Next m

For m=2 To 3

For n=1 To 2

Print a(n,m);

Next n

Next m

运行后输出的结果是________。

A) 2 5 3 6 B) 2 3 5 6 C) 4 7 5 8 D) 4 5 7 8

15.下列程序段的执行结果为________。

Dim A(4)

n=3

A(1)=1

For k=0 To n-1

For P=1 To k+1

X=k+2-P

A(X)=A(x)+A(x-1)

If k

Print A(x)

Next P

Next k

A) 1 2 1 B) 1 2 3 C) 2 4 6 D) 1 3 1

16.有如下程序,运行后输出的结果是________。

Option Base 1

Private Sub Command1_Click()

Dim aj(1 To 10)

For j=6 To 10

aj(j)=j*2

Next j

Print aj(1)+aj(j)

End Sub

A) 5 B) 20 C) 22 D) 显示出错信息

17.当发生Command1_Click事件,以下程序的输出结果是________。Private Sub Command1_Click()

Dim a

a=Array(1,2,3,4,5)

For i=1 To 4

Print a(i)-a(i-1);

Next i

End Sub

A) 1 1 1 1 1 B) 1 1 1 1 C) 1 1 1 D) 2 2 2

18.当发生Command1_Click事件,以下程序的输出结果是________。Private Sub Command1_Click()

Dim i As Integer

Dim a(10) As Integer

For i=9 To 0 Step -1

a(i)=10-i

Next i

Print a(2);a(5);a(8)

End Sub

A) 2 5 8 B) 7 4 1 C) 8 5 2 D) 3 6 9

19.下面关于控件数组与一般控件的叙述中正确的是________。

A) 控件数组一定有1个以上同类型的控件组成,而一般控件只有一个控件。

B) 控件数组的索引属性值Index值为0,而一般控件的Index值为空。

C) 控件数组的Index值为1,而一般控件的Index值为0。

D) 控件数组的建立通过Dim语句声明,而一般控件不需要声明。

20.下面说法正确的是________。

A) ReDim语句只能更改数组下标上界。

B) ReDim语句只能更改数组下标下界。

C) ReDim语句不能更改数组维数。

D) ReDim语句可以更改数组维数。

二、填空题

1.由Array函数建立的数组的类型必须是________。

2.Visual Basic的数组下标默认为________,可通过________________语句使数组下标从1开始。

3.在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Form_Click()

Dim a(0 To 10)

Dim p(1 To 3)

K=0

For I=1 To 4

a(i)=I

For j=1 To 3

P(j)=a(j*j)

Next j

For j=1 To 3

K=K+p(j)*2

Next j

Print k

Next i

End Sub

程序运行后,单击命令按钮,输出结果是______________。

4.Visual Basic课程考试10道选择题的正确答案依次为A、C、C、D、A、A、C、C、D、D,每题2分。下面的程序利用InputBox对话框输入学生答案,计算出得分,当输入字符E 或e是可提前结束输入。阅读程序并填空。

Option Base 1

Private Sub Command1_Click()

【】

a=Array("A","C","C","D","A","A","C","C","D","D")

score=0

For i=1 To 10

Str1$="请输入考生第" & i & "题答案,输入E结束"

X$=【】

If X=a(i) Then score=score+2

If 【】Then Exit For

Cls

Print "score=";score

Next

End Sub

5.下面的程序实现矩阵的转置(即行列互换)。阅读程序并填空。

Option Base 1

Private Sub Command1_Click()

m = InputBox("输入行数"): n = InputBox("输入列数")

【】a(m, n) As Integer, B(n, m) As Integer

For i = 1 To m

For j = 1 To n

a(i, j) = Int(Rnd * 90) + 10

Next: Next

For i = 1 To n

For j = 1 To m

B(i, j) =【】

Next: Next

End Sub

6.下面的程序分别求方阵两对角线元素之和。阅读程序并填空。Option Base 1

Private Sub Command1_Click()

m=InputBox("输入方阵的阶数")

ReDim a(m,n) As Integer

For i=1 To m

For j=1 To m

a(i,j)=Int(Rnd*90)+10

Next : Next

p=0

For i=1 To m

【】

Next

q=0

For i=1 To m

【】

Next

For i=1 To m

For j=1 To m

Print a(i,j);

Next

Print : Print

Next

Print p;q

End Sub

7.下列程序的输出结果为________。

Private Sub Command1_Click()

Dim a(1 To 20)

Dim i

For i=1 To 20

a(i)=i

Next i

For Each i In a()

a(i)=20

Next i

Print a(2)

End Sub

8.下列程序的输出结果为________。

Private Sub Command1_Click()

Dim a

ReDim a(6)

For j=1 To 5

a(j)=j*j

Next j

Print a(a(2)*a(3)-a(4)*2)+a(5)

End Sub

9.下列程序是将具有10元素的数组A的元素倒序存放,即第一个变为最后一个,第二个变为倒数第二个,完成下列程序。

potion base 1

Private Sub Backward(a())

Dim i As Integer,Tmp As Integer

For i=1 To 5

Tmp=a(i)

【】

【】

Next i

End Sub

10.下面的程序的功能是求一维数组的最大值及其下标,阅读程序并填空。

Option Base 1

Private Sub Form_Click()

Dim a(10) As Integer,max_i

For i=1 To 10

a(i)=InputBox("请输入一个元素值")

Next i

max_i=【】

For i=2 To 10

If 【】Then max_i=i

Next i

Print a(max_i),max_i

End Sub

11.下列程序的功能是对一个具有二十个元素的一为数组a按每行5个元素输出,请在下划线处填上适当的内容。

Option Base 1

Private Sub Command1_Click()

Dim A(20) As Integer

For i=1 To 20

A(i)=i*i/2

Next i

Print A(i),

If 【】Then

Print

End If

Next i

End Sub

12.以下程序的功能是对二维数组a(3,4)按行输出,请在下划线处填上适当的内容。

For i=1 To 3

For j=1 To 4

Print a(i,j),

Next j

【】

Next I

13.控件数组中的各个元素由________属性决定。

14.控件数组共用事件和方法,区分事件是由哪一个元素产生的,可用过引用控件数组事件过程的参数________来实现。

三、程序阅读题

1.写出下面程序的输出结果。

Option base 1

Private Sub Command1_Click()

Dim a(10),p(3) As Integer

k=5

For i=1 To 10

a(i)=i

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

2.在窗体上画一个命令按钮(其Name属性为Command1),编写如下代码,写出程序运行后,单击命令按钮,输出的结果。

Option Base 1

Private Sub Command1_Click()

Dim a(4,4)

For i=1 To 4

For j=1 To 4

a(i,j)=(i-1)*3+j

Next j

Next i

For j=3 To 4

Print a(i,j);

Next j

Print

Next i

End Sub

3.写出下面程序的运行结果。

Option Base 1

Private Sub Text1_KeyPress(KeyAscii As Integer)

a=Array(237,126,87,48,498)

m1=a(1)

m2=1

If KeyAscii=13 Then

For i=2 To 5

If a(i)>m1 Then

m1=a(i)

m2=i

End If

Next i

End If

Print m1

Print m2

End Sub

4.写出当发生Command1_Click事件后,下面程序的运行结果。Private Sub Command1_Click()

Dim a(10) As Integer, p(2) As Integer,i As integer,k As Integer

k=5

For i=0 To 9

a(i)=i

Next i

For i=0 To 2

p(i)=a(i*(i+1))

Next i

For i=0 To 2

k=k+p(i)*2

Next i

Print k

End Sub

5.写出当发生Command1_Click事件后,下面程序的运行结果。Private Sub Command1_Click()

Dim y As Integer,i As Integer

Dim a(8) As Integer

y=18 : i=0

Do

a(i)=y Mod 2

i=i+1

y=y\2

Loop Until y<1

For j=i-1 To 0 Step -1

Print a(j)

Next j

End Sub

6.写出当发生Command1_Click事件后,下面程序的运行结果。Private Sub Command1_Click()

Dim B(2,2) As Integer

Dim i,k,t As Integer

For i=0 To 2

For j=0 To 2

B(i,j)=j

Next j

Nexti

t=1

For i=0 To 2

For j=i To 2

t=t+B(i,B(j,j))

Next j

Next i

Print t

End Sub

7.写出当发生Command1_Click事件后,下面程序的运行结果。Option Base 1

Private Sub Command1_Click()

Dim aa(4,4) As Integer

Dim i,s As Integer

s=0

For i=1 To 4

For j=1 To 4

aa(i,j)=(i-1)*4+j*2

Next j

Next i

For i=1 To 4

s=s+aa(i,1)

Next i

Print s

End Sub

8.写出下面程序的运行结果。

Private Sub Command1_Click()

Dim a(1 To 10)

Dim p(1 To 4)

k=5

For i=1 To 10

a(i)=i+1

Next i

For i=1 To 4

p(i)=a(i*2)

Next i

For i=1 To 4

k=k+p(i)*2

Next i

Print k

End Sub

四、程序填空题

1.下面程序的功能是用”冒泡”法将数组a中的10个整数按序排列,阅读程序并填空。Option Base 1

Private Sub Command1_Click()

Dim a

a=Array(678,45,324,528,439,387,87,875,273,823)

For i=【1 】

For j=【2 】

If a(j) 【3 】a(j+1) Then

a1=a(j)

a(j)=a(j+1)

a(j+1)=a1

End If

Next j

Next i

For i=1 To 10

Print a(i)

Next i

End Sub

2.以下程序代码使用二维数租A表示矩阵实现单击命令按钮Command1时使矩阵的两条对角线上的元素值全为1,其余元素值全为0,阅读程序并填空。

Option Base 1

Private Sub Command1_Click()

Dim A(4,4)

For i=1 To 4

For j=1 To 4

A【1 】=0

Next j

A【2 】=1

A【3 】=1

Next i

For i=1 To 4

For j=1 To 4

Print A(i,j);

Next j

Print

Next i

End Sub

3.以下程序的功能是从键盘上输入3行4列的数组,求出它的每行最大值及其下标,阅读程序并填空。

Option base 1

Private Sub Form_Click()

Dim a(3,4) As Integer

Dim i As Integer,j As Integer

Dim max(3) As Integer,col(3) As Integer

For i=1 To 3

For j=1 To 4

a(i,j)=InputBox("请输入一个元素值")

Next j

Next i

For i=1 To 3

max(i)=a(i,1) : 【1 】

For j=2 To 4

If max(i)

max(i)=a(i,j) : 【2 】

End If

Next i

Print "数组元素值为",,,,"最大值","最大值下标"

For i=1 To 3

For j=1 To 4

【3 】

Next j

【4 】

Next i

End Sub

4.下面程序的功能是对具有10个元素的数组a中的元素进行选择法排序,阅读程序并填空。Option base 1

Private Sub Form_Click()

Dim a(10) As Integer,i As Integer,j As Integer

Dim k As Integer

For i=1 To 10

a(i)=InputBox("请输入一个数组元素值")

Next i

For i=1 To 9

【1 】

For j=i+1 To 10

If 【2 】Then k=j

Next j

If k<>i Then

t=a(k) : 【3 】: a(i)=t

End If

Next i

For i=1 To 10

Print a(i);

Next i

End Sub

5.以下程序的功能是把一个具有三行四列的A矩阵和一个具有四行三列的B矩阵相乘的结果存放到C矩阵中,阅读程序并填空。

Option Base 1

Private Sub Command1_Click()

Dim a(3,4) As Integer,b(4,3) As Integer

Dim c(3,3) As Integer,i As Integer,j As Integer,k As Integer

For i=1 To 3

For j=1 To 4

a(i,j)=i+j

Next j

Next i

For i=1 To 4

For j=1 To 3

b(i,j)=i*j

Next j

Next i

For i=1 To 3

For j=1 To 3

For k=1 To 4

c(i,j)= 【1 】

Next k

Next j

Next i

For i=1 To 3

For j=1 To 3

Print c(i,j),

Next j

【2 】

Next i

End Sub

五、编程题

1.编程实现数组插入操作,通过InputBox函数输入的一个数插入到按递减的有序数列中,

插入后的序列仍有序。

2.编程删除具有10个元素数组中指定位置的元素,并输出删除后的结果。

3.编程用二分查找法在已排好序10个元素的数组中查找输入的数,如果找在窗体上输出该数的下标,否则输出“没有找到”

4.编程用冒泡法对6个元素的数组a进行从小到大排序。

第九章数组与记录

一、选择题

1.C 2.D 3.B 4.C 5.A 6.B 7.A 8.B 9.D 10.A 11.D 12.A 13.C 14.A 15.A 16.D 17.B 18.C 19.A 20.D 二、填空题

1.变体类型

2.0 opting base 1

3.2 4 6 16

4.Dim a As Variant InputBox(str1) x = "E" Or x = "e"

5.ReDim a(j, i)

6.p = a(i, i) + p q = a(i, m + 1 - i) + q

7.20

8.41

9.a(i)=a(10+1-i) a(10+1-i)=tmp

10.1 a(i) > a(max_i)

11.i Mod 5 = 0

12.Print

13.index

14.index

三、程序阅读题

1.33

2.9 10

12 13

3.495

5

4.21

5.1

1

6.9

7.32

8.53

四、程序填空题

1.1 to 9 1 to 10-i >

2.(i,j) (i,i) (i,4-i+1)

3.col(i)=1 col(i)=j Print a(i, j), Print max(i), col(i)

4.k = i a(j) < a(k) a(k) = a(i) 5.c(i, j) + a(i, k) * b(k, j) Print

VB .NET中控件数组的实现

https://www.doczj.com/doc/b614852612.html,中控件数组的实现 摘要:VB编程时,当要处理一组相同类型的控件的同一事件过程时,我们可以引入控件数组这一概念。如进行计算器程序编写时,可创建十个数字按钮的控件数组,共享同一事件过程。VB6升级到https://www.doczj.com/doc/b614852612.html,后,VB6控件数组的创建方法在.NET中不可用,本文总结了几种https://www.doczj.com/doc/b614852612.html,中使用控件数组的方法。 关键词:https://www.doczj.com/doc/b614852612.html,控件数组事件过程程序代码 一、关于控件数组 熟悉VB6编程的,对控件数组这一概念应该非常熟悉,它是VB6中的一项简单而非常实用的技术,是指具有相同名称的同类型的控件,共享同一事件。它的最大好处是:简化编程。但当我们把这一用法沿用到https://www.doczj.com/doc/b614852612.html,中来时,却发现无法实现。虽然https://www.doczj.com/doc/b614852612.html,中没有VB6中实现控件数组的方法,但在https://www.doczj.com/doc/b614852612.html,中控件数组的运用更加灵活了。 https://www.doczj.com/doc/b614852612.html,中,控件数组的创建不再是在设计时简单地将同类型的各个控件的Name属性值设置成同一名称就可以了,https://www.doczj.com/doc/b614852612.html,中,不公能够创建同类型的相同事件处理过程,还能够创建属于不同类型但共享相同事件的控件组。 二、https://www.doczj.com/doc/b614852612.html,中控件数组的实现 要在https://www.doczj.com/doc/b614852612.html,中实现控件数组这一机制,我们需要通过编写代码来完成,下面来介绍几种的方法,大家可以根据程序的需要进行选择。 1、使用Handles子句。 先将控件数组中各控件对象依次添加到窗体,然后创建其中一个对象的事件过程(执行部分先不写),再把其它对象的这一事件依次添加在后面,各事件过程名之间用逗号分隔开来。在事件过程的执行部分,如果需要引用这些对象,则要先给这些对象创建一个相同的名称。当要引用对象时,不再使用它们的Name属性值,而是新创建的名称。示例代码如下(部分内容省略): Label1_Click(ByVal sender…)Handles Label1.C lick,Label2.Click,Label3.Click Dim lbl As Label = CType(sender, Label) 当中,创建的是Label1的Click事件,在其后面,添加了Label2及Label3的Click 事件。事件过程中,通过一条Dim语句,定义三个标签具有相同的名称lbl,在下面的代码中,要设置或获取其中某一个标签的某个属性值时,直接使用名称lbl即可。这种方法实现起来最方便简单,以上实例中要求控件数组中控件类型相同,通过此方法,也可实现不同类型同一事件处理程序的共享,如具有同一功能的菜单项和工

大学VB考试题库

大学VB考试题库 一、单项选择题 1、与传统的程序设计语言相比,Visual Basic最突出的特点是()。 A、结构化程序设计 B、程序开发环境 C、事件驱动编程机制 D、程序调试技术 2、赋值语句:a=123& MID("123456",3,2)执行后,a变量中的值是()。 A、"12334" B、123 C、12334 D、157 3、保存一个工程至少应保存两个文件,这两个文件分别是(B)。 A、文本文件和工程文件 B、窗体文件和工程文件 C、窗体文件和标准模块文件 D、类模块文件和工程文件 4、以下能在窗体Form1的标题栏中显示"VisualBasic窗体"的语句是(C)。 A、https://www.doczj.com/doc/b614852612.html,="VisualBasic窗体" B、Form1.Title="VisualBasic窗体" C、Form1.Caption="VisualBasic窗体" D、Form1.Text="VisualBasic窗体" 5、为了装入一个VisualBasic应用程序,应当(D) A、只装入窗体文件(.frm) B、只装入工程文件(.vbp) C、分别装入工程文件和标准模块文件(.bas) D、分别装入工程文件、窗体文件和标准模块文件 6、赋给一个数组的数据类型一定要(A)。 A、相同 B、不相同 C、两可 D、都不对 7、下面正确的赋值语句是(C)。 A、x+y=30 B、y=π*r*r C、y=x+30 D、3y=x 8、VisualBasic 6.0集成环境的主窗口中不包括(C)。

A、标题栏 B、菜单栏 C、状态栏 D、工具栏 9、以下叙述中错误的是(C)。 A、Visual Basic 是事件驱动型可视化编程工具 B、Visual Basic应用程序不具有明显的开始和结束语句 C、Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性(计时器) D、Visual Basic中控件的某些属性只能在运行时设置 10、要使Print方法在Form_Load事件中起作用,要对窗体的(C)属性进行设置。 A、Backcolor B、ForeColor C、AutoRedraw D、BackStyle 11、若要使命令按钮不可操作,要对(A)属性进行设制。 A、Enabled B、Visible C、BackColor D、Caption 12、以下叙述中错误的是(B)。 A、一个工程中可以包含多个窗体文件 B、在一个窗体文件中用Private定义的通用过程能被其他窗体调用 C、在设计VB程序时,窗体、标准模块、类模块等需要分别保存为不同类型的磁盘文件。 D、一个工程默认的启动对象是Form1 13、Cls方法可以清除窗体或图片框中的(C)内容。 A、在设计阶段使用Picture设置的背景位图 B、在设计阶段放置的控件 C、在运行阶段产生的图形和文字 D、以上均可 14、设x=3,y=5,则以下表达式值为真的是 (C) A、(-3+5>x) And (y>0) B、(x<0) Eqv (y>0) C、(x>y) Or (y>0) D、x>=y And y>10 15、为了防止用户随意将光标置于控件之上,应将进行(D)设置。 A、将控件的TabIndex属性设置为0

vb控件数组的习题及答案

vb控件数组的习题及答案

电子教室学生注册时姓名文本框部分请输入:如:1411111111李四学号+姓名,中间不加空格) 实验准备: 请同学们删除d:\ex21 文件夹里面的内容 如果没有ex21文件夹,请在d:\ 下新建 ex21 文件夹 1、打开D:\下的工程文件PROJECTA4.vbp和窗体文件FORMA4.frm,按以 下要求完成程序:在窗体上创建2个列表框、2个标签、2个命令按钮。 List1用于显示可选课程、List2用于显示已选课程。单击“选课”按钮, 将List1中选定的课程名称加入到List2中显示,单击“清空”按钮,将 删除List2中的所有课程。程序运行的参考输出格式如图A-4所示,可选 课程至少包含图A-4所示的6门。最后将工程文件、窗体文件按原文件 名保存在D:\EX21文件夹下。 图A-4

2、打开D:\下的工程文件PROJECTB4.vbp和窗体文件FORMB4.frm,按以下要求完成程序:在窗体上创建1个列表框、1个图片框、2个标签、2个命令按钮。List1用于显示可选课程、Picture1用于显示已选课程。单击“选课”按钮,将List1中选定的课程名称加入到Picture1中显示,单击“清空”按钮,将删除Picture1中的所有课程。程序运行的参考输出格式如图B-4所示,可选课程至少包含图B-4所示的6门。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。 图B-4

3、打开D:\下的工程文件PROJECTA41.vbp和窗体文件FORMA41.frm,按以下要求完成程序:单击窗体,能产生10个两位的随机整数并存放在一维数组中,并能在窗体中输出该10个随机整数、最大数及其在10个数中的位置,要求使用语句强制显式声明模块中的所有变量,程序运行的参考输出格式如图A-41所示。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。 图A-41

VB练习题(上机)含答案

第一部分 1 在窗体上添加一个命令按钮(名称为Cmd1,标题为"输出平均值")。程序运行后,单击命令按钮完成以下工作: ①随机产生20个0到1000的整数,将其放入一个一维数组中 ②求出所有元素的平均值,并显示在窗体上(如下图所示) Private Sub Cmd1_Click() Dim a%(19), i%, sum!, aver! Randomize For i = 0 To 19 a(i) = Int(Rnd * 1001) sum = sum + a(i) Next i aver = sum / 20 Print aver End Sub 2 请在名称为Form1的窗体上添加一个名称为Text1的文本框和一个名称为C1、标题为"转换"的命令按钮,如下图所示。在程序运行时,单击"转换"按钮,可以把Text1中的小写字母转换为大写,把大写字母转换为小写,其他字符不变。 Private Sub C1_Click() Dim ch As String, ch1 As String, i% ch = Text1 For i = 1 To Len(ch) If Asc(Mid(ch, i, 1)) >= 65 And Asc(Mid(ch, i, 1)) <= 90 Then ch1 = ch1 + LCase(Mid(ch, i, 1)) Else

ch1 = ch1 + UCase(Mid(ch, i, 1)) End If Next i Text1 = Text1 + vbCrLf Text1 = Text1 + ch1 End Sub 3 在窗体上添加一个命令按钮(名称为MyCmd1,标题为"输出最大值")。程序运行后,单击命令按钮完成以下工作: ①随机产生30个0~1000的整数,将其放入一个一维数组中 ②求出其中的最大值,并显示在窗体上。 Private Sub MyCmd1_Click() Dim a%(29), i%, max% Randomize For i = 0 To 29 a(i) = Int(Rnd * 1001) Next i max = a(0) For i = 1 To 29 If a(i) > max Then max = a(i) Next i Print max End Sub 4 请设计如下图所示窗体界面。程序运行时,在选中一个或两个复选框和一个单选按钮时,单击命令按钮,则对文本框中的文本内容做相应的设置。请编写适当的事件过程,完成上述功能。

【精选资料】VB控件 数组 过程复习题 参考答案2

常用标准控件作业 一、选择题 1.下列关于属性设置的叙述错误的是_______B__。 A.一个控件具有什么属性是Visual Basic预先设计好的,用户不能改变它 B.一个控件具有什么属性值是Visual Basic预先设计好的,用户不能改变它 C.一个控件的属性既可以在属性窗口中设置,也可以用程序代码设置 D.一个控件的属性在属性窗口中设置后,还可以再利用程序代码为其设置新值 2.以下过程是标签Label1的___A______事件。 Prviate Sub Label1_Click( ) End Sub A.单击 B.双击 C.拖拽 D.移动 3.下列控件中可设置滚动条是____C_____。 A.检查框(复选框) B.框架 C.文本框 D.标签框 4.标签所显示的内容,由___C______属性值决定。 A. Text B. Name C. Caption D. Alignment 5.定时器的定时间隔单位是__C_______。 A. 秒 B. 微秒 C. 毫秒 D. 分 6.检查框(复选框)的控件名称为______B___。 A. OptionBotton B. CheckBox C. PictureBox D. Image 7.若要求向文本框输入密码时,只在文本框中显示&号,则应当在此文本框的属性窗口中设置______D___。 A. Text属性值为& B. Caption属性值为& C. PasswordChar属性值为空 D. PasswordChar属性值为& 8.若要设置定时器的定时间隔,可通过__A_______属性来设置。 A. Interval B. Value C. Enabled D. Text 9.若要设置定时器的定时间隔设为5秒,应将Interval属性值设为_D________。 A. 5 B. 50 C. 500 D. 5000 10.若要使不可见命令按钮显示出来,可通过设置_____A____属性的值为True来实现。 A.Visible B.Enabled C.Default D.Value 11.若要使定时器起作用,应将其__D_______属性设置值设为True。 A.Interval B.Value C.Text D.Enabled 12.若要使命令按钮失效,可设置_____B____属性为False来实现。 A.Value B.Enabled C.Visible D.Cancel 13.若要向列表框新增列表项,可使用_____D____方法来实现。 A.Add B.RemoveItem C.Clear D.AddItem 14.要获得垂直滚动条Vscrollbar控件所能表示的最大值,可通过调用该控件的_____B____属性来实现。 A.Value B.Max C.Min https://www.doczj.com/doc/b614852612.html,rgeChange 15.要将命令按钮上的文字设置为“粗体”可通过设置__B_______属性值为True来实现。 A.FontItalic B.FontBold C.FontUnderline D.FontSize 16.要将命令按钮上的文字设置为“斜体”可通过设置____A_____属性值为True来实现。 A.FontItalic B.FontBold C.FontUnderline D.FontSize 17.要将命令按钮上的字体设为“隶书”,可设置______C___的属性为“隶书”。 A.FontBold B.BackItalic C.FontName D.FontSize 18.以下选项中,不属于单选按钮属性的是____D_____ A.Enabled B.Caption https://www.doczj.com/doc/b614852612.html, D.Min 19.组合框的风格可通过____C_____属性来设置。 A.BackStyle B.BorderStyle C.Style D.Sorted 20.标签的边框由_____C____属性的设置来决定。 A.BackColor B.BackStyle C.BorderStyle D.AutoSize 21.单选按钮的控件名称为____D_____。 A.Botton B.CheckBox C.PictureBox D.OptionBotton 22.单选按钮的当前状态可通过___A______属性来访问。 A.Value B.Checked C.Selected D.Caption 23.当滚动条中的滑块位置变化时,将触发其___C______事件。 A.LostFocus B.SetFocus C.Change D.GetFocus 24.假定Picture1和Form1分别为图片框和窗体的名称,以下语句___A______可清除图片框中的文本信息。 A.Picture1.cls B.Picture1.clear C.Form1.cls D.Form1.clear 25.确定一个窗体或控件的大小的属性是_____B____。 A.Width或Height B.Width和Height C.Top或Left D.Top和Left

VB考试题及答案

VB程序设计期末考试题 一、选择题 1 下列常量中,是Integer类型常量的是( C )。 A、123& B、-38844 C、123% D、32768 2 下面选项中()是字符连接运算符. A A、& B、And C、% D、Mod 3 下面关于VB的集成开发环境(IDE)的叙述中,不正确的是( B )。 A、IDE是设计、调试、运行VB程序的工具。 B、用户不能随意关闭IDE中的窗口。 C、"窗体设计" 窗口是用来设计应用程序界面(窗体)的。 D、打开 / 关闭各窗口的命令主要在IDE的"视图"菜单中。 4 len(“vb程序设计”)=( C ) 。 A、 5 B、2 C、 6 D、10 5 表达式 15 Mod 4 + 13 \ 5 * 2 的值是 D A、7 B、0 C、2 D、4 6 赋值语句A=123 + Mid$( “123456”,3,2) 执行后,A=(A)。 A、157 B、12334 C、123 D、"12334" 7 在一个语句内写多条语句时,用来分隔每条语句的符号是(C). A、, B、; C、: D、、 8 将逻辑型数据转换成整型数据时,转换规则是( D )。 A、将True转换为 1 ,将False转换为 0 B、将True转换为 1 ,将False转换为 -1 C、将True转换为 0 ,将False转换为 -1 D、将True转换为 -1 ,将False转换为 0 9 表达式2+3*4^5-SIN(X+1)/2中最先进行的运算是(D).

A、SIN B、4^5 C、3*4 D、x+1 10 如果x=2,则表达式x+1>2 Or sin(x)>0.9 And 3>x+3的值( B )。 A、不能计算 B、 True C、5 D、False 11 随机产生[10,50] 之间整数的正确表达式是( D )。 A、Round( Rnd*50) B、 Int(Rnd*40+10) C、Round( Rnd*51) D、 10+Int(Rnd*41) 12 每建立一个窗体,工程管理器窗口中就会增加一个(C). A、类模块文件 B、工程文件 C、窗体文件 D、程序模块文件 13 INT(100*RND(1))产生的随机整数的闭区间是(B). A、[1,100] B、[0,99] C、[0,100] D、[1,99] 14 下列数据类型中,占用内存最小的是(D). A、Integer B、Single C、Boolean D、Byte 15 VisualBasic是一种()程序设计语言.B A、过程式 B、非过程式 C、机器 D、低级 16 函数Int(10*Rnd)是在(A)范围内的整数. A、[0,9] B、[0,1] C、[1,9] D、[1,10] 17 以下合法的一组Visual Basic用户标识符是 C A、Sum 和 8abc B、a#x 和 Pi C、ForLoop 和 Total D、Const 和 DoWhile

vb试题及答案

VB试卷 一、单项选择题(每题2分,共40分) 1. 窗体的标题栏显示内容由窗体对象的属性决定。 A) BackColor B)BackStyle C)Text D)Caption 2. 窗体的示意图标可用属性来设置。 A) Picture B) Image C) Icon D) MouseIcon 3. 窗体的控制菜单的有无由窗体对象的属性决定。 A) ControlBox B) MinButton C) MaxButton D) BorderStyle 4. 若要取消窗体的最大化功能,则可设置属性为False来实现。 A) ControlBox B) MinButton C) MaxButton D) Enabled 5. 以下4个选项,不属于VB的工作模式。 A) 编译 B) 设计 C) 运行 D) 中断 6. 窗体的边框样式由窗体对象的属性来设置。 A) BackStyle B) BorderStyle C) WindowState D) FillStyle 7. 若要以程序代码方式设置在窗体中显示文本的字体大小,则可用窗体对象的属性来实现。 A) FontName B) Font C) FontSize D) FontBold 8. 命令按钮的标题文字由属性来设置。 A) Text B) Caption C) Name D) (名称) 9. VB是面向对象的程序设计,以下4个选项,不属于面向对象的三要素。 A) 变量 B) 属性 C) 事件 D) 方法 10. 若要将某命令按钮设置为默认命令按钮,可设置属性为True来实现。 A) Value B) Cancel C) Default D) Enabled 11. 若要使命令按钮不可见,可设置属性为False来实现。 A) Value B) Enabled C) Visible D) Cancel 12. 运行程序时,系统自动执行窗体的事件。 A) load B) click C) unload D) GotFocus 13. 若要设置文本框最大可接收的字符数,可通过属性来实现。 A) MultiLine B) Length C) Max D) MaxLength 14. 若要使某命令按钮获得控制焦点,可使用方法来设置。 A) Refresh B) SetFocus C) GotFocus D) Value 15. 若要使命令钮可响应事件,可通过设置属性的取值来实现。 A) Visible B) Enabled C) Default D) Value 16. 在运行时,若要调用某命令按钮的Click事件过程,可设置该命令按钮对象的 属性为True来实现。 A) Enabled B) Value C) Default D) Cancel 17. 标签框的边框,由属性的设置值决定。

控件数组

在https://www.doczj.com/doc/b614852612.html,中使用控件数组 控件数组是位于一个窗体上共享同一名称的一组同种类型控件。普通控件仅使用名称就可以识别,而引用控件数组中的成员则需要同时使用名称和索引。开发人员在Visual Basic 6.0 以及更早的版本中使用控件数组主要有以下三个理由: 1. 在循环中访问数组中控件的属性。 2. 向窗体动态添加新控件。 3. 允许一个事件例程与多个控件连接。 控件数组的使用,极大的方便了开发人员。然而,刚刚从Visual Basic6.0(以下简称VB6.0)过渡到Visual https://www.doczj.com/doc/b614852612.html,(以下简称https://www.doczj.com/doc/b614852612.html,)的初学者却发现,在https://www.doczj.com/doc/b614852612.html,中似乎不能使用控件数组了。笔者仔细查阅了https://www.doczj.com/doc/b614852612.html,的MSDN文档发现,在https://www.doczj.com/doc/b614852612.html, 中,确实不再支持控件数组。原因是,https://www.doczj.com/doc/b614852612.html,对事件模型作了很大的改动,引入了另外一种数据类型――控件集合模型,使控件数组没有存在的必要。就像VB6.0 中的控件数组可以共享事件一样,https://www.doczj.com/doc/b614852612.html, 中的事件模型允许任何事件处理程序都可以处理来自多个控件的事件,这就允许创建属于不同类型但共享相同事件的控件组。 所谓控件集合是指包含在一个容器中的所有控件的总和,能够创建控件集合的容器有:Form、Panel、GropBox等。程序运行时,可以通过访问容器的Control属性来得到该容器中的所有控件。 下面将演示如何通过控件集合来使用控件数组: 一、直接使用Form容器的控件集合来使用控件数组: 建立一个https://www.doczj.com/doc/b614852612.html,项目,在Form1中添加三个TextBox控件,名称分别为:TextBox1、TextBox2、TextBox3,一个Button控件。 双击Button,输入如下代码: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click …下面的语句是通过数组元素的下标来访问Form中的每一个元素。 Me.Controls.Item(0).Text = "集合中的第一个元素" Me.Controls.Item(1).Text = "集合中的第二个元素" Me.Controls.Item(2).Text = "集合中的第三个元素" Me.Controls.Item(3).Text = "集合中的第四个元素" End Sub 运行项目后,点击Button,看到的结果是:Form1中的所有控件(包括Button自己)的Text属性都被修改了,同时还发现,最后加入的的控件变成了集合中的第一个元素(下标为0)。这个结果说明: Form1中的所有控件已经自动构成了一个控件集合(控件数组),这个特点使得建立控件数组变得非常简单。 在访问这些控件时,除了可以通过控件名称直接访问外,还可以通过Contro.Item(n)属性按下标访问集合中的每一个控件; 集合中控件的类型可以不相同,这点和VB6.0完全不同; 集合中的下标顺序是按照加入控件的顺序倒排的; https://www.doczj.com/doc/b614852612.html,中控件数组的特点让人稍感不适的是,控件数组的下标是按加入顺序的倒排续产生的,但程序员完全可以改变这个顺序:在代码编辑窗中点击“#Region " Windows 窗体设计器生成的代码”旁边的“+”号,代码展开后,找到如下代码: Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.TextBox3) Me.Controls.Add(Me.TextBox2) Me.Controls.Add(Me.TextBox1)

vb题库及答案

| 最新VB题库及答案 一、选择题 第1部分 1、在窗体(名称为Form1)上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写一个事件过程。程序运行后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“计算机等级考试”。以下能实现上述操作的事件过程是 A、Private Sub Text1_Change() = "计算机等级考试" End Sub ] B、Private Sub Command1_Click() Caption = "计算机等级考试" End Sub C、Private Sub Form_Click() = "计算机等级考试" End Sub D、Private Sub Command1_Click() = "计算机等级考试" { End Sub 2、在一行内写多条语句时,每个语句之间用()符号分隔。 A、 , B、: C、. D、; 3、下面()是合法的变量名。 A、X_YZ B、123ABC C、INTEGER D、X-Y ] 4、下面()是合法的字符常量。 A、 ABC$ B、“ABC” C、‘ABC’ D、 ABC 5、表达式16/4 - 2^5*8 MOD 5\2的值为()。 A、14 B、 4 C、20 D、2 6、设a=”MicrosoftVisualBasic”,则以下使变量的b值为”VisualBasic”的语句是 A、b=Left(a,10) B、b=Mid(a,10) — C、b=Right(a,10) D、b=Mid(a,11,10) 7、设a="a",b="b",c="c",d="d",执行语句x = IIf((a < b) Or (c > d), "A",

VB上机考试习题以及答案

VB上机考试 1、利用随机函数产生25个100到999之间的整数,构成5 5的矩阵,输出该矩阵。Dim a(1 To 5, 1 To 5) Private Sub Form_Click() Ran domize For i = 1 To 5 Forj = 1 To 5 a(i, j) = Int(Rnd * (999 - 100 + 1) + 100) Print a(i, j); Next j Print Next i End Sub 2、利用随机函数产生25个10到99之间的整数,求其平均值(要求保留3位小数,第4 位四舍五入)。Private Sub Form_Click() For i = 1 To 25 a = In t(R nd * (99 - 10 + 1) + 10) Print a; s = s + a Next i Print Avg = s / 25 Print Avg End Sub 3、在窗体上按下鼠标的右键,记录其坐标。 Private Sub Form_Load() Label1.BorderStyle = 1 Label1.Alig nment = 2 End Sub Private Sub Form_MouseDow n(Button As In teger, Shift As In teger, X As Si ngle, Y As Si ngle) If Butt on = 2 The n Label1.C apti on = X & "," & Y End If End Sub 4、利用随机函数产生25个10到99之间的整数,按从小到大的顺序显示。Dim a(1

VB程序设计试题及答案一

V B程序设计试题及答案(一) 一、单选题 1. VB6.0是一种面向B 的编程环境。 (A) 机器(B) 对象 (C) 过程(D) 应用 2. 要使FormI窗体的标题栏显示"欢迎使用VB",以下D 语句是正确的。 (A) Forml.Caption=“欢迎使用VB” (B) Forml.Caption='欢迎使用VB' (C) Forml.Caption=欢迎使用VB (D) Forml.Caption="欢迎使用VB" 3. 若要使命令按钮不可操作,要对A 属性进行设置。 (A) EnabIed (B)Visible (C) Backcolor (D)Caption 4. 如果在窗体上已经创建了一个文本框对象TextI,可以通过C 事件获得输入键值的ASCII码。 (A) Change (B) LostFocus (C) KeyPress (D) GotFocus 5. 下面A 是合法的变量名。 (A) X_yz (B) 123ab。(C) integer (D) X-Y 6. 以下关系表达式中,其值为False的是A 。 (A) "ABC">"AbC" (B) "女">"男" (C) "BASIC"=UCase("basic) (D) "123"<"23" 7. 为了给x、y、z三个变量赋初值1,下面正确的赋值语句是A 。 (A) x=1:y=1:z=1 (B) x=1,y=1,z=1 (C) x=y=z=1 (D) xyz=1 8. VB提供了结构化程序设计的三种基本结构,三种基本结构是D 。 (A)递归结构、选择结构、循环结构 (B)选择结构、过程结构、顺序结构 (C)过程结构、输入输出结构、转向结构 (D)选择结构、循环结构、顺序结构 9. 下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是 D 。 (A) If sex="男" And age=4O And InStr(duty,"教授")>O Then n=n+l (B) If sex="男" And age=4O And (duty="教授" Or duty="副教授") Then n=n+l (C) If sex="男" And age=4O And Right(duty,2)="教授" Then n=n+l (D) If sex="男" And age=4O And duty="教授" And duty="副教授" Then n=n+l 10.下列关于Do…Loop循环结构执行循环次数的描述正确的是D 。 (A) Do While…Loop循环和Do…Loop Until循环至少都执行一次 (B) Do While…Loop循环和Do…Loop Until循环可能都不执行 (C) Do While…Loop循环至少执行一次和Do…Loop Until循环可能不执行 (D) Do While…Loop循环可能不执行和Do…Loop Until循环至少执行一次 11.以下B 是正确的For…Next结构。 (A) For x=1 To Step 10 (B) For x=3 To -3 Step -3 ……

VB练习题(上机)含标准答案

第一部分 1在窗体上添加一个命令按钮(名称为Cmd1,标题为"输出平均值")。程序运行后,单击命令按钮完成以下工作: ①随机产生20个0到1000的整数,将其放入一个一维数组中 ②求出所有元素的平均值,并显示在窗体上(如下图所示) PrivateSub Cmd1_Click() Dim a%(19), i%,sum!, aver! Randomize Fori= 0 To19 a(i) =Int(Rnd * 1001) sum = sum +a(i) Nexti aver = sum/20 Print aver EndSub 2 请在名称为Form1的窗体上添加一个名称为Text1的文本框和一个名称为C1、标题为"转换"的命令按钮,如下图所示。在程序运行时,单击"转换"按钮,可以把Text1中的小写字母转换为大写,把大写字母转换为小写,其他字符不变。 Private Sub C1_Click() Dim ch As String, ch1 As String, i% ch= Text1 For i = 1 To Len(ch) If Asc(Mid(ch,i, 1)) >= 65 And Asc(Mid(ch, i, 1)) <= 90Then ch1= ch1 + LCase(Mid(ch, i, 1))

Else ch1 = ch1 + UCase(Mid(ch, i, 1)) End If Next i Text1 = Text1+ vbCrLf Text1= Text1 + ch1 End Sub 3 在窗体上添加一个命令按钮(名称为MyCmd1,标题为"输出最大值")。程序运行后,单击命令按钮完成以下工作: ①随机产生30个0~1000的整数,将其放入一个一维数组中 ②求出其中的最大值,并显示在窗体上。 Private SubMyCmd1_Click() Dima%(29), i%, max% Randomize For i = 0 To 29 a(i) =Int(Rnd * 1001) Next i max = a(0) Fori = 1 To 29 If a(i) > max Then max = a(i) Next i Print max End Sub 4 请设计如下图所示窗体界面。程序运行时,在选中一个或两个复选框和一个单选按钮时,单击命令按钮,则对文本框中的文本内容做相应的设置。请编写适当的事件过程,完成上述功能。

VB上机试题及答案

上机操作练习题 1.某数组有20个元素,其值为随机产生的两位整数。现要求将前10个元素与后10个元素对换。即第1个元素与第20个元素互换,第2个数与第19个元素互换,…,第10个元素与第11个元素互换。在窗体上输出数组原来各元素的值与对换后各元素的值。 Option explicit Dim a(1 to 20) as integer, I as integer, j as integer, t as integer Private Sub Form_Load() Show Print "原始数组是:" Randomize For i = 1 To 20 a(i) = Int(Rnd * 90) + 10 Print a(i); If i Mod 10 = 0 Then Print Next i Print Print "现在数组是:" For i = 1 To 10 j = 21 - i t = a(i): a(i) = a(j): a(j) = t Next i For i = 1 To 20 Print a(i); If i Mod 10 = 0 Then Print Next i End Sub 2.从数组中删除一个数。先定义一个一维数组,大小、数组的值自定。从键盘上输入一个数,若这个数在数组当中,就把它删除;若这个数不在数组中,提示“该数不在数组中” 注意:1)如果数组中存在多个与该数相同的元素,每一个都能删除; 2)能实现多次删除 Private Sub Form_Load() Show ReDim a(9) As Integer m = 1 Print "原来数组为:" For i = 0 To 9 a(i) = InputBox("请输入第" & m & "个数:") Print a(i); m = m + 1 Next i Print n = InputBox("查找的数是:") i = 0: flag = False

全国计算机等级考试二级VB上机试题及答案(十一)

全国计算机等级考试二级VB上机试题及答案(十一)基本操作(2小题,每题15分,共30分) **************************************************************** 请根据以下各小题的要求设计VB应用程序(包括界面和代码)。 请根据以下各个小题的要求设计Visual Basic应用程序(包括界面和代码)。(1)在名称为Form1的窗体上画一个列表框,其名称为List1,通过属性窗口向列表框中输入9个项目,分别为10、20、30、40、50、60、70、80、90;画一个文本框,其名称为Hscroll,Min属性和Max分别为0和100,如图所示,编写适当的事件过程。程序运行后,如果单击列表框中的某个项目内容,并把滚动条的滚动框移动到相应的位置,如图所示。 要求:不得使用任何变量。 (2)在名称为Form1的窗体中画一个图像框,名称为Image1,其高、宽分别为1800、4500,通过属性窗口把考生文件夹下的图像文件装入图像框;再画一个命令按钮,名称为Cmd1,标题为"放大"。

请编写适当事件过程,程序运行后,单击"放大"按钮,则把图像框的高度、宽度均增加100,同时图像也随之自动放大。 注意:程序中不得使用任何变量。 程序运行时的界面如图所示。 **************************************************************** 参考答案与分析 (1)【解析】 滚动条的属性设置:Min--最大值属性。默认值为32767;Max--最小值属性,默认值为0;Value--返回或设置滚动条的当前位置的值,返回直介于Max 和Man 属性之间的值,包括这两个值。 要实现滚动条的返回值与List的设置值同步变化,在两者之间建立等式关系即可。而Text属性对应的变量类型为字符串,所以这里用了一个转化函数Val()来实现。Val(S)函数将字符串转化为数值。与之对应的将数值转化为字符串的函数Str(N)。 【答案】 第一步:启动VB,新建一个工程文件。 第二步:在窗体上画一个文本框,文本框的Name属性为Text1,Text属性空,再在窗体上画一个水平滚动条Max为100,Min为0,Name为HScroll1,再画一个列表框List1,在List属性中输入"10、20、30、40、50、60、70、80、90"。第三步:编写程序代码: 1 Private Sub List1_Click() 2 = 3 = Val 4 End Sub 第四步:调试并运行程序,运行正确后按要求保存。 (2)【解析】 本题主要考查了图像框的Stretch属性以及控制其大小的Height、Width属性。Height、Width属性与其它控件类似,设置相应的值即可动态的改变图像框的大

vb控件数组的习题及答案

电子教室学生注册时姓名文本框部分请输入:如:1411111111李四学号+姓名,中间不加空格) 实验准备: 请同学们删除d:\ex21文件夹里面的内容 如果没有ex21文件夹,请在d:\ 下新建ex21文件夹 1、打开D:\下的工程文件PROJECTA4.vbp和窗体文件FORMA4.frm,按以下 要求完成程序:在窗体上创建2个列表框、2个标签、2个命令按钮。List1 用于显示可选课程、List2用于显示已选课程。单击“选课”按钮,将List1 中选定的课程名称加入到List2中显示,单击“清空”按钮,将删除List2 中的所有课程。程序运行的参考输出格式如图A-4所示,可选课程至少包含 图A-4所示的6门。最后将工程文件、窗体文件按原文件名保存在D:\EX21 文件夹下。 图A-4

2、打开D:\下的工程文件PROJECTB4.vbp和窗体文件FORMB4.frm,按以下要求完成程序:在窗体上创建1个列表框、1个图片框、2个标签、2个命令按钮。List1用于显示可选课程、Picture1用于显示已选课程。单击“选课”按钮,将List1中选定的课程名称加入到Picture1中显示,单击“清空”按钮,将删除Picture1中的所有课程。程序运行的参考输出格式如图B-4所示,可选课程至少包含图B-4所示的6门。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。 图B-4 3、打开D:\下的工程文件PROJECTA41.vbp和窗体文件FORMA41.frm,按以下要求完成程序:单击窗体,能产生10个两位的随机整数并存放在一维数组中,并能在窗体中输出该10个随机整数、最大数及其在10个数中的位置,要求使用语句强制显式声明模块中的所有变量,程序运行的参考输出格式如图A-41所示。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。

最新大学VB考试题库及答案

大学V B考试题库 一、单项选择题 1、与传统的程序设计语言相比,Visual Basic最突出的特点是()。 A、结构化程序设计 B、程序开发环境 C、事件驱动编程机制 D、程序调试技术 2、赋值语句:a=123& MID("123456",3,2)执行后,a变量中的值是()。 A、"12334" B、123 C、12334 D、157 3、保存一个工程至少应保存两个文件,这两个文件分别是(B)。 A、文本文件和工程文件 B、窗体文件和工程文件 C、窗体文件和标准模块文件 D、类模块文件和工程文件 4、以下能在窗体Form1的标题栏中显示"VisualBasic窗体"的语句是(C)。 A、="VisualBasic窗体" B、="VisualBasic窗体" C、="VisualBasic窗体" D、="VisualBasic窗体" 5、为了装入一个VisualBasic应用程序,应当(D) A、只装入窗体文件(.frm) B、只装入工程文件(.vbp) C、分别装入工程文件和标准模块文件(.bas) D、分别装入工程文件、窗体文件和标准模块文件 6、赋给一个数组的数据类型一定要(A)。 A、相同 B、不相同 C、两可 D、都不对 7、下面正确的赋值语句是(C)。 A、x+y=30 B、y=π*r*r C、y=x+30 D、3y=x 8、VisualBasic 集成环境的主窗口中不包括(C)。 A、标题栏 B、菜单栏 C、状态栏 D、工具栏

9、以下叙述中错误的是(C)。 A、Visual Basic 是事件驱动型可视化编程工具 B、Visual Basic应用程序不具有明显的开始和结束语句 C、Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性(计时器) D、Visual Basic中控件的某些属性只能在运行时设置 10、要使Print方法在Form_Load事件中起作用,要对窗体的(C)属性进行设置。 A、Backcolor B、ForeColor C、AutoRedraw D、BackStyle 11、若要使命令按钮不可操作,要对(A)属性进行设制。 A、Enabled B、Visible C、BackColor D、Caption 12、以下叙述中错误的是(B)。 A、一个工程中可以包含多个窗体文件 B、在一个窗体文件中用Private定义的通用过程能被其他窗体调用 C、在设计VB程序时,窗体、标准模块、类模块等需要分别保存为不同类型的磁盘文件。 D、一个工程默认的启动对象是Form1 13、Cls方法可以清除窗体或图片框中的(C)内容。 A、在设计阶段使用Picture设置的背景位图 B、在设计阶段放置的控件 C、在运行阶段产生的图形和文字 D、以上均可 14、设x=3,y=5,则以下表达式值为真的是 (C) A、(-3+5>x) And (y>0) B、(x<0) Eqv (y>0) C、(x>y) Or (y>0) D、x>=y And y>10 15、为了防止用户随意将光标置于控件之上,应将进行(D)设置。 A、将控件的TabIndex属性设置为0 B、将控件的TabStop属性设置为True

相关主题
文本预览
相关文档 最新文档