VB 第四章 数组习题

第一章数组

一、选择题

1.在窗体上画一个命令按钮,然后编写如下程序:

Option Base 1

Private Sub Command1_Click(Index As Integer)

Dim Arr1(12) As Integer, Arr2(3) As Integer

Dim Sum As Integer

Sum = 2

For i = 1 To 12

Arr1(i) = i

Next i

For i = 1 To 3

Arr2(i) = Arr1(i * i)

Next i

For i = 1 To 3

Sum = Sum + Arr2(i)

Next i

Print Sum

End Sub

程序运行后,单击命令按钮,在窗体上的输出结果是

A.16B.24 C.32 D.36 2.在窗体上画一个文本框,然后编写如下代码:

Option Base 1

Private Sub Form_Click()

Dim arr

Dim Start As Integer, Finish As Integer

Dim Sum As Integer

arr = Array(12, 4, 8, 16)

Start = LBound(arr)

Finish = UBound(arr)

Sum = 0

For i = Start To Finish

Sum = Sum + arr(i)

Next i

c = Sum / Finish

Text1.Text = c

End Sub

程序运行后,单击窗体,则在文本框中显示的内容是

A.40 B.10C.12 D.16 3.阅读程序:

Option Base 1

Private Sub Form_Click()

Dim Arr(4, 4) As Integer

For i = 1 To 4

For j = 1 To 4

Arr(i, j) = (i - 1) * 2 + j

Next j

Next i

For i = 3 To 4

For j = 3 To 4

Print Arr(j, i);

Next j

Print

Next i

End Sub

程序运行后,单击窗体,输出结果是

A.5 7 B.6 8 C.7 9D.8 10

6 8

7 9

8 108 11 4.用下面的语句所定义的数组的元素个数是

Dim A(-3 To 5) As Integer

A.6 B.7 C.8 D.9 5.用下面的语句所定义的数组的元素个数是

Dim arr(3 To 5, -2 To 2)

A.20 B.12 C.15D.24

6.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Private Sub Command1_Click()

Dim Arr1(10), Arr2(10) As Integer

n = 3

For i = 1 To 5

Arr1(i) = i

Arr2(n) = 2 * n + i

Next i

Print Arr2(n); Arr1(n)

End Sub

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

A.11 3B.3 11 C.13 3 D.3 13 7.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码: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

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

A.35 B.28 C.33D.37

8.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Option Base 1

Private Sub Command1_Click()

Dim a

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

j = 1

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

9.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Option Base 1

Private Sub Command1_Click()

Dim Arr(3) As Integer

For i = 1 To 3

For j = 1 To 3

Arr(j) = Arr(i) + 1

Next j

Next i

Print Arr(3)

End Sub

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

A.7 B.6 C.5D.4 10.在窗体上画一个名称为List1的列表框,一个名称为Label1的标签框。列表框中显示若干城市的名称,当单击列表框中的某一城市名时,在标签中显示选中城市的名称。下列能正确实现上述功能的程序是

A.Private Sub List1_Click() B.Private Sub List1_Click()

Label1.Caption = List1.ListIndex https://www.360docs.net/doc/6119010578.html, = List1.ListIndex End Sub End Sub

C.Private Sub List1_Click() D.Private Sub List1_Click()

https://www.360docs.net/doc/6119010578.html, = List1.Text Label1.Caption = List1.Text End Sub End Sub

11.为了使列表框中的项目分为多列显示,需要设置的属性为

A.Columns B.Style C.List D.MultiSelect

12.要想不使用Shift或Ctrl键就能在列表框中同时选择多个项目,则应把该列表框的MultiSelect属性设置为

A.0 B.1 C.2 D.其他13.删除列表框中指定的项目所使用的方法为

A.Move B.Remove C.Clear D.RemoveItem

14.用户在组合框中输入或选择的数据可以通过一个属性获得,这个属性是A.List B.ListIndex C.Text D.ListCount

二、填空题

1.在窗体上画一个文本框,然后编写如下程序:

Option Base 1

Private Sub Form_Click()

Dim Arr(10) As Integer

For i = 6 To 10

Arr(i) = i - 3

Next i

Text1.Text = Str(Arr(6) + Arr(Arr(6) + Arr(10)))

End Sub

程序运行后,单击窗体,在文本框中显示的内容是10。

2.以下程序的功能是产生10个0~1000的随机整数,放入数组Arr中,然后输出其中的最大值。请填空。

Option Base 1

Private Sub Form_Click()

Dim Arr(10) As Integer

Dim Max As Integer

Randomize

For i = 1 To 10

Arr(i) = Int(Rnd * 1000)

Next i

Max = Arr(1)

For i = 2 To 10

If Max < Arr(i)Then

Max = Arr(i)

End If

Next i

Print Max

End Sub

3.以下程序的功能是,程序运行后,单击命令按钮,输出结果为:

1 4 7

2 5 8

3 6 9

Private Sub Command1_Click()

Dim Arr(3, 3) As Integer

For i = 1 To 3

For j = 1 To 3

Arr(i, j) = ______

Print Arr(i, j);

Next j

Print

Next i

End Sub

4.控件数组的名字由属性指定,而数组中的每个元素由属性指定。

5.由Array函数建立的数组必须是变体类型。

6.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Private Sub Command1_Click()

Dim n() As Integer

Dim a, b As Integer

a = InputBox("Enter the first number")

b = InputBox("Enter the second number")

ReDim n(a To b)

For k = LBound(n, 1) To UBound(n, 1)

n(k) = k

Print "n("; k; ")="; n(k)

Next k

End Sub

程序运行后,单击命令按钮,在输入对话框中分别输入2和3,输出结果为。

7.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Private Sub Command1_Click()

Dim a(5)

For i = 0 To 4

a(i) = i + 1

t = i + 1

If t = 3 Then

Print a(i);

a(t - 1) = a(i - 2)

Else

a(t) = a(i)

End If

