' F\\
6 d: x, ^; u& l7 S$ @' Q
D, N5 V( V+ H' }% Z9 r数组的说明和数组元素的引用
! |8 u& G9 K3 v& @) v\0 Y6 y4 x& `. { \\
?
用类型语句说明数组
1.一般形式: 类型说明 数组说明符 2.其中:数组说明符的一般形式为:数组名(维数说明符,...)[维数说明符,由\下标下界:下标上界\组成
3.例如:REAL X(1:10),W(1:2,1:3),K(10:20)或者INTEGER B(1:100),PY(0:2,0:3,0:5) 用DIMENSION语句说明数组
1.一般形式:DIMENSION 数组说明符,... 说明:
1.在数组说明符中,维数说明符(下标)的个数成为数组的维数
2.维数说明符只能使用整型常量或者整型符号
?
?
常量表达式:如 PARANETER(I=1,J=10) REAL KX(I:J+5)
3.维数说明符的下标下界为1时,可以省略.如:REAL X(1:10)---->REAL X(10) 4.数组说明语句必须写在所有可执行的语句之前.[属于非执行语句]
?
数组元素的引用
1.一般形式:数组名(下标,...) 2.即要有确定的数组名和下标值,如XN(5),W(1,3),KW(1,2,3)
3.引用数组元素时,下标可用算术表达式,如果算术表达式的值为实行,则自动取整.
( ?* G. Y\
\i* d. e
/ o# ?- I2 B2 u) w# N5 Z数组的逻辑结构和存储结构
9 l5 {7 N9 t) |/ x& o
8 V* s5 x* x8 d( W\逻辑结构:数组所表示
的实际数据结构) ?4 U5 N# p5 E7 r0 m' @
存储结构:数组在机器内存储时的排列结构: N) z! w# s) a& y
0 i# k% b1 |) j& U6 p
?
一维数组
逻辑结构:依次排列的一串数据& ~ v! ^4 E4 T: W 存储结构:一组连续存放的一列数据块6 d* s\f$ ^3 {% ~
?
二维数组
逻辑结构:一张二维数据表+ y |7 K1 P8 y# n 存储结构:一组按列连续存放的数据块 ! @0 U$ o6 Y4 l0 y) f5 ~# B
?
三维数组
逻辑结构:若干张二维数据表
* H9 w6 e* z6 ] 存储结构:一组按页连续存放的数据块3 I$ x& P4 z8 q& @1 f+ N! a2 P
3 x0 L; ~2 b' L, V
4 W+ K: r\
# M\数组的输入和输出3 c, a' T9 K/ a; ~# Y/ M3 B
% }8 f+ e2 v6 L: K\三种方式:用DO循环\\用隐含DO循环\\用数组名: z6 F/ ^6 `$ @/ w* q
' u9 l8 f7 H4 |
?
用DO循环实现数组的输入输出 / U/ k- W- e' b- m
1.优点:数组元素的输入输出次序可由用户控制
2.缺点:做一次循环就换行输入或输出/ a0 d1 |- J- m
用隐含DO循环实现数组的输入输出 \
1.优点:既能控制数组元素的输入输出顺序,又能控制一行内输入输出数据的个数 2.例如:READ(*,*)
((G(I,J),J=1,3),I=1,2),由于是一个READ语句,所以既可以一行输入,也可以多行输
?
入,键盘输入如
下:86,75,72[enter]87,70,83[enter] 3.注意:一个READ语句可以多行输入;但是多个READ语句时,每一个READ语句必须从心的一行读数.8 Y O5 E- }- W\
' h, J( J, S\8 N- E2 c\用数据名进行数组的输入输出
4 h$ m5 l2 F4 y+ x' v- J3 O; J7 _, a% A7 u 使用时,其顺序要与数组元素在机器内的存储顺序一致
s) w6 c9 N8 W/ ^2 |% ^ 例如:
9 {9 p\- a2 n! |2 ~\对数组进行整体操纵
6 |9 X1 L' y. g5 z+ X0 t$ { W/ J$ { 等价于:READ*,K(1),K(2),K(3),K(4),K(5)
& D& Y( R% u4 }( ? 也等价于:READ*,(K(I),I=1,5)) A' r5 S% G\Z1 `& @+ D& h+ c