第1章 Fortran 95概述 1
1.1程序设计与程序设计语言 1
1.2 FORTRAN语言发展简史 2
1.3 Fortran 95语言的特点 3
1.4程序设计引例 4
1.5 Fortran 95编译环境与上机步骤 7
1.5.1 Compaq Visual Fortran 6.5的安装与启动 7
1.5.2上机步骤 7
习题1 17
第2章 Fortran 95程序设计基础 18
2.1 Fortran 95的字符集、标识符和关键字 18
2.1.1字符集 18
2.1.2标识符 19
2.1.3关键字 19
2.2 Fortran 95程序的书写格式 19
2.2.1固定格式 20
2.2.2自由格式 20
2.3 Fortran 95的数据类型 21
2.3.1数值型数据的表示及存储 21
2.3.2非数值型数据的表示及存储 22
2.4常量和变量 23
2.4.1常量 23
2.4.2变量 28
2.5 Fortran 95的算术运算符与算术表达式 31
2.5.1算术运算符 32
2.5.2算术表达式 32
2.6 Fortran 95标准函数 33
习题2 36
第3章 顺序结构程序设计 37
3.1赋值语句 38
3.2输入和输出语句 40
3.2.1表控输出输入 41
3.2.2格式化输出输入 43
3.3 end语句、stop语句和pause语句 48
3.3.1 end语句 48
3.3.2 stop语句 49
3.3.3 pause语句 49
3.4程序举例 49
习题3 52
第4章 选择结构程序设计 54
4.1关系运算符和关系表达式 54
4.1.1关系运算符 54
4.1.2关系表达式 55
4.2逻辑运算符和逻辑表达式 56
4.2.1逻辑运算符 56
4.2.2逻辑表达式 57
4.3逻辑if语句 57
4.4块if结构 59
4.4.1单分支选择块if结构 59
4.4.2双分支选择块if结构 61
4.4.3多分支选择块if结构 62
4.5块if结构的嵌套 64
4.6块case结构 65
4.7程序举例 67
习题4 72
第5章 循环结构程序设计 75
5.1 do循环结构 75
5.1.1 do循环结构的组成 76
5.1.2 do循环结构的执行过程 76
5.1.3 do循环结构嵌套 79
5.1.4隐含do循环结构 80
5.2 do while循环结构 84
5.2.1 do while循环结构的组成 84
5.2.2 do while循环结构的执行过程 84
5.3循环的流程控制 87
5.3.1 exit语句 87
5.3.2 cycle语句 88
5.4程序举例 88
习题5 93
第6章 数组 96
6.1数组的概念 97
6.2数组的定义 98
6.2.1用dimension语句定义数组 98
6.2.2用类型说明语句定义数组 99
6.2.3同时使用dimension语句和类型说明语句定义数组 99
6.3给数组赋初值 99
6.3.1使用数组赋值符赋初值 99
6.3.2用data语句给数组赋初值 100
6.4对数组的操作 101
6.4.1对数组元素的操作 101
6.4.2数组的整体操作 101
6.4.3数组局部引用 102
6.4.4 where命令 103
6.4.5 forall命令 104
6.5数组的保存规则 106
6.5.1一维数组的保存规则 106
6.5.2二维数组的保存规则 106
6.5.3三维数组的保存规则 107
6.6数组的输入和输出 107
6.6.1用do循环结构输入输出数组 107
6.6.2用隐含do循环输入输出数组 109
6.6.3用数组名作为输入输出项 111
6.7动态数组 112
6.8数组应用举例 113
6.8.1一维数组程序举例 113
6.8.2二维数组程序举例 123
习题6 126
第7章 函数与子程序 128
7.1语句函数 129
7.1.1语句函数的定义 130
7.1.2语句函数的调用 133
7.1.3语句函数应用举例 133
7.2函数子程序 135
7.2.1函数子程序的定义 137
7.2.2函数子程序的调用 137
7.3子例行程序 139
7.3.1子例行程序的定义 140
7.3.2子例行程序的调用 140
7.4程序单元之间的数据传递:虚实结合 143
7.4.1简单变量作为虚参时的虚实结合 143
7.4.2数组作为虚参时的虚实结合 145
7.4.3子程序名作为虚参时的虚实结合 149
7.4.4星号(*)作为虚参 150
7.4.5子程序中变量的生存周期 151
7.5特殊的子程序类型 152
7.5.1递归子程序 152
7.5.2内部子程序 155
7.6数据共用存储单元与数据块子程序 156
7.6.1等价语句 156
7.6.2公用语句 158
7.6.3数据块子程序 163
习题7 164
第8章 文件 167
8.1文件的基本概念 167
8.1.1记录 167
8.1.2文件的概念 168
8.1.3文件的特性 168
8.1.4文件的定位 170
8.2文件的操作语句 170
8.2.1文件的打开与关闭 170
8.2.2文件的输入语句和输出语句 174
8.2.3查询文件的状态语句 175
8.2.4 rewind语句 177
8.2.5 backspace语句 177
8.2.6 endfiie语句 177
8.3.有格式文件的存取 177
8.3.1有格式顺序文件存取 177
8.3.2有格式直接文件存取 178
8.4无格式文件的存取 181
8.4.1无格式顺序文件存取 181
8.4.2无格式直接文件存取 182
8.5二进制文件的存取 183
8.5.1二进制顺序文件存取 183
8.5.2二进制直接文件存取 184
习题8 185
第9章 派生类型与结构体 188
9.1派生类型定义 188
9.2结构体的定义与引用 189
9.2.1结构体定义 189
9.2.2结构体成员引用 190
9.3结构体初始化 191
9.3.1用赋值语句给结构体成员赋值 191
9.3.2定义的同时给结构体成员赋值 192
9.4结构体数组 193
9.4.1结构体数组定义 193
9.4.2结构体数组初始化 193
9.5程序举例 194
习题9 197
第10章 指针 199
10.1指针的概念 199
10.2指针的定义 200
10.3指针的使用 201
10.3.1指向一般变量的应用 201
10.3.2指向动态存储空间 203
10.4指针与数组 205
10.4.1指针指向其他数组 205
10.4.2指针指向动态配置的内存空间 208
10.5指针与链表 209
10.5.1结点的定义 210
10.5.2链表的基本操作 211
10.5.3综合实例 216
习题10 220
第11章 模块 223
11.1模块的定义 224
11.2 use语句 225
11.3接口界面块 229
11.4超载 231
11.4.1函数和子例行程序的超载 231
11.4.2赋值号超载 235
11.4.3操作符超载 237
11.5模块的应用举例 238
习题11 244
第12章 常用数值算法 245
12.1求解一元方程 245
12.1.1二分法 245
12.1.2弦截法 247
12.1.3迭代法 249
12.1.4牛顿迭代法 250
12.2数值积分 252
12.2.1矩形法 252
12.2.2梯形法 254
12.2.3辛普生法 257
12.3线性代数 260
12.3.1矩阵的加、减、乘法运算 260
12.3.2三角矩阵 261
12.3.3 Gauss-Jordan法求联立方程组 264
习题12 267
附录A ASCⅡ码字符编码 268
附录B FORTRAN库函数 270
参考文献 277