版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
动态数组:在声明时未给出数组的大小。在程序执行时分配存储空间。5.4.1动态数组的建立及使用
建立动态数组包括声明和大小说明两步:
1.在使用Dim、Private或Public语句声明括号内为空的数组。格式:Dim|Private|Public数组名()As数据类型例:Dimprivatea()AsInteger2.在过程中用ReDim语句指明该数组的大小。格式:ReDim[Preserve]数组名(下标1[,下标2…])
Preserve参数:保留数组中原来的数据例:RedimA(10)RedimPreserveA(20)5.4动态数组说明:(1)ReDim语句是一个可执行语句,只能出现在过程中,并且可以多次使用,改变数组的维数和大小。(2)定长数组声明时的下标只能是常量,而动态数组ReDim语句中的下标是常量,也可以是有了确定值的变量。例:
PrivateSubForm_Click()DimNAsIntegerN=Val(InputBox(“输入N=?”))Dima(N)AsInteger…….Endsub×5.4动态数组
(3)在过程中可以多次使用ReDim来改变数组的大小,也可改变数组的维数。例:ReDimx(10)ReDimx(20)x(20)=30Printx(20)ReDimx(20,5)x(20,5)=10Printx(20,5)
(4)每次使用ReDim语句都会使原来数组中值丢失,可以在ReDim后加Preserve参数来保留数组中的数据。但此时只能改变最后一维的大小。5.4动态数组例
Redim语句和Preserve语句的使用。5.4动态数组
5.4.2与数组操作有关的几个函数Array函数Array函数可方便地对数组整体赋值,但它只能给声明Variant的变量或仅由括号括起的动态数组赋值。赋值后的数组大小由赋值的个数决定。形式:数组名=Array(数据列表)
例如,要将1,2,3,4,5,6,7这些值赋值给数组a,可使用下面的方法赋值。Dima()‘由括号括起的动态数组A=array(1,2,3,4,5,6,7)Dima‘Variant的变量A=array(1,2,3,4,5,6,7)5.4动态数组2求数组的上界Ubound()函数、下界Lbound()函数
Ubound()函数和Lbound()函数分别用来确定数组某一维的上界和下界值。使用形式如下:
UBound(<数组名>[,<N>])LBound(<数组名>[,<N>])
其中:<数组名>:数组变量的名称,遵循标准变量命名约定。<N>
:可选的;一般是整型常量或变量。指定返回哪一维的上界。1表示第一维,2表示第二维,如此等等。如果省略默认是1。5.4动态数组例:使用LBound和Ubound函数求数组的上界和下界。5.4动态数组例如,如下程序段对a,b数组赋值,并显示输出结果。3.Split函数使用格式:Split(<字符串表达式>[,<分隔符>])说明:使用Split函数可从一个字符串中,以某个指定符号为分隔符,分离若干个子字符串,建立一个下标从零开始的一维数组。5.4动态数组输入一系列的数据,并将它们分离后存放在数组中。对输入
的数据允许修改和自动识别非数字数据。
(1)利用文本框输入和编辑数据,输入时去除非法数字。合法字符包括数字、逗号(,)、小数点(.)和负号(-)。2)输入结束利用Replace函数去除重复输入的分隔符;将重复的分隔符(,,)替换成(,)Replace的用法:Replace(c,c1,c2),作用是在c字符串用c2代替c1,如Replace(“ABCDABCD”,”CD”,”123”),结果是AB123AB1235.4动态数组3)对利用Split函数按分隔符分离,放到数组中;Split的用法:Split(c,d),作用是将c字符串按分隔符d分割成字符数组,s=Split(“123,56,ab”,“,”)结果为s(0)=123,s(1)=“56”,s(2)=“ab”。4)利用Join函数将数组中各元素合并成一个字符串。Join的用法:Join(a,d),作用是将数组a中各元素按d分隔符连接成字符串变量。A=Join(“123”,“ab”,“c”),结果为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肿瘤患者营养支持
- 中班思想品德教育体系构建
- 注意力之魔板训练
- 2025版抑郁症常见症状及护理技能训练
- 商务翻译产品介绍翻译
- 网站性能测试计划与报告模板
- 中学生科学教学质量调研报告范文
- 高中语文部编版教材内容梳理
- 阿尔兹海默症的健康宣教
- 脑出血疾病防治与康复管理
- 广东省广州市越秀区2024-2025学年八年级上学期期末考试英语试题
- 地震波速反演方法-洞察及研究
- 百年未有之大变局课件
- 2025年时事政治考试100题及答案
- 应急救援电源
- 电力行业电力工程设计师岗位招聘考试试卷及答案
- 2025年北京市建筑施工作业人员安全生产知识教育培训考核试卷E卷及答案
- 2024年云南省第一人民医院招聘考试真题
- 2025急性高甘油三酯血症胰腺炎康复期多学科管理共识解读
- 2025年事业单位面试热点题目及答案解析
- 湖北省宜昌市秭归县2026届物理八年级第一学期期末学业水平测试模拟试题含解析
评论
0/150
提交评论