VB - 数组与记录习题
更新时间:2023-12-05 09:32:01 阅读量: 教育文库 文档下载
- 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…Next语句,两者都用来执行指定重复次数的一组操作,但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)
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
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
正在阅读:
VB - 数组与记录习题12-05
阿尔泰语系对汉语的影响06-11
美丽的紫竹院公园作文400字06-23
第3章 统计数据描述与显示作业答案09-27
5S推行手册(091215A)05-11
激励小故事02-19
无线传感器网络学习报告08-20
起重机课程设计04-04
我国商业银行大客户关系管理的现状11-17
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 数组
- 习题
- 记录
- VB
- 1 土方工程
- 人教版六年级下册体育教案
- 金工实习(铸造部分)
- 混凝土预拌合同(劳务)
- 操作系统思考题答案
- 军事理论课堂笔记
- 浙江省2017年高考地理11月选考科目考试试题(一) - 图文
- 人教版《岳阳楼记》原文及课下注释
- 中兴通迅分析报告
- 计科 李居胜(开题报告) -
- 2018山东临沂地理中考真题(word 重绘版) - 图文
- 浅谈培养七年级学生英语学习习惯
- 血培养操作指南
- 浅析当前农村财务管理存在的问题及建议
- 中国人民大学硕士生入学考试诉讼法学专业试题
- 2020届高考历史复习第1单元古代中国的政治制度单元小卷(一)
- 实验任务5 - 利用三层交换机实现vlan间互访
- 某合金相图如图所示
- BP赛制英辩赛用词
- 甘肃农业大学工学院水利水电工程