第一章 PDP-11 FORTRAN-77导论 1
1.1 语言概述 1
1.2 程序元素 2
1.2.1 语句 2
1.2.2 注释 3
1.2.3 字符集 3
1.3 FORTRAN行的格式 3
1.3.1 字符-列格式 4
1.3.2 跳格字符格式 5
1.3.3 句标号字段 5
1.3.3.1 注释指示符 5
1.3.3.2 调试语句指示符 6
1.3.4 续行字段 6
1.3.5 语句字段 6
1.3.6 序号字段 6
1.4 程序单元结构 6
1.5 INCLUDE语句 7
第二章 语句成分 9
2.1 符号名 9
2.2 数据类型 10
2.3 常数 11
2.3.1 整型常数 11
2.3.2 实型常数 12
2.3 3 双精度型常数 13
2.3.4 复数型常数 13
2.3.5 八进制和十六进制常数 14
2.3.6 逻辑型常数 15
2.3.7 字符常数 15
2.3.8 何内斯常数 16
2.4 变量 17
2.4.1 显式的数据类型 17
2.4.2 隐含的数据类型 18
2.5 数组 18
2 5.1 数组说明符 19
2 5.2 数组下标 20
2.5.3 数组存储 20
2 5.4 数组的数据类型 20
2 5.5 无下标数组的引用 21
2.5.6 可调数组 21
2.6 字符子串 21
2.7 表达式 22
2.7.1 算术表达式 22
2.7.1.1 括号的应用 23
2.7.1.2 算术表达式的数据类型 24
2.7.2 字符表达式 25
2.7.3 关系表达式 25
2.7.4 逻辑表达式 26
第三章 赋值语句 29
3.1 算术赋值语句 29
3.2 逻辑赋值语句 30
3.3 字符赋值语句 31
3.4 标号赋值语句 31
第四章 控制语句 33
4.1 GO TO语句 33
4.1.1 无条件GO TO语句 33
4.1.2 运算GO TO语句 34
4.1.3 赋值GO TO语句 34
4.2 IF语句 35
4.2.1 算术IF语句 35
4.2.2 逻辑IF语句 35
4.2.3 语句块IF语句 36
4.2.3.1 语句块 38
4.2.3.2 语句块IF语句举例 38
4.2.3.3 嵌套语句块IF语句结构 39
4.3 DO 语句 40
4.3.1 DO的迭代控制 40
4.3.2 嵌套DO循环 41
4.3.3 DO循环中的控制转移 41
4.3.4 扩充域 41
4.4 CONTINUE语句 42
4.5 CALL语句 43
4.6 RETURN语句 43
4.7 PAUSE语句 44
4.8 STOP语句 44
4.9 END语句 45
第五章 说明语句 46
5.1 IMPLICIT语句 46
5.2 类型说明语句 47
5.2.1 数字类型说明语句 47
5.2.2 字符类型说明语句 48
5.3 DIMENSION语句 49
5.4 COMMON语句 49
5.5 VIRTUAL语句 51
5.5.1 虚拟数组应用的限制 52
5.5.2 在子程序中虚拟数组的引用 53
5.6 EQUIVALENCE语句 54
5.6.1 设置数组等价 55
5.6.2 设置字符子串等价 56
5.6.3 扩充公用块 58
5.7 SAVE语句 58
5.8 EXTERNAL语句 59
5.9 INTRINSIC语句 60
5.10 DATA语句 61
5.11 PARAMETER语句 62
5.12 PROGRAM语句 63
5.13 BLOCK DATA语句 63
第六章 子程序 65
6.1 子程序变元 65
6.1.1 子程序变元的规则 65
6.1.2 可调数组 66
6.1.3 虚设维数大小的哑元数组 68
6.2 用户书写的子程序 68
6.2.1 语句函数 69
6.2.2 函数子程序 70
6.2.3 子例子程序 71
6.2.4 ENTRY语句 73
6.2.4.1 函数子程序中的ENTRY 73
6.2.4.2 子例子程序的ENTRY 74
6.3 内部函数和其他的库函数 75
6.3.1 内部函数引用 75
6.3.2 类函数引用 75
6.3.3 内部函数和类函数的使用 76
6.3.4 字符库函数和词法比较库函数 78
第七章 输入输出语句 80
7.1 I/O概述 81
7.1.1 记录 81
7.1.2 文件 81
7.1.2.1 顺序结构 81
7.1.2.2 相对结构 82
7.1.2.3 索引结构 82
7.1.3 内部文件 82
7.1.4 存取方式 82
7.1.4.1 顺序存取 82
7.1.4.2 直接存取 83
7.1.4.3 索引键存取 83
7.2 I/O 语句成分 83
7.2.1 控制表 83
7.2.1.1 逻辑设备区分符 84
7.2.1.2 内部文件区分符 84
7.2.1.3 格式区分符 84
7.2.1.4 记录区分符 85
7.2.1.5 索引键区分符 85
7.2.1.6 控制转移区分符 87
7.2.2 I/O表 87
7.2.2.1 简单表 88
7.2.2.2 隐DO表 88
7.3 语法规则 89
7.4 READ语句 90
7.4.1 顺序READ语句 90
7.4.1.1 格式顺序READ语句 90
7.4.1.2 表控READ语句 90
7.4.1.3 无格式顺序READ语句 92
7.4.2 直接存取READ语句 93
7.4.2.1 格式直接存取READ语句 93
7.4.2.2 无格式直接存取READ语句 93
7.4.3 索引READ语句 94
7.4.3.1 格式索引READ语句 94
7.4.3.2 无格式索引READ语句 95
7.4.4 内部READ语句 95
7.5 WRITE语句 96
7.5.1 顺序WRITE语句 97
7.5.1.1 格式顺序WRITE语句 97
7 5.1.2 表控WRITE语句 98
7.5.1.3 无格式顺序WRITE语句 99
7.5.2 直接存取WRITE语句 99
7.5.2.1 格式直接存取WRITE语句 99
7.5.2.2 无格式直接存取WRITE语句 99
7.5.3 索引WRITE语句 100
7.5.3.1 格式索引WRITE语句 100
7.5.3.2 无格式索引WRITE语句 100
7.5.4 内部WRITE语句 101
7.6 REWRITE语句 101
7.6.1 索引REWRITE语句 101
7.6.1.1 格式索引REWRITE语句 102
7.6.1.2 无格式索引REWRITE语句 102
7.7 ACCEPT语句 102
7.8 TYPE和PRINT语句 103
第八章 FORMAT语句 105
8.1 字段和编辑描述符 106
8.1.1 BN编辑描述符 107
8.1.2 BZ编辑描述符 107
8.1.3 SP编辑描述符 107
8.1.4 SS编辑描述符 107
8.1.5 S编辑描述符 107
8.1.6 I字段描述符 107
8.1.7 O字段描述符 108
8.1.8 Z字段描述符 108
8.1.9 F字段描述符 109
8.1.10 E字段描述符 110
8.1.11 D字段描述符 112
8.1.12 G字段描述符 112
8.1.13 L字段描述符 113
8.1.14 A字段描述符 114
8.1.15 H字段描述符 115
8.1.16 X编辑描述符 116
8.1.17 T编辑描述符 116
8.1.18 TL编辑描述符 117
8.1.19 TR编辑描述符 117
8.1.20 Q编辑描述符 117
8.1.21 $编辑描述符 118
8.1.22 :编辑描述符 118
8.1.23 比例因子 118
8.1.24 复数型数据编辑 120
8.1.25 重复计数与组重复计数 120
8.1.26 缺省字段描述符 120
8.2 变量格式表达式 121
8.3 托架控制字符 122
8.4 格式说明分隔符 123
8.5 外部字段分隔符 124
8.6 运行时间格式 124
8.7 I/O表与格式控制的交互 125
8.8 FORMAT语句的规则汇总 126
8.8.1 一般规则 126
8.8.2 输入规则 127
8.8.3 输出规则 128
第九章 辅助输入输出语句 129
9.1 OPEN语句 129
9.1.1 ACCESS 133
9.1.2 ASSOCIATEVARIABLE 133
9.1.3 BLANK 134
9.1.4 BLOCKSIZE 134
9.1.5 BUFFERCOUNT 134
9.1.6 CARRIAGECONTROL 134
9.1.7 DISPOSE 135
9.1.8 ERR 135
9.1.9 EXTENDSIZE 135
9.1.10 FILE 135
9.1.11 FORM 136
9.1.12 INITIALSIZE 136
9.1.13 KEY 136
9.1.14 MAXREC 137
9.1.15 NAME 137
9.1.16 NOSPANBLOCKS 137
9.1.17 ORGANIZATION 137
9.1.18 READONLY 137
9.1.19 RECL 138
9.1.20 RECORDSIZE 138
9.1.21 RECORDTYPE 138
9.1.22 SHARED 139
9.1.23 STATUS 139
9.1.24 TYPE 139
9.1.25 UNIT 139
9.1.26 USEROPEN 139
9.2 CLOSE语句 140
9.3 REWIND语句 140
9.4 BACKSPACE语句 141
9.5 DELETE语句 141
9.5.1 顺序DELETE语句 142
9.5.2 直接DELETE语句 142
9.6 UNLOCK语句 142
9.7 ENDFILE语句 143
附录A 辅助的语言元素 145
A.1 ENCODE和DECODE语句 145
A.2 DEFINE FILE语句 146
A.3 FIND语句 147
A.4 RARAMETER语句 147
A.5 整型常数的八进制形式 148
A.6 EXTERNAL语句的/NOF77翻译 149
附录B 字符集 151
B.1 FORTRAN字符集 151
B.2 ASCII码字符集 151
B.3 RADIX-50常数与字符集 153
附录C 语言汇总 154
C.1 表达式运算符 154
C.2 语句 154
C.3 库函数 166
索引 172
图1-1 FORMAT编码形式 4
图1-2 行格式举例 5
图1-3 语句和语句行的次序 7
图2-1 数组存储 21
图4-1 语句块IF结构举例 37
图4-2 嵌套DO循环 42
图4-3 控制转移和扩充域 42
图5-1 数组存储的等价关系 55
图5-2 多个下标数组的等价关系 56
图5-3 字符子串的等价关系 56
图5-4 字符数组的等价关系 57
图6-1 函数子程序中的多重函数 74
图6-2 多重函数名的用法 78
图8-1 变量格式表达式举例 122
表2-1 符号名的实体标识 10
表2-2 数据类型的存储要求 11
表2-3 指数数据类型 23
表3-1 赋值语句数据转换规则 30
表6-1 用户书写的子程序类型 69
表6-2 类函数名汇总 76
表7-1 各种I/O语句 81
表7-2 各种文件结构的存取方式 83
表7-3 表控输出格式 98
表8-1 G格式对数据量级的影响 113
表8-2 缺省字段宽度 121
表8-3 托架控制字符 123
表8-4 FORMAT代码汇总表 128
表9-1 OPEN 语句关键字的值 131
表9-2 ACCESS值和文件结构的合理组合 133
表9-3 ORGANIZATION关键字的存取方式 137
表B-1 ASCII字符集 152
表C-1 表达式运算符 154
表C-2 类函数与内部函数 166