第一章 Fortran 90和Visual Fortran的开发环境 1
1.1 Fortran 90的新特性 2
1.2 Digital Visual Fortran 6.0系统的安装 3
1.3 集成开发环境的初步接触 6
1.3.1 启动Developer Studio 6
1.3.2 新建文件并编辑 6
1.3.3 保存新文件 8
1.3.4 编译和连接文件 8
1.4 Developer Studio的集成开发环境 9
1.3.5 运行程序和退出Developer Studio 9
1.4.1 Developer Studio主窗口 10
1.4.2 Developer Studio工具栏 10
1.4.3 Developer Studio菜单栏 12
1.5 修改、调试磁盘上已存在的Fortran 90源程序文件 19
1.6 项目和项目工作区 19
1.6.1 项目 19
1.6.2 项目工作区 20
1.6.3 创建应用程序的项目 20
1.7 几个简单的Fortran 90程序 23
1.7.1 第一个实例的分析 23
1.7.2 另一个Fortran 90程序的详解 24
1.7.3 一个简单Fortran 90程序的结构 26
第二章 数据和Fortran 90 28
2.1 程序示例 28
2.2 常量与变量数据 29
2.2.1 整型数据 30
2.2.2 实型数据 32
2.2.3 复型数据 33
2.2.4 字符型数据 34
2.2.6 派生数据类型 35
2.2.5 逻辑型数据 35
2.2.7 标志符命名规则 36
2.3 与数据有关的概念 37
2.3.1 Fortran 90字符集 37
2.3.2 种别参数 38
2.3.3 隐含类型 39
2.3.4 属性说明 39
2.4 基本语句 40
2.4.1 类型说明语句 40
2.4.2 赋值语句 41
2.4.3 输入与输出语句 42
2.5 运算符与表达式 50
2.5.1 算术表达式和算术运算符 51
2.5.2 内部函数 53
2.5.3 关系表达式与关系运算符 54
2.5.4 逻辑表达式与逻辑运算符 55
2.6 应用举例 56
第三章 控制结构 60
3.1 if结构 60
3.1.1 程序示例 60
3.1.2 if结构的格式 62
3.1.3 if结构中块的缺省及if结构的嵌套 64
3.1.4 逻辑if语句 67
3.2 select case结构 68
3.3 do结构 71
3.3.1 程序示例 71
3.3.2 do while结构 72
3.3.3 不带循环变量的do结构 75
3.3.4 带循环变量的do结构 77
3.3.5 循环结构的嵌套 81
3.3.6 隐含的do结构 83
3.4 应用举例 84
4.1 程序示例 94
第四章 数组 94
4.2 数组的相关概念和一维数组 96
4.2.1 数组的相关概念 96
4.2.2 一维数组的说明和引用 96
4.3 二维数组和多维数组 101
4.3.1 二维数组的说明 102
4.3.2 二维数组的使用和存储方式 102
4.3.3 多维数组 105
4.4 数组片段和向量下标 105
4.5 数组构造器 108
4.6 数组运算 109
4.6.1 数组赋值 110
4.6.2 数组表达式 111
4.7 数组的分类 113
4.7.1 常数组 114
4.7.2 可调数组 114
4.7.3 假定形状数组 114
4.7.4 动态数组 115
4.8 有关数组的常用内部函数 117
4.9 where语句和where结构 122
5.1 程序示例 125
第五章 过程与参数 125
5.2 程序单元及过程的有关概念 127
5.3 函数子程序 128
5.3.1 函数子程序的定义 129
5.3.2 函数子程序的调用 131
5.4 子例子程序 132
5.5 contains语句和内部过程 134
5.5.1 contains语句和内部过程 134
5.5.2 变量的作用域 135
5.6 形参数组 137
5.7 接口块 138
5.8 关键字参数 140
5.9 可选参数 141
5.10 形参改名 142
5.11 过程的嵌套 143
5.12 过程作为形参 145
5.13 可调数组作为形参 147
5.14 假定形状数组作为形参 149
5.15 递归过程 152
5.16 程序举例 156
6.1 程序示例 163
第六章 字符处理 163
6.2 字符型数据 164
6.3 字符赋值语句 165
6.4 字符子串及其引用 166
6.5 字符串连接和字符关系表达式 168
6.6 字符数据的输入和输出 168
6.6.1 表控格式的输入、输出 168
6.6.2 字符型数据自定格式的输入、输出 169
6.7 字符数组 171
6.8 有关字符处理的内部函数 172
6.9 字符数据作为过程参数 176
第七章 模块与接口 182
7.1 模块的定义 182
7.2 模块的引用 183
7.2.1 use语句 183
7.2.2 only子句和引用变量改名 186
7.2.3 private属性和public属性 186
7.3 类属过程 187
7.4 超载运算符 191
7.5 自定义的运算符 192
7.6 超载赋值号 194
7.7 超载固有函数 196
第八章 派生类型 198
8.1 程序示例 198
8.2 派生类型的定义 199
8.3 派生类型变量的声明和引用 200
8.4 派生类型的结构构造函数 201
8.5 派生类型数组 202
8.6 派生类型的嵌套结构 204
8.7 定义派生类型的运算 205
8.7.1 派生类型的超载赋值 205
8.7.2 定义派生类型的运算符 207
第九章 指针与链表 210
9.1 指针变量 210
9.2 与指针相关的函数和语句 213
9.2.1 动态存储分配:allocate语句和deallocate语句 213
9.2.2 nullify语句 215
9.2.3 内部函数associated 215
9.2.4 悬空指针和无法访问的内存 216
9.3 链表 218
9.3.1 链表的插入和建立 219
9.3.3 链表结点的删除 221
9.3.2 链表的遍历 221
9.3.4 链表的综合操作 222
第十章 文件 224
10.1 文件与记录、逻辑设备 224
10.1.1 文件与记录 224
10.1.2 文件与逻辑设备 225
10.1.3 外部文件与open语句、close语句 226
10.1.4 内部文件 230
10.2 数据传输语句 231
10.2.1 控制信息表 231
10.2.2 格式说明 233
10.3 外部文件的分类 236
10.3.1 有格式的顺序文件 236
10.3.2 有格式的直接文件 236
10.3.3 无格式顺序文件 238
10.3.4 无格式直接文件 239
10.4 与文件有关的其他语句 241
10.4.1 rewind语句 241
10.4.2 backspace语句 241
10.4.3 endfile语句 242
10.4.4 inquire语句 242
参考文献 246