目录
程序设计基础--Fortran 95第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
习题117
第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
习题236
第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
习题352
程序设计基础--Fortran 95目录第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
习题472
第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
习题593
第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
习题6126
第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
习题7164
第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 endfi1e语句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
习题8185
第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
习题9197
第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
习题10220
第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
习题11244
第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
习题12267
附录A ASCII码字符编码268
附录B FORTRAN库函数270
参考文献277