If i = 3 Then a(i + 1) = a(t - 4)

a(4) = 1

Print a(i);

Next i

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

8.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Private Sub Command1_Click()

Dim M(10) As Integer

For k = 1 To 10

M(k) = 12 - k

Next k

x = 6

Print M(2 + M(x))

End Sub

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

9.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Private Sub Command1_Click()

Dim a(5, 5)

For i = 1 To 3

For j = 1 To 4

a(i, j) = i * j

Next j

Next i

For n = 1 To 2

For M = 1 To 3

Print a(M, n);

Next M

Next n

End Sub

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

10.组合框有三种不同的类型,这三种类型是、、,分别通过把属性设置为、、来实现。

11.在三种不同类型的组合框中,只能选择而不能输入数据的组合框式。

12.在窗体上画一个列表框,然后编写如下两个事件过程:

Private Sub Form_Click()

List1.RemoveItem 1

List1.RemoveItem 3

List1.RemoveItem 2

End Sub

Private Sub Form_Load()

List1.AddItem "ItemA"

List1.AddItem "ItemB"

List1.AddItem "ItemC"

List1.AddItem "ItemD"

List1.AddItem "ItemE"

End Sub

运行上面的程序,然后单击窗体,列表框中所显示的项目为。13.在窗体上画一个列表框、一个命令按钮和一个标签。程序运行后,在列表框中选择一个项目,然后单击命令按钮,即可将所选择的项目删除,并在标签中显示列表框当前的项目数,运行情况如图所示。下面是实现上述功能的程序,请填空。

Private Sub Form_Load()

List1.AddItem "AAAAA"

List1.AddItem "BBBBB"

List1.AddItem "CCCCC"

List1.AddItem "DDDDD"

End Sub

Private Sub Command1_Click()

Dim L As Integer

L =

If ind >= 0 Then

List1.RemoveItem

Label1.Caption =

Else

MsgBox "请选择要删除的项目"

End If

End Sub

三、编程题

1.编写程序,输出魔方阵。

魔方阵是一个n×n的二维数组,其中n为奇数。它由1~n×n的正整数组成,其中每行、每列及对角线上所有数字的总和都相同。

产生魔方阵的算法由很多种,下面的程序用“右上斜行法”产生魔方阵,其算法如下:

a)把“1”放在第一行的中间一列。

b)从“1”往右上方走放下“2”,但已超出方阵范围,故将其置于同列第n

行。

c)从“2”往右上方走放下“3”,也超出方阵范围,将其置于同行第一列。

d)由于3是n的倍数,接下来的数字“4”置于同行下一列。

e)重复上述步骤,直到填满n×n个数为止。

2.编写程序,用选择法对数组中的数据按由小到大的顺序进行排序。

3.从键盘上输入10个整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第一个元素与第十个元素互换,第二个元素与第九个元素互换……第五个元素与第六个元素互换。分别输出数组原来各元素的值和对换后各元素的值。

4.设有如下两组数据:

A:2,8,7,6,4,28,70,25

B:79,27,32,41,57,66,78,80

编写一个程序,把上面两组数据分别读入两个数组中,然后把两个数组中对应下标的元素相加,即2+79,8+27,……,25+80,并把相应的结果放入第三个数组中,最后输出第三个数组的值。

5.有一个n×m的矩阵,编写程序,找出其中最大的那个元素所在的行和列,并输出其值及行号和列号。

6.某单位开运动会,共有10人参加男子100米短跑,运动员号和成绩如下:

207号14.5秒077号15.1秒

156号14.2秒231号14.7秒

453号15.2秒276号13.9秒

096号15.7秒122号13.7秒

339号14.9秒302号14.5秒

编写程序,按成绩排出名次,并按如下格式输出:

名次运动员号成绩

1 …………

2 …………

3 …………

………………

10 …………

7.编写程序,输出“杨辉三角形”。

VB习题4

1、下列关于VB编码规则的叙述中,错误的是( )。(1分) B A 之间用逗号隔开 C D 上注释,以提高可读性 2、在设计阶段,双击窗体上任一空白处,打开的窗口是( )。(1分) A B C D 3、窗体文件的扩展名是( )。(1分) A B C D 4、VB是一种面向( )的程序设计设计语言。(1分) A B C D 5、下列控件中,不能改变大小的是( )。(1分) A B C D 6、若要取消窗体的最小化功能,可通过设置( )的属性值为False来实现。(1分) A B C D 7、下列( )是文本框所具有的属性。(1分) A B C D 8、以下关于命令按钮的控件属性的描述中,不正确的是( b )。(1分)

A B C D 9、要使一个标签透明且不具有边框,则应( )。(1分) A BorderStyle 属性设置为 B 属性设置为 C BorderStyle 属性设置为 D 属性设置为 10、为使计时器控件每隔1秒产生一个计时器事件(Timer),则应将其Interval属性值设置为( )。(1分) A B C D 11、为了清除图片框内绘制的图形,应采用的正确方法是( d )。(1分) A B C D Picture1.Picture=LoadPicture("") 12、在设计一个倒计时标牌时,必须要使用的控件是( c )。(1分) A B C D 13、下列运算中,优先级最低的是( c )。(1分) A B C D 14、设a=6,b=-3,则以下表达式值为True的是( d)。(1分) A B C D

15、表达式25.28 Mod 6.99的值是( )。(1分) A B C D 16、语句x=123456.789已经被执行,输出时要求加千位分隔符,小数点后取2位有效数字,格式正确的是( )。(1分) A B C D 17、变量未赋值时,String型变量的值为( )。(1分) A B C D 18、设a=2,b=3,c=4,d=5,下列表达式3>2*b OR a=c AND b<>c OR c>d的值是( )。(1分) A B C D 19、运行程序段 a$="12":b$="24":c$=b$+a$:d=Val(c$):Print d\100 后的输出结果是( )。(1分) A B C D 20、以下( )语句可表示[50,100]之间的随机整数。(1分) A B C D 21、从键盘上输入两个字符串,分别保存在变量str1、str2中。确定第二个字符串在第一个字符串中起始位置的函数是( )。(1分) A B

