第七章数组
第七章 数组
、数组的概念 数组是由一个统一的名称表示的、顺序排列的一组变量。数 组中的数据是顺序存放的,因而是有序的,数组中的每一个元素 都可以通过一个数值下标被引用。如A(5) 数组名用来标识数组,命名规则与简单变量相同 维数是指数组的下标个数。下标个数为1则为一维数组;下标个 数为2则为二维数组。 Visual foxpro系统只支持一、二维数组 维长是指数组每一维的元素个数。 注意:下标必须用括号括起来;下标可以是常数,变量或表达 式;下标必须是整数,否则自动取整(去掉小数部分) 数组的大小是指数组元素的个数,由数组的维数和维长决定
一、数组的概念 数组是由一个统一的名称表示的、顺序排列的一组变量。数 组中的数据是顺序存放的,因而是有序的,数组中的每一个元素 都可以通过一个数值下标被引用。如A(5) 数组名 用来标识数组,命名规则与简单变量相同。 维数 是指数组的下标个数。下标个数为1则为一维数组;下标个 数为2则为二维数组。Visual FoxPro 系统只支持一、二维数组。 维长 是指数组每一维的元素个数。 注意:下标必须用括号括起来;下标可以是常数,变量或表达 式;下标必须是整数,否则自动取整(去掉小数部分) 数组的大小 是指数组元素的个数,由数组的维数和维长决定
二、数组类型 数组的数据类型是指数组元素的数据类型。数 组元素的数据类型默认为逻辑型,系统规定各元素 的初值均为逻辑值F.。 数组元素的数据类型因取值类型而动态变化 数组中的数据不必是同一种数据类型,即数组元 素的数据类型可因需要而改变,可互不相同
二、数组类型 数组的数据类型是指数组元素的数据类型。数 组元素的数据类型默认为逻辑型,系统规定各元素 的初值均为逻辑值.F.。 数组元素的数据类型因取值类型而动态变化,一 个数组中的数据不必是同一种数据类型,即数组元 素的数据类型可因需要而改变,可互不相同
数组的定义、赋值与引用 使用数组前必须先定义声明。定义的内容包括数组名、维数 和维长。定义数组的语法格式为 DIMENSION| DECLARE(N,N2)数组名> (KI,K2]) 全局数组定义全局数组的语法格式为 PUBLIC(N1[,N2])[(K1[,K2])… 局部数组定义局部数组的语法格式为: LOCAL(Nl[,N2])[,〈数组名〉(K1[,K2])
三、数组的定义、赋值与引用 使用数组前必须先定义声明。定义的内容包括数组名、维数 和维长。定义数组的语法格式为: DIMENSION | DECLARE (N1[,N2])[, (K1[,K2])……] 全局数组 定义全局数组的语法格式为: PUBLIC (N1[,N2])[,(K1[,K2])……] 局部数组 定义局部数组的语法格式为: LOCAL (N1[,N2])[,〈数组名〉(K1[,K2]) ……]
说明: (1)可一次定义一个或多个数组; (2)系统规定数组下标下限为1,N1、N2、K1、 K2等均为数组下标的上限。 (3)系统在定义声明的同时,将所有的元素赋初 值f 举例 dimensIOn a(8),b(2,3)&&定义私有数组 PUBLIC c(6), d(2, 4) &&定义全局数组 LOCAT e(10), f(2, 5) &&定义局部数组
l 举例: DIMENSION a (8), b (2, 3) && 定义私有数组 PUBLIC c(6), d(2,4) && 定义全局数组 LOCAT e(10), f(2,5) && 定义局部数组 说明: (1)可一次定义一个或多个数组; (2)系统规定数组下标下限为1,N1、N2、K1、 K2等均为数组下标的上限。 (3)系统在定义声明的同时,将所有的元素赋初 值 .f
四、数组的赋值 a=45 &&将数组a的所有元素赋值为45 b(1,1)={^2003-06-12}&&将数组b的第一个元素赋日期型数据 b(1, 2)="bookl &&将数组b的第二个元素赋字符型数据 b(1,3)=5 &&将数组b的第三个元素赋数值型数据 STORE"O0I"Tod(1,1)&&将数组d的第一个元素赋字符型数据 STORE"李冬"TOd(1,2)&&将数组d的第二个元素也赋字符 型数据 STORE78TOd(1,3)&&将数组d的第三个元素赋数值型数据 STORE OK TO S &&将数组s的所有元素赋值为"OK
四、数组的赋值 a=45 && 将数组a的所有元素赋值为45 b(1,1)={^2003-06-12} && 将数组b的第一个元素赋日期型数据 b(1,2)= "book1" && 将数组b的第二个元素赋字符型数据 b(1,3)=5 && 将数组b的第三个元素赋数值型数据 STORE "001" TO d(1,1) && 将数组d的第一个元素赋字符型数据 STORE "李冬" TO d(1,2) && 将数组d的第二个元素也赋字符 型数据 STORE 78 TO d(1,3) && 将数组d的第三个元素赋数值型数据 STORE "OK" TO s && 将数组s的所有元素赋值为"OK
五、数组的引用 ●举例: dImE a(5),b(2,3) a=60 b(2,2)="book" t=a(4) &&引用数组a的第四个元素 p=b(1,1) &&引用数组b的第一个元素 k=b(5) &&引用数组b的第五个元素,b(5)也就是b(2,2) 以上数组a的5个元素依次为:a(1)(2),a(3),2(4)a(5), 数组b的6个元素依次为:b(1,1),b(1,2)b(1,3),b(2,1),b(2,2)b(2,3)。 由于b(2,2)是数组b的第五个元素,故可以记为:b(5),同理,b(1,2) 可以记为b(2),b(2,1)可以记为b(4)
l 举例: DIME a(5), b(2,3) a = 60 b(1,1) = 8 b(2,2) = "book" t = a(4) && 引用数组a的第四个元素 p = b(1,1) && 引用数组b的第一个元素 k = b(5) && 引用数组b的第五个元素,b(5) 也就是 b(2,2) 以上数组a 的5个元素依次为:a(1),a(2),a(3),a(4),a(5), 数组b 的6个元素依次为:b(1,1),b(1,2),b(1,3),b(2,1),b(2,2),b(2,3)。 由于b(2,2)是数组b 的第五个元素,故可以记为:b(5),同理,b(1,2) 可以记为b(2),b(2,1)可以记为b(4) 五、数组的引用
程序实例(算文本框中输入的个数的最大值、最小值 和平均值) ?计算 回区 45 5日 34 12 4 24B 最大值为: 十算 最小值为: 12 平均值为: 177.50口 退出
程序实例(计算文本框中输入的8个数的最大值、最小值 和平均值 )
维数组 【例7-2】在列表框中输出九九乘法表 密九丸乘法表 口[x 4 24 4〕481218 5〕51015202! 〕61218243036 7〕7142128554249 6〕816243244856日4 9〕918273455437281
二维数组 【例7-2】在列表框中输出九九乘法表
六、数组的处理 l数组的重新定义和释放 重新定义数组 重新定义数组是指重新设置数组的维数和维长,即改变数组的 维数和大小。 重新定义数组的语法格式为: DIMENSION(N1,N2])[数组名>(K1[,K2]) 释放数组 释放数组是指从内存中释放数组变量。 语法格式为: RELEASE 如 dIMenSION a(8),b(2,3)&&定义私有数组 RELEaSE a b &&释放数组a,b
1 数组的重新定义和释放 重新定义数组 重新定义数组 是指重新设置数组的维数和维长,即改变数组的 维数和大小。 重新定义数组的语法格式为: DIMENSION (N1[,N2])[,(K1[,K2]) ……] 释放数组 释放数组 是指从内存中释放数组变量。 语法格式为: RELEASE | 如: DIMENSION a (8), b (2, 3) && 定义私有数组 RELEASE a, b && 释放数组a,b 六、数组的处理