版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数组和结构第四章数组和结构第四章回顾基本数据类型变量和常量变量和常量的作用域操作符和表达式流程控制语句2回顾基本数据类型2目标在VisualBasic中定义和使用数组掌握控件数组的基本概念及使用在VisualBasic中创建和使用自定义的数据
类型使用随机函数3目标在VisualBasic中定义和使用数组3数组单独的变量能够存储单个数据值数组是可以集中存储一组具有相同数据类型的数据项的一种结构使用数组的优势:数组中的所有值都用单个名称来存储,并可以使用位置索引分别进行标识4数组单独的变量能够存储单个数据值4声明数组和给数组赋值声明数组:
例如,为存储2到20之间的偶数声明一个数组,
Dimeven_arr(9)AsInteger
给数组赋值:
例如,要给上面声明的数组赋值,
even_arr(0)=2
even_arr(1)=4
even_arr(2)=6
………
even_arr(9)=20定义了一个共有10个元素的整型数组5声明数组和给数组赋值声明数组:
例如,为存储2到20使用数组–示例PrivateSubForm_Click()
Dimnum(10)AsIntegerDimiAsIntegerFori=0To9num(i)=i+1Printnum(i)NextiEndSub(在VB环境中进行演示)6使用数组–示例PrivateSubForm_Cli定义数组的下界数组的下界可以不为0在Dim语句中,可以显式地指定所声明的数组的下界示例DimMynames(1to5)asstring‘可以按如下所示对该数组赋值:Mynames(1)=“Tom”Mynames(2)=“Joe”Mynames(3)=“Jack”Mynames(4)=“Lisa”Mynames(5)=“Jeff”7定义数组的下界数组的下界可以不为0DimMynames多维数组在一些情形下可能希望存储多维数据组成的序列声明多维数组
例如,要声明一个能够存放5个学生的姓名和年龄的数组,
Dimstud_age(4,1)(0,0)(0,1)(1,0)(1,1)(2,0)(2,1)(3,0)(3,1)(4,0)(4,1)定义了一个5行2列的Variant类型的数组8多维数组在一些情形下可能希望存储多维数据组成的序列(0,0)为多维数组赋值可用下面的语句为二维数组赋值Dimstud_age(4,1)stud_age(0,0)="Tom"stud_age(0,1)=25stud_age(1,0)="Joe"stud_age(1,1)=22stud_age(2,0)="Lucy"stud_age(2,1)=24stud_age(3,0)="Ted"stud_age(3,1)=25stud_age(4,0)="Harry"stud_age(4,1)=23Tom25Joe22Lucy24Ted25Harry239为多维数组赋值可用下面的语句为二维数组赋值Dimstud_使用数组元素要显示上一张幻灯片创建的数组中所有元素的值Dimi,jAsIntegerFori=0To4Forj=0To1
Printstud_age(i,j)NextjNexti010Tom251Joe222Lucy243Ted254Harry2310使用数组元素要显示上一张幻灯片创建的数组中所有元素的值Dim动态数组动态数组与普通数组在概念上相类似动态数组与普通数组的区别:动态数组的大小在程序中是可变的声明动态数组不需要指定维数使用动态数组可以丢弃不需要的数据并释放
内存11动态数组动态数组与普通数组在概念上相类似11定义动态数组动态数组的声明与正常数组的声明相似在声明时不需要指定任何维数例如,
声明数组时
Dimnum_arr()asLong
运行时使用ReDim语句指定数组的维数和实际大小
ReDimnum_arr(10)
12定义动态数组动态数组的声明与正常数组的声明相似12重定义动态数组在重定义动态数组时,应注意:ReDim语句与Dim语句不同,只能在函数和过程中出现,后者可以在过程外出现ReDim语句无法更改与数组关联的数据类型连续的ReDim语句可以更改数组的边界,但无法更改数组的维数每执行一次ReDim语句,当前数组中的值将会丢失13重定义动态数组在重定义动态数组时,应注意:13动态数组–示例PrivateSubForm_Click()Dimnum_arr()AsIntegerDimintNum,iAsIntegerintNum=InputBox("请输入动态数组中元素的个数")'重定义动态数组
ReDimnum_arr(intNum)'给动态数组赋值
Fori=0TointNumnum_arr(i)=i+10NextiMsgBox"数组中第一个元素的值为:"&num_arr(0)ReDimnum_arr(3)MsgBox"重定义后数组中第一个元素的值为:"&num_arr(0)EndSub(在VB环境中进行演示)14动态数组–示例PrivateSubForm_Clic控件数组2-1可以将相关的并且是相同类型的控件组合到一种称为“控件数组”的结构中示例:在VB环境中创建名为cmdArray的命令按钮的控件数组15控件数组2-1可以将相关的并且是相同类型的控件组合到一种控件数组2-2控件数组中的控件共享公用的属性、事件、名称和类型控件数组中的每个控件称为控件数组的一个元素控件数组中的控件可以在运行时创建16控件数组2-2控件数组中的控件共享公用的属性、事件、名称Index属性控件数组中的所有元素具有相同的名称通过使用称为Index属性的属性来分别标识每个元素索引可以帮助将特定的值赋给与特定控件关联的属性17Index属性控件数组中的所有元素具有相同的名称17Index属性–示例改变在幻灯片15中创建的cmdArray命令按钮数组中第0个和第1个按钮的caption属性
cmdArray(0).caption="退出"
cmdArray(1).caption="确定"18Index属性–示例改变在幻灯片15中创建的cmdA控件数组的事件编程对于与控件数组相关联的特定事件,该控件数组中的所有元素共享相同的事件代码根据与控件相关联的索引来触发控件的事件19控件数组的事件编程对于与控件数组相关联的特定事件,该控件数组控件数组的事件编程–示例(在VB环境中进行演示)20控件数组的事件编程–示例(在VB环境中进行演示)20使用自定义数据类型可能会需要将与相同实体相关的不同数据类型的值存储在一起,这种结构称为记录。例如:要存储学生的相关信息Student_idStudent_nameStudent_marksStudent_address104Parker78NewYork-35105Stevens82Texas-50107George76Florida-5621使用自定义数据类型可能会需要将与相同实体相关的不同数据类型的定义自定义数据类型使用Type语句创建的数据类型称为用户定义或自定义的数据类型Type语句的典型语法如下:
TypevarType
variable1asvarType
variable2asvarType
variable3asvarType
….
variablenasvarType
EndType22定义自定义数据类型使用Type语句创建的数据类型称为用户自定义数据类型–示例创建符合幻灯片21示例中关于学生信息要求的,称为studTyp的自定义数据类型
TypestudType stud_idAsInteger stud_nameAsString stud_marksAsInteger stud_addressAsStringEndType23自定义数据类型–示例创建符合幻灯片21示例中关于学生信息创建自定义数据类型的变量可以使用下列语句,创建在上一张幻灯片中定义的自定义数据类型studType的变量:
Dimstudent1AsstudType
Dimstudent2AsstudType
24创建自定义数据类型的变量可以使用下列语句,创建在上一张幻灯片为自定义数据类型的变量赋值要为这些变量赋值,必须显式地将值赋给组成此数据类型的各个成员数据类型的每个单独的成员称为字段使用变量名.字段名,为变量赋值或访问变量的各字段的值25为自定义数据类型的变量赋值要为这些变量赋值,必须显式地将值赋使用自定义数据类型–示例为自定义数据类型的变量赋值
‘studType是在第23张幻灯片中创建的自定义数据类型student1.stud_idstudent1.stud_namestudent1.stud_marksstudent1.stud_address访问该类型变量的值Dimstudent1AsstudType
student1.stud_id=104student1.stud_name="Parker"student1.stud_marks=78student1.stud_address="NewYork-35“126使用自定义数据类型–示例为自定义数据类型的变量赋值st使用RND随机数函数RND函数说明:返回一个小于1但大于等于0的单精度数。可用来生成某个范围内的随机整数:Int((上限–下限+1)*Rnd+下限)
示例:若要生成一个10-20内的随机整数Int((20–10+1)*Rnd+10)27使用RND随机数函数RND函数说明:示例:若要生成一个10-使用RND函数–示例DimintIndexAsLongDimsngArray(1To10)AsSingleForintIndex=1To10sngArray(intIndex)=100*Rnd+1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年模具行业产学研合作项目合同4篇
- 通风和防排烟课程设计
- 观察日记课程设计
- 二零二五年度面料印刷与包装服务合同4篇
- 2025年度鱼塘承包与渔业产业发展规划合作协议4篇
- 二零二五版公司在职分红与员工职业规划协议3篇
- 二零二五年度高端酒店管理咨询合同4篇
- 自动化仪表课课程设计
- 二零二五版建筑废弃物资源化利用建设工程担保服务合同3篇
- 2024版轻钢房屋建造协议模板协议版B版
- 简易自动化培训
- 2024生态环境相关法律法规考试试题
- 有砟轨道施工工艺课件
- 两办意见八硬措施煤矿安全生产条例宣贯学习课件
- 40篇短文搞定高中英语3500单词
- 人教版高中数学必修二《第九章 统计》同步练习及答案解析
- 儿科护理安全警示教育课件
- 三年级下册口算天天100题
- 国家中英文名称及代码缩写(三位)
- 人员密集场所消防安全培训
- 液晶高压芯片去保护方法
评论
0/150
提交评论