VB实验案例(数组)

实验五数组 一、控件属性的设置 (滚动条) 1、在名称为Forml的窗体上添加一个名称为H1水平滚动条,请在属性窗口中设置它的属性值,满足下列要求:它的最小刻度值为1,最大刻度值为100,在程序运行时鼠标单击滚动条上滚动框以外的区域(不包括两边按钮),滚动框移动10个刻度。再在滚动条下面画两个名称分别为L1、L2的标 签,并分别显示1、100,运行时的窗体如图5-1所示。工程 文件名保存为sy5-1.vbp,窗体文件名为sy5-1.frm。 2、在名称为Form1的窗体上添加一个名称为HS1的水平滚动条,其刻度值范围为1 -100;添加一个命令按钮,名称为C1,标题为"移动滚动框"。请编写适当的事件过程,使得在程序运行时,每单击命令按钮一次(假定单击次数不多于10次),滚动框向右移动10个刻度。程序运行时的窗体如图5-2所示。要求程序中不得使用变量,事件过程中只能写一条语句。工程文件名保存为sy5-2.vbp,窗体文件名保存为sy5-2.frm。 3、在名称为Form1的窗体上画一个图片框,其名称为Picture1、一个水平滚动条,名称为HScroll1,和一个命令按钮,名称为Command1,标题为"设置属性",通过属性窗口在 图片框中装入一个图形(文件名为pic1.jpg,位于考生目 录下),图片框的高度与图形的高度相同,图片框的宽度 任意(如图1所示)。编写适当的事件过程,程序运行后, 如果单击命令按钮,则设置水平滚动条的如下属性: Min 100 Max 1500 LargeChange 100 SmallChange 10 之后就可以通过移动滚动条上的滚动块来放大或缩小图 片框。程序运行后的窗体如图5-3所示。要求程序中不得 使用任何变量。工程文件名为sy5-3.vbp,窗体文件名为s y5-3.frm。 4、在控件属性1文件夹下有一个工程文件 sy5-4.vbp,窗体上有一个圆和一个矩形,还有水平和 垂直滚动条各一个。程序运行时,移动某个滚动条的 滚动块,可使圆做相应方向的移动。滚动条刻度值的 范围是圆可以在矩形中移动的范围。以水平滚动条为 例,滚动块在最左边时,圆靠在矩形的左边线上,如 图(a)所示;滚动块在最右边时,圆靠在矩形的右边 线上,如图(b)所示。垂直滚动条的情况与此类似。

国家二级VB机试(数组)模拟试卷4

国家二级VB机试(数组)模拟试卷4 (总分:60.00,做题时间:90分钟) 一、选择题(总题数:30,分数:60.00) 1.假定建立了一个名为Command1的命令按钮数组,则以下说法中错误的是 (分数:2.00) A.数组中每个命令按钮的名称(Name属性)均为Command1 B.数组中每个命令按钮的标题(Caption属性)都一样√ C.数组中所有命令按钮可以使用同一个事件过程 D.用名称Command1(下标)可以访问数组中的每个命令按钮 解析:解析:本题考查控件数组。选项B中,命令按钮控件数组的Caption属性不一定相同,可以单独分别设置,其他选项均正确。 2.列表框中的项目保存在一个数组中,这个数组的名字是 (分数:2.00) A.Column B.Style C.List √ D.MultiSelect 解析:解析:本题考查列表框的使用。列表框的元素保存在List数组中,可以通过List属性获取元素值。 3.下面的语句用Array函数为数组变量a的各种元素赋值整数值: (分数:2.00) A.Dim a √ B.Dim a As Integer C.Dim a(9)As Integer D.Dim a()As Integer 解析:解析:本题考查常用函数。Array函数返回一个包含数组的Vaiiant,语法:Array(arglist)。所需的arglist参数是一个用逗号隔开的值表,这些值用于给Variant所包含的数组的各元素赋值。如果不提供参数,则创建一个长度为0的数组。本题中变量a必须是变体类型,选项A正确。 4.以下数组定义语句中,错误的是 (分数:2.00) A.Static(10)As Integer B.Dim c(3,1 To 4) C.Dim d(-10) √ D.Dim b(0 To 5,1 To 3)As Integer 解析:解析:本题考查的考点是有关数组定义的。在Visual Basic中,可以用4个关键字来定义数组,分别是Dim、ReDim、Public和Static。在Visual Basic中定义数组有两种格式。格式一:Dim<数组名(下标上界)>As<类型名称> Dim<数组名(第一维下标上界,第二维下标上界)>As<类型名称>格式二:Dim<数组名(下界To上界[,下界To上界]…)>As<类型名称>其中上界必须大于下界。本题中选项C 采取第一种格式定义数组,则数组默认下界为0,上界一10小于0,故不符合要求。 5.语句Dim a(-3 To 4,3 To 6)As Integer定义的数组的元素个数是 (分数:2.00) A.18 B.28 C.21 D.32 √ 解析:解析:本题考查的考点是有关二维数组的。二维数组定义时对于数组的每一维均给定下标的下界和上界,中间用To连接,即给出下标可取值的变化范围。“数组元素个数”指的是数组中成员的个数,每一维的长度是上界一下界+1,数组元素个数等于各维长度之积。

vb中数组元素作为参数

