vb课后练习答案习题解答 (5)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5
1.下列一维数组说明语句错误的是( )。
a) Dim b(100) AS Double
b) Dim b(-5 To 0) AS Byte
c) Dim b(-10 To –20) AS Integer
d) Dim b(5 To 5) AS String
答案:c
2.若有数组说明语句为:Dim a(-3 To 8), 则数组a包含元素的个数是( )。
Dim a(1 To 5, 1 To 5) As Integer, i%, j%
For i = 1 To 5
For j = 1 To 5
If i <= j Then a(i, j) = 1 Else a(i, j) = i - j + 1
Next j
Next i
For i = 1 To 5
For j = 1 To 5
Command1
Caption
合并
Command2
Caption
结束
(2)程序代码
Dim a As Variant, b As Variant, c%(0 To 11)
Private Sub Form_Activate()
Dim i%
a = Array(1, 2, 7, 8)
Print: Print: Print
a) programmer→salary b) .salary
c) salary.programmer d) programmer.salary
答案:d
11.已知有说明语句
Type dat
year As Integer
month As Integer
day As Integer
End Type
Type emp
解答:
(1)界面设计和属性设置
在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3.5.2所示。
表3.5.2属性设置
控件名称
属性名
属性值
Form1
Caption
求两两不相同随机数最大值及其位置
Command1
Caption
开始
Command2
Caption
结束
(2)程序代码
Private Sub Command1_Click()
第5章
5
1.若要定义一个包含10个字符串元素,且下界为1的一维数组s,则数组说明语句为( )。
答案:Dim s(1 To 10) As String
2.若要定义一个元素为整型数据的二维数组a,且第一维的下标从0到5,第二维下标从-3到6,则数组说明语句为( )。
答案:Dim a(0 To 5,-3 To 6) As Integer
Next i
Print: Print
Print Tab(15); "最大值为:"; max
Print Tab(10), "最大值所在数组元素的下标为:"; p
End Sub
Private Sub Command2_Click()
End
End Sub
(3)运行情况
运行程序后,屏幕出现用户界面。单击标题为“开始”的命令按钮,系统执行相应的Click事件过程。执行结果如图3.5.2所示。单击标题为“结束”的命令按钮,结束程序的执行。
5
1.Private Sub Command1_Click()
Dim f(10) As Integer
f(0) = 1: f(1) = 1
For i = 2 To 10
f(i) = f(i - 2) + f(i - 1)
Next i
For i = 0 To10
If i Mod 4 = 0 Then Print
答案:清除指定数组内容、0、空字符串
10.控件数组是由一组类型和( )相同的控件组成,共享( )。
答案:名字、同一个事件过程
11.控件数组中的每一个控件都有唯一的下标,下标值由()属性指定。
答案:Index
12.建立控件数组有两种方法:()和()。
答案:在设计阶段通过相同Name属性值来建立、在程序代码中使用Load方法
t = s(i) :s(i) = s(j) :s(j) = t
Next j
Next i
For i = 1 To 6
Print s(i);
Next i
End Sub
答案:
6 5 4 3 2 1
3.Private Sub Command1_Click()
Dim a(1 To 9) As Integer
Dim b(1 To 3, 1 To 3) As Integer
programmer.birthday.day=1
答案:d
12.假设有第11题的说明语句,则下列With语句正确的是()。
a) with progammer
no=1000:name="张勇":sex="男"
with birthday
year=1978:month=10:day=1
End with
salary=2800
Print Tab(15); "产生的随机数为:"
Print
For i = 1 To 10
Print "a("; i; ")="; a(i),
If i Mod 4 = 0 Then Print
Next i
max = a(1): p = 1
For i = 2 To 10
If a(i) > max Then max = a(i): p = i
Print a(i, j);
Next j
Print
Next i
End Sub
答案:
1 1 1 1 1
2 1 1 1 1
3 2 1 1 1
4 3 2 1 1
5 4 3 2 1
5
2.编一程序,使用随机函数产生10个互不相同的两位整数存放到一维数组中,并输出该数组,然后求这组数中的最大值及最大值在数组中的位置。
Dim i%, j%
For i = 1 To 9
a(i) = i
Next i
For i = 1 To 3
For j = 1 To 3
b(i, j) = a(i * j)
If j <= i Then Print b(i, j),
Next j
Print
Next i
End Sub
答案:
1
24
36 9
4.Private Sub Command1_Click()
a)数值数组b)可调数组c)字符串数组d)可变类型数组
答案:d
9.下面选项中,错误的是( )。
a)Dim s As variant:s=Array("one ", " two ", " Three ")
b)Dim b:b=Array(1,2,3)
c)Dim b As Integer:b=Array(1,2,3)
.birthday.year=1978:.birthday.month=10:.birthday.day=1
.salary=2800
End with
d) with programmer,birthday
.no=1000:.name="张勇":.sex="男"
.year=1978:month.=10:day.=1
Print f(i),
Next i
End Sub
答案:
1 1 2 3
5 8 13 21
34 55 89
2.Private Sub Command1_Click()
Dim s(1 To 6) As Integer
For i = 1 To 6
s(i) = i
Next i
For i = 1 To 3
For j = 4 To 6
Print Tab(5); "第一个升序数组:";
For i = 0 To 3
Print a(i);
Next i
Print: Print
b = Array(3, 4, 8, 8, 9, 10, 12, 12)
Print Tab(5); "第二个升序数组:";
c) Dim a(0 To 8,5 To –1)AS Single
d) Dim a(10,-10)AS Double
答案:a
5.设有数组说明语句:Dimb(-1To2,-2To2),则数组b中元素的个数是( )。
a) 12b)15c) 16d) 20
答案:d
6.设有数组说明语句:Dimc(-1To1,1To5),则下列表示数组c的元素选项中( )是正确的。
.salary=2800
End with
答案:c
5
1.使用关键字Dim,ReDim和Static定义的数组分别称为什么数组?它们各有什么特点?
答:使用关键字Dim说明的数组称为定长数组。说明定长数组时,应同时确定维数和下标范围。VB编译程序在编译时为定长数组分配相应的内存区域,并且在应用程序运行期间,定长数组都占有这块内存区域。
3.如果数组元素的下标值为实数,则VB系统会按( )进行处理。
答案:四舍五入原则
4.数组元素个数可以改变的数组称为( );数组元素可以存放不同类型数据的数组称为( )。
答案:可调数组、可变类型数组
5.数组刷新语句用于( )。若被刷新的数组是数值数组,则把所有元素置( );若被刷新的数组为字符串数组,则把所有元素置( )。
En百度文库 with
b) with programmer
.no=1000:.name= "张勇":.sex="男"
with .birthday
.year=1978:.month=10:.day=1
End with
.salary=2800
End with
c) with programmer
.no=1000:.name="张勇":.sex="男"
d)Dim b As variant:b=Array(1,2,3)
答案:c
10.若有以下说明语句
Type employee
num As Integer
salary As Single
End Type
Dim programmer As employee
则下面表示记录变量programmer的 成员Salary正确的是( )。
图3.5.2执行结果
4.给定两组已按升序排列好的整型数据,编写一个程序把它们合并为一组仍按升序排列的数据。
解答:
(1)界面设计和属性设置
在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3.5.4所示。
表3.5.4属性设置
控件名称
属性名
属性值
Form1
Caption
把两个升序数组合并为一个升序数组
a) year=1978:month=10:day=1
b) birthday.Year=1978:birthday.month=10:birthday.day=1
c) programmer.year=1978:programmer.month=10:programmer.day=1
d)programmer.birthday.year=1978:programmer.birthday.month=10:
使用关键字ReDim说明的数组称为可调数组或动态数组。若在程序运行前,不能确定数组的大小或在程序运行时需要改变数组的大小,则该数组应定义为可调数组。在应用程序运行期间,可调数组占用的内存区域可能会改变。
使用Static说明的数组称为静态数组。在整个应用程序运行期间,系统分配固定内存区域。定义该数组的过程执行结束时,数组的值仍保留,该过程再次被调用时,数组的值为上次过程调用结束时的值。而定长数组和可调数组则不然,定义它们的过程执行结束时,它们的值不保留。
a) c(i+j) b) c(i)(j) c) c(i+1,j-1) d) c(1,0)
答案:c
7.若有数组说明语句:Dim a()AS Integer,则a被定义为()。
a)定长数组b)可调数组c)静态数组d)可变类型数组
答案:b
8.若有数组说明语句:Dim t(1 To 10)AS Variant,则t被定义为()。
no As Integer
name As String﹡10
sex As String*1
birthday As dat
salary As single
End Type
Dim programmer As emp
并假设变量programmer所表示职工的出生日期是“1978年10月1日”,则下列正确的赋值语句是()。
a)5b)8c)11d)12
答案:d
3.设有数组说明语句:Dimc(1 To 10),则下面表示数组c的元素选项中( )是错误的。
a)c(i-1) b)c(5+0.5)c)c(0)d)c(10)
答案:c
4.下列数组说明语句中正确的是()。
a) Dim a(-1 To 5,8)AS String
b) Dim a(n,n)AS Integer
Cls
Dim a(1 To 10), i%, j%, max%, p%
Randomize
For i = 1 To 10
l: a(i) = Int((90 * Rnd + 10))
For j = 1 To i - 1
If a(i) = a(j) Then GoTo l
Next j
Next i
Print: Print
1.下列一维数组说明语句错误的是( )。
a) Dim b(100) AS Double
b) Dim b(-5 To 0) AS Byte
c) Dim b(-10 To –20) AS Integer
d) Dim b(5 To 5) AS String
答案:c
2.若有数组说明语句为:Dim a(-3 To 8), 则数组a包含元素的个数是( )。
Dim a(1 To 5, 1 To 5) As Integer, i%, j%
For i = 1 To 5
For j = 1 To 5
If i <= j Then a(i, j) = 1 Else a(i, j) = i - j + 1
Next j
Next i
For i = 1 To 5
For j = 1 To 5
Command1
Caption
合并
Command2
Caption
结束
(2)程序代码
Dim a As Variant, b As Variant, c%(0 To 11)
Private Sub Form_Activate()
Dim i%
a = Array(1, 2, 7, 8)
Print: Print: Print
a) programmer→salary b) .salary
c) salary.programmer d) programmer.salary
答案:d
11.已知有说明语句
Type dat
year As Integer
month As Integer
day As Integer
End Type
Type emp
解答:
(1)界面设计和属性设置
在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3.5.2所示。
表3.5.2属性设置
控件名称
属性名
属性值
Form1
Caption
求两两不相同随机数最大值及其位置
Command1
Caption
开始
Command2
Caption
结束
(2)程序代码
Private Sub Command1_Click()
第5章
5
1.若要定义一个包含10个字符串元素,且下界为1的一维数组s,则数组说明语句为( )。
答案:Dim s(1 To 10) As String
2.若要定义一个元素为整型数据的二维数组a,且第一维的下标从0到5,第二维下标从-3到6,则数组说明语句为( )。
答案:Dim a(0 To 5,-3 To 6) As Integer
Next i
Print: Print
Print Tab(15); "最大值为:"; max
Print Tab(10), "最大值所在数组元素的下标为:"; p
End Sub
Private Sub Command2_Click()
End
End Sub
(3)运行情况
运行程序后,屏幕出现用户界面。单击标题为“开始”的命令按钮,系统执行相应的Click事件过程。执行结果如图3.5.2所示。单击标题为“结束”的命令按钮,结束程序的执行。
5
1.Private Sub Command1_Click()
Dim f(10) As Integer
f(0) = 1: f(1) = 1
For i = 2 To 10
f(i) = f(i - 2) + f(i - 1)
Next i
For i = 0 To10
If i Mod 4 = 0 Then Print
答案:清除指定数组内容、0、空字符串
10.控件数组是由一组类型和( )相同的控件组成,共享( )。
答案:名字、同一个事件过程
11.控件数组中的每一个控件都有唯一的下标,下标值由()属性指定。
答案:Index
12.建立控件数组有两种方法:()和()。
答案:在设计阶段通过相同Name属性值来建立、在程序代码中使用Load方法
t = s(i) :s(i) = s(j) :s(j) = t
Next j
Next i
For i = 1 To 6
Print s(i);
Next i
End Sub
答案:
6 5 4 3 2 1
3.Private Sub Command1_Click()
Dim a(1 To 9) As Integer
Dim b(1 To 3, 1 To 3) As Integer
programmer.birthday.day=1
答案:d
12.假设有第11题的说明语句,则下列With语句正确的是()。
a) with progammer
no=1000:name="张勇":sex="男"
with birthday
year=1978:month=10:day=1
End with
salary=2800
Print Tab(15); "产生的随机数为:"
For i = 1 To 10
Print "a("; i; ")="; a(i),
If i Mod 4 = 0 Then Print
Next i
max = a(1): p = 1
For i = 2 To 10
If a(i) > max Then max = a(i): p = i
Print a(i, j);
Next j
Next i
End Sub
答案:
1 1 1 1 1
2 1 1 1 1
3 2 1 1 1
4 3 2 1 1
5 4 3 2 1
5
2.编一程序,使用随机函数产生10个互不相同的两位整数存放到一维数组中,并输出该数组,然后求这组数中的最大值及最大值在数组中的位置。
Dim i%, j%
For i = 1 To 9
a(i) = i
Next i
For i = 1 To 3
For j = 1 To 3
b(i, j) = a(i * j)
If j <= i Then Print b(i, j),
Next j
Next i
End Sub
答案:
1
24
36 9
4.Private Sub Command1_Click()
a)数值数组b)可调数组c)字符串数组d)可变类型数组
答案:d
9.下面选项中,错误的是( )。
a)Dim s As variant:s=Array("one ", " two ", " Three ")
b)Dim b:b=Array(1,2,3)
c)Dim b As Integer:b=Array(1,2,3)
.birthday.year=1978:.birthday.month=10:.birthday.day=1
.salary=2800
End with
d) with programmer,birthday
.no=1000:.name="张勇":.sex="男"
.year=1978:month.=10:day.=1
Print f(i),
Next i
End Sub
答案:
1 1 2 3
5 8 13 21
34 55 89
2.Private Sub Command1_Click()
Dim s(1 To 6) As Integer
For i = 1 To 6
s(i) = i
Next i
For i = 1 To 3
For j = 4 To 6
Print Tab(5); "第一个升序数组:";
For i = 0 To 3
Print a(i);
Next i
Print: Print
b = Array(3, 4, 8, 8, 9, 10, 12, 12)
Print Tab(5); "第二个升序数组:";
c) Dim a(0 To 8,5 To –1)AS Single
d) Dim a(10,-10)AS Double
答案:a
5.设有数组说明语句:Dimb(-1To2,-2To2),则数组b中元素的个数是( )。
a) 12b)15c) 16d) 20
答案:d
6.设有数组说明语句:Dimc(-1To1,1To5),则下列表示数组c的元素选项中( )是正确的。
.salary=2800
End with
答案:c
5
1.使用关键字Dim,ReDim和Static定义的数组分别称为什么数组?它们各有什么特点?
答:使用关键字Dim说明的数组称为定长数组。说明定长数组时,应同时确定维数和下标范围。VB编译程序在编译时为定长数组分配相应的内存区域,并且在应用程序运行期间,定长数组都占有这块内存区域。
3.如果数组元素的下标值为实数,则VB系统会按( )进行处理。
答案:四舍五入原则
4.数组元素个数可以改变的数组称为( );数组元素可以存放不同类型数据的数组称为( )。
答案:可调数组、可变类型数组
5.数组刷新语句用于( )。若被刷新的数组是数值数组,则把所有元素置( );若被刷新的数组为字符串数组,则把所有元素置( )。
En百度文库 with
b) with programmer
.no=1000:.name= "张勇":.sex="男"
with .birthday
.year=1978:.month=10:.day=1
End with
.salary=2800
End with
c) with programmer
.no=1000:.name="张勇":.sex="男"
d)Dim b As variant:b=Array(1,2,3)
答案:c
10.若有以下说明语句
Type employee
num As Integer
salary As Single
End Type
Dim programmer As employee
则下面表示记录变量programmer的 成员Salary正确的是( )。
图3.5.2执行结果
4.给定两组已按升序排列好的整型数据,编写一个程序把它们合并为一组仍按升序排列的数据。
解答:
(1)界面设计和属性设置
在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3.5.4所示。
表3.5.4属性设置
控件名称
属性名
属性值
Form1
Caption
把两个升序数组合并为一个升序数组
a) year=1978:month=10:day=1
b) birthday.Year=1978:birthday.month=10:birthday.day=1
c) programmer.year=1978:programmer.month=10:programmer.day=1
d)programmer.birthday.year=1978:programmer.birthday.month=10:
使用关键字ReDim说明的数组称为可调数组或动态数组。若在程序运行前,不能确定数组的大小或在程序运行时需要改变数组的大小,则该数组应定义为可调数组。在应用程序运行期间,可调数组占用的内存区域可能会改变。
使用Static说明的数组称为静态数组。在整个应用程序运行期间,系统分配固定内存区域。定义该数组的过程执行结束时,数组的值仍保留,该过程再次被调用时,数组的值为上次过程调用结束时的值。而定长数组和可调数组则不然,定义它们的过程执行结束时,它们的值不保留。
a) c(i+j) b) c(i)(j) c) c(i+1,j-1) d) c(1,0)
答案:c
7.若有数组说明语句:Dim a()AS Integer,则a被定义为()。
a)定长数组b)可调数组c)静态数组d)可变类型数组
答案:b
8.若有数组说明语句:Dim t(1 To 10)AS Variant,则t被定义为()。
no As Integer
name As String﹡10
sex As String*1
birthday As dat
salary As single
End Type
Dim programmer As emp
并假设变量programmer所表示职工的出生日期是“1978年10月1日”,则下列正确的赋值语句是()。
a)5b)8c)11d)12
答案:d
3.设有数组说明语句:Dimc(1 To 10),则下面表示数组c的元素选项中( )是错误的。
a)c(i-1) b)c(5+0.5)c)c(0)d)c(10)
答案:c
4.下列数组说明语句中正确的是()。
a) Dim a(-1 To 5,8)AS String
b) Dim a(n,n)AS Integer
Cls
Dim a(1 To 10), i%, j%, max%, p%
Randomize
For i = 1 To 10
l: a(i) = Int((90 * Rnd + 10))
For j = 1 To i - 1
If a(i) = a(j) Then GoTo l
Next j
Next i
Print: Print