1.用类型语句定义数组 6 如 real ia(1:10),W(1:3,1:2) integer a(0:2,0:1,0:3) ()数组名后一对小括号中包含的是维说明符,多个维 说明符时用逗号隔开。 具有一个维说明符的数组为一维数组,具有两个维说明 符的数组为二维数组,…。通常我们将二维及二维以上 的数组称为多维数组。 (2)每个维说明符规定了本维中下标的下界和上界,下 界和上界之间用冒号隔开。 (3)下标下界和上界必须是整型常量或整型常量表达式, 且上界≥下界。 §1数组的说明和数组元素的引用 2021/2/24
6 2021/2/24 1. 用类型语句定义数组 如: ⑴ 数组名后一对小括号中包含的是维说明符,多个维 说明符时用逗号隔开。 具有一个维说明符的数组为一维数组,具有两个维说明 符的数组为二维数组,… 。通常我们将二维及二维以上 的数组称为多维数组。 ⑵ 每个维说明符规定了本维中下标的下界和上界,下 界和上界之间用冒号隔开。 ⑶ 下标下界和上界必须是整型常量或整型常量表达式, 且上界≥下界。 real ia(1:10), w(1:3, 1:2) integer a(0:2, 0:1, 0:3) §1 数组的说明和数组元素的引用
sn: parameter(low=1, ihig=9) 7 real ia (low: ihig+1) integer n 不允许定义可变长度的 read " " )n 数组。 real ia(1: n) (4)当下标下界为1时可以省略不写。 real ia(1:10),W(1:3,1:2) real ia(10),W(3,2) (5)数组定义包括变量定义必须放在可执行语句之前。 如 x=10 real ia(1: 10 §1数组的说明和数组元素的引用 2021/2/24
7 2021/2/24 如: ⑷ 当下标下界为1时可以省略不写。 ⑸ 数组定义(包括变量定义)必须放在可执行语句之前。 如: parameter (low=1, ihig=9) real ia(low: ihig+1) integer n read(* , *) n real ia(1: n) real ia(1:10), w(1:3, 1:2) §1 数组的说明和数组元素的引用 real ia(10), w(3, 2) 不允许定义可变长度的 数组。 x=1.0 real ia(1: 10) × ×
2.用 dimension语句定义数组 8 如: dimension ia(1:10,w(1:3,1:2),a(0:2,0:1,0:3) (1)若仅有 dimension语句,数组的类型根据数组名首 字母的隐式N规则确定。 (2)显式类型说明:由 dimension语句与类型说明语句 配合进行(由 dimension语句定义数组,由类型说明语句 对数组名的类型进行显式说明)。 : dimension ia(1:10),w(1:3,1:2),a(0:2,0:1,0:3) integer a real ia, w §1数组的说明和数组元素的引用 2021/2/24
8 2021/2/24 2. 用dimension语句定义数组 如: ⑴ 若仅有dimension语句,数组的类型根据数组名首 字母的隐式I-N规则确定。 ⑵ 显式类型说明:由dimension语句与类型说明语句 配合进行(由dimension语句定义数组,由类型说明语句 对数组名的类型进行显式说明)。 如: dimension ia(1:10), w(1:3, 1:2), a(0:2, 0:1, 0:3) dimension ia(1:10), w(1:3, 1:2), a(0:2, 0:1, 0:3) integer a real ia, w §1 数组的说明和数组元素的引用
二、数组元素的引用 9 数组元素使用的一般邢式: 数组名(下标1,下标2) 如 integer a(10) do10,=1,10 a()=0.0 10 continue ()标准 Fortran77中,除了在输入和输出语句 中外,其它场合不允许对数组进行整体操作,只 能对数组元素逐个进行操作。 §1数组的说明和数组元素的引用 2021/2/24
9 2021/2/24 二、数组元素的引用 数组元素使用的一般形式: 数组名(下标1, 下标2…) 如: ⑴ 标准Fortran77中,除了在输入和输出语句 中外,其它场合不允许对数组进行整体操作,只 能对数组元素逐个进行操作。 integer a(10) do 10, i=1, 10 a(i)=0.0 10 continue §1 数组的说明和数组元素的引用
10 (2)数组元素的下标允许是任意算术表达式,如 果表达式的类型为非整型时则自动取整。 (3)数组元素的下标值必须落在该维的上界和下 界之内,即满足:下界≤下标≤上界。 对于下标越界,大部分 Fortran系统在编译和连 接时都不会报错,程序都会执行,但其结果会有 问题。因吡,对于数组运算,尤其是采用循环时, 对于下标的范围要注意控制。 §1数组的说明和数组元素的引用 2021/2/24
10 2021/2/24 ⑵ 数组元素的下标允许是任意算术表达式,如 果表达式的类型为非整型时则自动取整。 ⑶ 数组元素的下标值必须落在该维的上界和下 界之内,即满足:下界≤下标≤上界。 对于下标越界,大部分Fortran系统在编译和连 接时都不会报错,程序都会执行,但其结果会有 问题。因此,对于数组运算,尤其是采用循环时, 对于下标的范围要注意控制。 §1 数组的说明和数组元素的引用