VB中数组元素作为参数 一、介绍 1.1 什么是VB? VB(Visual Basic)是一种基于事件驱动的编程语言,由微软公司开发。它是一种易于学习和使用的编程语言,主要用于开发Windows应用程序。VB具有简单的语法和丰富的功能,可以帮助开发人员快速构建功能强大的应用程序。 1.2 什么是数组? 数组是一种用于存储多个相同类型的数据的数据结构。在VB中,数组可以包含任意数量的元素,每个元素都可以通过索引访问。数组的使用可以提高程序的效率和灵活性,特别适用于需要处理大量数据的情况。 二、数组作为参数的优势 通过将数组作为参数传递给函数或子过程,可以实现以下优势: 2.1 减少代码冗余 当需要对多个数组进行相同的操作时,可以将数组作为参数传递给函数或子过程,避免编写重复的代码。这样可以减少代码的冗余,提高代码的可维护性和可读性。 2.2 提高代码的复用性 通过将数组作为参数传递给函数或子过程,可以提高代码的复用性。不同的函数或子过程可以共享相同的数组数据,避免了重复定义和传递相同的数据。 2.3 简化程序逻辑 通过将数组作为参数传递给函数或子过程,可以简化程序的逻辑。将数组的处理逻辑封装在函数或子过程中,可以使主程序更加清晰和简洁,易于理解和维护。

三、数组作为参数的使用方法 3.1 传递数组给函数 在VB中,可以通过将数组作为参数传递给函数来实现对数组的处理。以下是传递 数组给函数的基本语法: Function 函数名(参数名() As数据类型) As返回值类型 ' 函数体 End Function 在函数体中,可以使用传递的数组进行相关操作,并返回一个值。 3.2 传递数组给子过程 类似地,可以将数组作为参数传递给子过程。以下是传递数组给子过程的基本语法:Sub 子过程名(参数名() As数据类型) ' 子过程体 End Sub 在子过程体中,可以使用传递的数组进行相关操作,但不返回任何值。 3.3 传递数组的不同方式 在VB中,可以通过值传递和引用传递两种方式将数组作为参数传递给函数或子过程。 3.3.1 值传递 值传递是指将数组的副本传递给函数或子过程。在值传递中,对传递的数组进行修改不会影响原始数组。 3.3.2 引用传递 引用传递是指将数组的引用传递给函数或子过程。在引用传递中,对传递的数组进行修改会影响原始数组。 在VB中,默认情况下,数组是通过引用传递的。如果需要使用值传递,可以使用ByVal关键字显式指定。

2012年计算机二级VB数组和自定义类型练习题及答案

2012年计算机二级VB数组和自定义类型练习题及答案

2012年计算机二级VB数组和自定义类型练习题及答案 计算机等级考试网更新:2011-12-30 编辑:evans 6.以下程序代码将任意一组数存入数组,从键盘接收一数据,将其插入数组中,插入的位置也从键盘接收。 Dim A( ) Private Sub Form_Click( ) N=InputBox("数据个数:") N=N+1 &, nbsp; __【11】__ For I=1To N-1 A(I)=Val(InputBox("原数据:")) Next I D=Val(InputBox("插入的数据:")) P=Val(InputBox("插入的位置:")) Do While P>N Or P<1 MsgBox"位置越界!"

8.设工程中有两个窗体Form1、Form2,一个标准模块Module1,设在Form2的代码中定义了以下过程: Sub aaa(x,y,z) z=x^2+y^2 End Sub 在Mobule1中定义了以下过程: Sub bbb(x,y,z) z=x^3+y^3 End Sub 在Form1中单击命令按钮Commandl时,调用以上过程计算两个数的平方和与立方和。并分别将结果显示在文本框Text3和Text4中,请在以下程序段中写出相应的调用语句。 Private Sub Commandl_Click( ) a=val(Text1.Text) b=val(Text2.Text) Call __【13】__

Text3.Text=cl __【14】__ Text4.Text=c2 End Sub 9.设有如下程序 Private Sub Form_Click() Dim a As Integer, b As Integer a = 20 : b = 50 P1 a, b p2 a, b p3 a, b Print "a=";a,"b=";b End Sub Sub p1(x As Integer, ByVal y As Integer) x = x + 10

计算机二级VB考试数组练习题

数组练习题 '〖第1题〗(事件)双击窗体。 ' (响应)求1+2+3+5+8+13+……前20项的和,并将结 ' 果在窗体上输出。将结果存入变量SUM中。 '答案Dim i As Integer Dim j(1 To 20) As Integer For i = 1 To 20 If i < 3 Then j(i) = i Else j(i) = j(i - 1) + j(i - 2) End If sum = sum + j(i) Next Print sum 〖第2题〗题目:(事件)单击窗体。 ' (响应)生成一个一维数组(10个数组元素依此为: ' 15、23、72、43、96、23、3、65、88、17), ' 写程序求出这个数组中的最大值、最小值和平 ' 均值,并输出在窗体上。 ' 将最大值,最小值,平均值分别存入变量 ' Max,Min,Aver中 '答案:Dim a(9) As Integer Dim i, s As Integer a(0) = 15 a(1) = 23 a(2) = 72 a(3) = 43 a(4) = 96 a(5) = 23 a(6) = 3 a(7) = 65 a(8) = 88 a(9) = 17 max = a(0) min = a(0) s = 0 For i = 0 To 9 If a(i) > max Then max = a(i) End If If a(i) < min Then min = a(i) End If s = s + a(i) Next aver = Int(s / 10) Print (CStr(max)) Print (CStr(min)) Print (CStr(aver)) 〖第3题〗题目:应用选择法对数组A按升序排列 '基本思想: ' 1)对有n个数的序列(存放在数组a(n)中),从中选出最小的数,与第1个数交换位置;' 2)除第1 个数外,其余n-1个数中选最小的数,与第2个数交换位置; ' 3)依次类推,选择了n-1次后,这个数列已按升序排列。 '答案:Dim i, j, imin, temp As Integer For i = 1 To n - 1 imin = i For j = i + 1 To n If a(imin) > a(j) Then imin = j Next j temp = a(i) a(i) = a(imin)

VB程序设计--第章 数组含答案 (二)

