文档详情

VB程序设计基础第4章数组与自定义类型.ppt

发布:2025-01-23约6.78千字共21页下载文档
文本预览下载声明

基础部第4章数组与自定义数据类型第1节数组的概念第5节控件数组第6节自定义数据类型第2节数组的声明第3节数组的赋值第4节数组的输出第1节数组的概念数组是一种数据结构,具有同名不同下标时代表不同的值的特征,因此在程序中同一书写格式可以表示不同的(下标)变量,增加了程序的通用性。一、数组的定义:同名下标变量的有序集合。二、数组的特点:1.由若干个数组元素组成2.元素有序(通过下标体现)3.元素类型相同,并且存储在连续的单元中一、一维静态数组声明时给定各下标的上下界的数组为静态数组,静态数组在编译时分配存储空间1.一维数组的定义格式:dim数组名([下界to]上界)[as数据类型]2.功能:定义一维数组的数组名、下标的范围、元素的类型,并分配连续的存储空间。第2节数组的声明二、二维静态数组1.声明格式:dim数组名(下界1to上界1,下界2to上界2)[as数据类型]2.存储:按行存储如dima%(2,3)存储顺序为:a(0,0),a(0,1),a(0,2),a(0,3),a(1,0),a(1,1),a(1,2),a(1,3),a(2,0),a(2,1),a(2,2),a(2,3)a(2,3)的值a(2,2)的值a(2,1)的值a(2,0)的值a(1,3)的值a(1,2)的值a(1,1)的值a(1,0)的值a(0,3)的值a(0,2)的值a(0,1)的值a(0,0)的值存储结构第一行第二行第三行【例4-1】输入10个学生某门课的成绩,输出高于平均分的成绩。分析:声明数组、循环输入分别保存到x数组各下标变量中,同时计算和值;再通过循环输出高于平均分的成绩。完整代码如下:PrivateSubForm_Click()Dimx!(1To10),i%,b!,t!Fori=1To10x(i)=Val(InputBox(请输入第i各学生成绩))t=t+x(i):Print第i个学生成绩为:x(i)Nextib=t/10Print平均分为:bPrint=========以下成绩高于平均分=========Fori=1To10Ifx(i)bThenPrint第i个学生成绩为:x(i)NextiEndSub输入并保存到A数组中,同时计算累加和输出高于平均分的成绩三、动态数组声明在用dim语句声明时不给出数组的大小,使用前用redim语句定义数组的大小。定义步骤:(1)在标准模块、窗体的通用程序段或过程中,声明一个省略大小的数组,格式为:dim数组名()[as数据类型](2)使用前用redim定义大小,格式为:redim[preserve]数组名(下界to上界)[as数据类型]在同一个程序中多次用redim定义同一动态数组时,preserve选项可保护已有元素值。【例4-2】输入n个学生某门课的成绩,输出高于平均成绩学生的成绩。PrivateSubForm_Click()Dimsum!,i%,x!(),n%,b!n=Val(InputBox(请输入学生人数))ReDimx!(1Ton)Fori=1Tonx(i)=Val(InputBox(请输入第i各学生成绩))sum=sum+x(i)PrintTab(6*((i-1)Mod10)+1);x(i);Nexti:b=sum/nPrint:PrintString(78,-)PrintTab(22);平均成绩:bFori=1TonIfx(i)bThenPrint第i个学生成绩为:x(i)NextiEndSub例如:dima(1to10)assinglefori=1to10a(i)=val(inputbox(“输入单精度数”))nexti再如:dima(5,5)asintegerfori=1to5Forj=1to5a(I,j)=iif(i=jori+j=6,1,0)nexti一、静态数组元素赋值第3节数组的赋值dima(5,5)asintegerfori=1to5a(I,i)=1:a

显示全部
相似文档