VB程序设计--第章数组含答案 (二) 1. 数组是什么? 数组是一种数据结构,它可以存储一系列相同类型的数据。数组中的 每个元素都有一个唯一的索引,这个索引可以用来访问数组中的元素。 2. 数组的定义和初始化 在VB程序设计中,可以使用Dim语句来定义数组。例如,定义一个包 含5个整数的数组可以使用以下语句: Dim arr(4) As Integer 这个语句定义了一个名为arr的数组,它包含5个整数。数组的索引 从0开始,因此第一个元素的索引是0,最后一个元素的索引是4。 数组的初始化可以在定义时或者后面进行。例如,以下语句定义了一 个包含3个整数的数组,并将第一个元素初始化为1,第二个元素初始化为2,第三个元素初始化为3: Dim arr() As Integer = {1, 2, 3} 3. 数组的访问和修改 可以使用数组的索引来访问和修改数组中的元素。例如,以下语句将 arr数组中的第一个元素修改为10: arr(0) = 10

4. 数组的遍历 可以使用For循环来遍历数组中的所有元素。例如,以下代码遍历了arr数组中的所有元素,并将它们输出到控制台: For i As Integer = 0 To arr.Length - 1 Console.WriteLine(arr(i)) Next 5. 数组的应用 数组可以用于许多应用程序中。例如,可以使用数组来存储学生的成绩,然后计算平均分数和最高分数。以下代码演示了如何使用数组来存储学生的成绩,并计算平均分数和最高分数: Dim scores() As Integer = {80, 90, 70, 85, 95} Dim sum As Integer = 0 Dim max As Integer = scores(0) For i As Integer = 0 To scores.Length - 1 sum += scores(i) If scores(i) > max Then max = scores(i) End If Next Dim average As Double = sum / scores.Length Console.WriteLine("平均分数:" & average) Console.WriteLine("最高分数:" & max)

VB_数组

VB数组 一、数组的概念 数组是一组具有相同类型和名称的变量的集合。这些变量称为数组的元素,每个数组元素都有一个编号,这个编号叫做下标,我们可以通过下标来区别这些元素。数组元素的个数有时也称之为数组的长度。 一般情况下,数组的元素类型必须相同,可以是前面讲过的各种基本数据类型。但当数组类型被指定为变体型时,它的各个元素就可以是不同的类型。 数组和变量一样,也是有作用域的,按作用域的不同可以把数组分为:过程级数组(或称为局部数组)、模块级数组以及全局数组。 二、定长数组和动态数组 1、定长数组 定长数组的长度是在定义时就确定的,在程序运行过程中是固定不变的。其定义格式为: Dim数组名([下界TO]上界)[As类型名] 其中,数组的下界和类型是可选的。所谓下界和上界,就是数组下标的最小值和最大值。缺省下界时,vB默认的下界是0,但通常人们习惯上是从1开始的,因此我们可以设置让数组的默认下界为1,这需要在每个模块的“(声明)”部分添加一行代码: 如果定义数组时不指定其类型,默认是变体型的。 下面举例说明定长数组的定义: ①Dim a(1 to 3)As Integer ②Dim b(5 to 9)As String ③Dim c(7)As Integer ④Dim d(6) 其中,例①定义了一个具有三个元素的整型数组,其下标从1到3。例②定义了一个具有五个元素的字符型数组,其下标从5到9。例③缺省了下界,它定义了一个具有八个元素的整型数组,其下标从0到7。例④则缺省了下界和类型,定义的是具有七个元素的变体型数组,其下标从0到6。如果在该模块的“(声明)”部分添加了Option base 1,则例③和例④的下标都是从l开始了。 在定义定长数组时,其上界和下界必须是常数或常量表达式。 2、动态数组 在很多情况下,数组的长度事先是无法预测的,而且有时可能需要在程序中改变数组的长度以适应新的情况,因此出现了动态数组。动态数组是在定义数组只指定数组名及其类型,等以后知道数组的长度或需要改变数组长度时再用“ReDim”指定它的长度。现举例如下: Dim X AS Integer Dim a()As String …… ReDim a(x) …… X=X+3 ReDim a(x) 其中的“…”代表其它代码。这段代码首先定义了一个整型变量和—个字符型的动态数组,之后经过一系列运算后使变量X得到一个定值,再使用“ReDim”指定数组的长度,最后根据需要又再一次改变了数组的长度。 虽然可以一次或多次改变动态数组的长度,但当重新指定数组长度时,数组内原有的数据降会

VB第四章课本习题答案

4.20水仙花问题 Private Sub Form_Click() For i = 1 To 9 For j = 0 To 9 For k = 0 To 9 If i ^ 3 + j ^ 3 + k ^ 3 = i * 100 + j * 10 + k Then Print i * 100 + j * 10 + k; Next Next Next End Sub 4.21斐波那契数列(在文本框的输出) 方法一:Private Sub Form_Click() a = 1: b = 1 Text1 = "" For i = 1 To 9 a = a + b b = a + b Text1 = Text1 & Str(a) & Str(b) Next End Sub 方法二:数组 Dim a(20) Private Sub Form_Click() a(1) = 0: a(2) = 1 Text1 = Str(a(1)) & Str(a(2)) Print a(1); a(2); For i = 3 To 20 a(i) = a(i - 1) + a(i - 2) Text1 = Text1 & Str(a(i)) Next End Sub

4.18双重累加 双循环解决 Private Sub Form_click() n = Val(Text1) s = 0 For i = 1 To n t = 0 For j = 1 To i t = t + j Next s = s + t Next Text2 = s End Sub 使用单循环 Private Sub Form_Click() n = Val(Text1) s = o: t = 0 For i = 1 To n t = t + i s = s + t Next Text2 = s End Sub 4.16 Private Sub Form_Click() s = 1 a = 1 Do While 1 / s > 10 ^ (-5) t = t + 1 s = s * t a = a + 1 / s Loop Print a End Sub

VB程序设计教程第四章、第五章、第六章课后习题(部分)

VB课后作业 第三次作业 习题四 09信管李莎200918104015 2012/4/11

书95页习题四 9.计算下列循环语句的次数: (1)循环次数为:6 (2)循环次数为:19 (3)循环次数为:0 (4)循环次数为:死循环直至溢出 12.利用循环结构,实现如下功能: (1)Dim i As Integer, s As Integer For i = 1 To 10 s = s + (i + 1) * (2 * i + 1) Next i Print "s="; s (2)Dim i As Integer, n3 As Integer, n7 As Integer For i = 1 To 100 If i Mod 3 = 0 Then n3 = n3 + 1 If Int(i / 7) = i / 7 Then n7 = n7 + 1 Next i Print "1-100中3的倍数有"; n3; "个" Print "1-100中7的倍数有"; n7; "个" (3)Dim s1 As String, s2 As String, i As Integer s1 = InputBox("Input String") s2 = "" For i = 1 To Len(s1) s2 = Mid(s1, i, 1) + s2 Next i Print "原序:"; s1 Print "反序:"; s2 13.下面程序的运行结果是什么?该程序的功能是什么?Private Sub Command1_Click() Dim x$, n% n = 20 Do While n <> 0 a = n Mod 2 n = n \ 2 x = Chr(48 + a) & x Loop

VB补充练习题-数组

VB 补充习题——数组 1. 随机生成15个100以内的正整数并显示在一个文本框中,再将所有对称位置的两个数据对调后显示在另一个文本框中(第1个数与第15个数对调,第2个数与第14个数对调,第3个数与第13个数对调……)。 2. 随机生成20个100以内的两位正整数,统计其中有多少个不相同的数。 3. 20个两位随机正整数围成一圈,找出每四个相邻数之和中的最大值,并指出是哪四个相邻的数。 4. 随机生成一个5×5的整数矩阵,该矩阵的副对角线(矩阵左下角到矩阵的右上角连线)上方元素都是两位偶数,副对角线和它的下方元素都为奇数。 5. 设有一个二维数组A(5,5),试编写程序计算: a) 所有元素之和; b) 所有靠边元素之和; c) 两条对角线元素之和。 6. 利用随机函数生成一个由两位正整数构成的4行5列的矩阵,求出矩阵行的和为最大和最小的行,并调换这两行的位置。 7. 随机生成20个10~50之间的互不相同的整数,并求出它们的平均值。 8. 找出100以内的所有素数,存放在数组Prime 中,并将所找到的素数按每行10个的形式显示在窗体上。 9. 求出裴波拉契数列的前20项,并按顺序将它们显示在一个文本框内。裴波拉契数列的 递推公式如下: ⎪⎩ ⎪⎨⎧≥-+-=311)2()1(11)(n n F n F n F 10. 分别用选择法、直接法和冒泡法对20个数进行排序。 11. 在一个随机数组中,按顺序查找是否存在要查找的数。 12. 利用二分查找法,在一个已经排好序的数组中,查找是否存在需要找的数。 13. 求一个n ×n 阶的转置矩阵。n 从键盘输入,A 矩阵和它的转置矩阵本别显示在两个文 本框中。 14. 设A 是3×2的矩阵,B 是2×3的矩阵,求A 矩阵和B 矩阵的乘积矩阵C=A ·B 。 15. 有一个二维数组,找到不同行、不同列的三个数组元素的乘积最大的一组,并将这三个 元素按下面的形式打印出来。

VB中的数组

第五章VB 中的数组 5.1 数组的概念 1.引例 求100 个学生的平均成绩及超过平均成绩的人数。 如果用一般变量来表示成绩,需要用100个变量,如:markl、mary2、........... marklOO。若用数组,可以只用一个来表示mark(1 To 100)。 2.基本概念 数组:是同类型变量的一个有序的集合。 女口:A ( 1 To 100 ),表示一个包含100个数组元素的名为A的数组。 数组元素:即数组中的变量。用下标表示数组中的各个元素。 表示方法:数组名(P1, P2,……) 其中P1、P2 表示元素在数组中的排列位置,称为“下标”。 如:A(3,2)代表二维数组 A 中第3行第2列上的那个元素。 数组维数:由数组元素中下标的个数决定,一个下标表示一维数组,二个下标表示二维数 组。 VB中有一维数组、二维数组、……最多60维数组。 下标:下标表示顺序号,每个数组有一个唯一的顺序号,下标不能超过数组声明时的上、下界范围。下标可以是整型的常数、变量、表达式,甚至又是一个数组元素。 下标的取值范围是:下界To 上界,缺省下界时,系统默认取0。 3.数组声明 数组必须先声明后使用。声明数组就是让系统在内存中分配一个连续的区域,用来存储数组元素。 声明内容:数组名、类型、维数、数组大小。 一般情况下,数组中各元素类型必须相同,但若数组为Variant 时,可包含不同类型的数据。 静态数组:声明时确定了大小的数组。

动态数组:声明时没有给定数组大小(省略了括号中的下标),使用时需要用ReDim 语句重新指出其大小。 使用动态数组的优点是根据用户需要,有效地利用存储空间,它是在程序执行到ReDim 语句时才分配存储单元,而静态数组是在程序编译时分配存储单元。 5.2 静态数组及声明 1.一维数组 静态一维数组的声明形式: Dim 数组名(下标)[As 类型] 说明:(1)下标必须为常数,不可以为表达式或变量; (2)下标下界最小为-32768,最大上界为32767;省略下界,其默认值为为0,一维数组的大小为:上界-下界+1 (3)如果省略类型,则为变体型 例:(1)Dim A(10)As Integer 声明了A是数组名、整型、一维数组、有11个元素,下标的范围是0〜10。 (2)Dim B(-3 To 5)As String*3 声明了B 是数组名、字符串型、一维数组、有9 个元素,下标的范围是-3〜5,每个元素最多存放3 个字符。 2.多维数组 静态多维数组的声明形式: Dim 数组名(下标1[,下标2…])[As类型] 说明:(1)下标个数决定数组的维数,最多60 维。 (2)每一维的大小=上界-下界+1;数组的大小=每一维大小的乘积。 例:Dim C (-1 To 5 , 4)As Long 声明了 C 是数组名、长整型、二维数组、第一维下标范围为-1 〜5,第二维下标的范围是0〜4,占据7x 5 个长整型变量的空间。 3.注意事项 (1)在有些语言中,下界一般从1 开始,为了便于使用,在VB 的窗体层或标准模块层用Option Base n 语句可重新设定数组的下界,如Option Base 1 。 (2)在数组声明中的下标关系到每一维的大小,是数组说明符,而在程序其他地方出现的下标为数组元素,两者写法相同,但意义不同。 (3)在数组声明时的下标只能是常数,而在其他地方出现的数组元素的下标可以是变量。

vb第四章数组习题

vb第四章数组习题 第一章数组 一、选择题 1.在窗体上画一个命令按钮,然后编写如下程序: Option Base 1 Private Sub Command1_Click(Index As Integer) Dim Arr1(12) As Integer, Arr2(3) As Integer Dim Sum As Integer Sum = 2 For i = 1 To 12 Arr1(i) = i Next i For i = 1 To 3 Arr2(i) = Arr1(i * i) Next i For i = 1 To 3 Sum = Sum + Arr2(i) Next i Print Sum End Sub 程序运行后,单击命令按钮,在窗体上的输出结果是 A.16B.24 C.32 D.36 2.在窗体上画一个文本框,然后编写如下代码: Option Base 1 Private Sub Form_Click() Dim arr Dim Start As Integer, Finish As Integer Dim Sum As Integer arr = Array(12, 4, 8, 16)

Start = LBound(arr) Finish = UBound(arr) Sum = 0 For i = Start To Finish Sum = Sum + arr(i) Next i c = Sum / Finish = c End Sub 程序运行后,单击窗体,则在文本框中显示的内容是A.40 B.10C.12 D.16 3.阅读程序:Option Base 1 Private Sub Form_Click() Dim Arr(4, 4) As Integer For i = 1 To 4 For j = 1 To 4 Arr(i, j) = (i - 1) * 2 + j Next j Next i For i = 3 To 4 For j = 3 To 4 Print Arr(j, i); Next j Print Next i End Sub 程序运行后,单击窗体,输出结果是 A.5 7 B.6 8 C.7 9D.8 10 6 8 7 9

高三计算机专业VB试题(四)

高三计算机专业VB试题(四) 高三年级计算机专业VB试题(四) 一、填空题: 1、引用数组元素的方法是________。 2、在引用数组元素时,________、________、和________必须与声明数组时一致。 3、在Visual Basic中,过程分为________过程和________过程。 4、使用________声明在所有模块中都可以使用的过程;使用________声明只能在包含该声明的模块中 使用的过程。 5、在使用Static关键字声明过程时表示在调用Sub过程之间________。 6、________语句可以使程序在一定条件下从一个Sub过程中退出,并且在Sub过程的任何位置都可以 使用。 7、若要建立通用过程,打开代码编辑器窗口,从________列表框中选择________选项。 8、事件过程分为________过程和________过程;两者都使用________进行声明。 9、建立事件过程主要有三种方法:________、________、________。 10、若要提前退出Function过程,可在Function过程内适当位置加入________语句。 11、若要从Function过程返回一个值,可将这个值赋给________。 12、声明过程时参数列表格式为:,[Optional][Byval][ByRef][ParamArray]变量名[()][As 数据类型名称]。其中Optional表示参数是可选的,ByVal表示________,ByRef表示________,ParamArray表示________,“()”表示________,As子句用来________,多个参数时,参数之间用________进行分隔。 13、在Visual Basic中,调用Sub过程有两种方式________和

数组练习题

数组练习题 1.下面数组声明语句,_________正确。 A)Dim a[2,4] As Integer B)Dim a(2,4)As Integer C)Dim a(n,n)As Integer D)Dim a(2 4)As Integer 2.假定建立了一个名为Command1的命令按钮数组,则以下说法中错误的是________。 A)数组中每个命令按钮的名称(名称属性)均为Command1 B)数组中每个命令按钮的标题(Caption属性)都一样 C)数组中所有命令按钮可以使用同一个事件过程 D)用名称Command1(下标)可以访问数组中的每个命令按钮 3.数组声明语句Dim a(-2 to2,5)中,数组包含元素个数为________。 A)120 B)30 C )60 D)20 4.下面程序的输出结果是________。 Dim a a = Array(1,2,3,4,5,6,7) For i = Lbound(a)to Ubound(a) a(i)= a(i)* a(i) Next i Print a(i) A)36 B)程序出错C)49 D)不确定 5.下面程序的输出结果是________。 Option Base 1 Private Sub Command1_Click() Dim a%(3, 3) For i = 1 To 3 For j = 1To 3 If j > 1 And i > 1 Then a(i, j)= a(a(i - 1, j - 1), a(i, j - 1))+ 1

Else a(i, j)= i * j End If Print a(i, j); ""; Next j Print Next i End Sub A)1 2 3 B)1 2 3 C )1 2 3 D)1 2 3 2 3 1 1 2 3 2 4 6 2 2 2 3 2 3 1 2 3 3 6 9 3 3 3 6.在设定Option Base 0后,经Dim arr(3,4)As Integer 定义的数组arr含有的元素个数为________。 A)12 B)20 C )16 D)9 7.用Dim A (-3 To 5)As Integer语句定义的数组的元素个数是________。 A)6 B)7 C )8 D)9 8.有如下程序代码,输出结果是________。 Dim a() a=Array(1,2,3,4,5) for i=Lbound(a)to Ubound(a) print a(i); next I A)1 2 3 4 5 B)0 1 2 3 4 C )5 4 3 2 1 D)4 3 2 1 0 9.设有如下数组声明语句,________是正确的。 A)Dim a[3,4] As Integer B)Dim a(n,n)As Integer C)Dim a(3,4) As Integer D)Dim a(3 4)As Integer 10.窗体上已有命令按钮Command1和标签Labe1,下列程序运行后,单击Command1按钮,标签Label1中显示的内容是________。

vb第四章选择结构和循环结构编程题

第四章编程题1.查询分数题 Private Sub Form_Load() x = Val(InputBox("请输入分数", "输入", 0)) Select Case x Case Is < 0 Label1.Caption = "输入有误" Case Is > 100 Label1.Caption = "输入有误" Case Is >= 90 Label1.Caption = "优秀" Case Is >= 80 Label1.Caption = "良好" Case Is >= 70 Label1.Caption = "一般" Case Is >= 60 Label1.Caption = "及格" Case Is < 60 Label1.Caption = "不及格" End Select End Sub 2.求最大公约数题 Private Sub Command1_Click() Dim m As Integer, n As Integer, p As Integer m = Val(Text1.Text) n = Val(Text2.Text) If m < 0 Or n < 0 Then MsgBox "数据错误!" End End If p = m Mod n Do While p <> o m = n n = p p = m Mod n Loop Text3.Text = n End Sub

2.1最小公倍数 Private Sub Command1_Click() Dim m As Integer, n As Integer, p As Integer, t As Integer m = Val(Text1.Text) n = Val(Text2.Text) t = m * n If m < 0 Or n < 0 Then MsgBox "数据错误!" End End If If m = 0 Or n = 0 Then Text3.Text = 0 Else Do p = m Mod n If p = 0 Then Exit Do End If m = n n = p Loop Until False Text3.Text = t / n End If End Sub 3.九九乘法表 Private Sub Command1_Click() Dim I As Integer, J As Integer, M As Integer, s As String For I = 1 To 9 s = "" For J = 1 To I M = I * J s = s & J & "*" & I & "=" & M & " " Next J List1.AddItem s Next I End Sub 4.求ABCD—CDC=ABC题Private Sub Command1_Click()

VB对口升学数组测试

VB对口升学数组测试 循环数组测试题 1、在Visual Basic中,组合框是文本框和( )特性的组合。A)复选框B)标签C)列表框D)目录列表框 2、以下程序段的运行结果是_______。 A Private Sub Form_Click() Dim s As Long, f As Long Dim n As Integer, i As Integer f = 1 n = 4 For i = 1 To n f = f * i s = s + f Next i Print "s="; s End Sub A. 33 B. 34 C. 35 D. 36 3、以下程序段的运行结果是_______。 A Private Sub Form_Click() a = 1 b = a Do Until a >= 5 X = a * b Print Str(a) & "*" & Str(b) & "="; Str(X); a = a + b b = b + a

Loop End Sub A. 1*1=1 2*3=6 B. 1*1=2 2*2=4 C. 1*1=1 3*3=9 D. 1*1=2 3*2=6 4、下列语句声明的数组a包含的元素个数有_______。 A Dim a(3 ,-2 to 2,5) A. 120 B. 75 C. 60 D. 13 5、定义数组Array(1 to 5,5)后,下列哪一个数组元素不存在_______。 C A. Array(1,1) B. Array(1,0) C. Array(0,1) D. Array(5,5) 6、在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程: Private Sub Command1_Click() Dim a1(4, 4), a2(4, 4) For i = 1 To 4 For j = 1 To 4 a1(i, j) = i + j a2(i, j) = a1(i, j) + i + j Next j Next i Print a1(3, 3); a2(3, 3) End Sub

vb练习题-电子版第四章数据类型

vb练习题-电子版第四章数据类型

第四章数据类型、运算符与表达式 教学要求: 了解Visual Basic语言的基本数据类型,了解各基本数据类型的数值范围;掌握Visual Basic常量与变量的概念,重点掌握字符串型、数值型数据的常量表示方法、类型分类、变量定义语法、变量赋初值语法等内容,理解变体类型变量的概念及定义语法,了解用户自定义数据类型和枚举类型的使用;了解变量的作用域;掌握常用内部函数的功能和用法。 掌握Visual Basic语言运算符和表达式的概念,掌握算术运算符、关系运算符和逻辑运算符的作用、语法、优先级规则;熟悉表达式的执行顺序。 知识点: Visual Basic语言运算符和表达式;基本数据类型内容(常量形式、定义语法、赋初值语法、内存形式);运算符内容(作用、优先级、结合性);表达式内容(语法、应用规则);混合运算的规律。

内容导航: 一、数据类型 (一)基本数据类型 Visual Basic提供的基本数据类型主要有字符串型和数值型,此外还提供了字节、货币、对象、日期、布尔和变体数据类型。 (二)用户定义的数据类型 用户可以利用Type语句定义自己的数据类型,其格式如下: Type 数据类型名 数据类型元素名 As 类型名数据类型元素名As 类型名…… End Type 二、常量和变量 (一)常量 Visual Basic中的常量分为两种,一种是文字常量,一种是符号常量。 (二)变量 1.命名规则 变量是一个名字,给变量命名时应遵循以下规则: (1)名字只能由字母、数字和下划线组成;

的空白字符 (2)RTrim$(字符串):去掉“字符串”右边的空白字符 (3)Trim$(字符串):去掉“字符串”两边的空白字符 2.字符串截取函数 用来截取字符串的一部分,可以从字符串的左部、右部或中部截取。 (1)左部截取 格式:Left$(字符串,n) (2)右部截取 格式:Right$(字符串,n) (3 ) 中部截取 格式:Mid$(字符串,起始位置,[n]) 3.字符串长度测试函数 格式:Len(字符串) Len(变量名)4.String$函数 格式:String$(n,ASCII码)String$(n,字符串) 5.空格函数 格式:Space$(n) 6.字符串匹配函数

相关主题
相关文档
最新文档