第1章 程序设计概述 1
1.1 程序设计语言 1
1.1.1 程序设计语言分类 1
1.1.2 程序设计语言概念 3
1.1.3 程序设计语言形式化描述 3
1.2 程序和程序设计 4
1.2.1 程序 4
1.2.2 程序设计 5
1.2.3 程序设计步骤 5
1.3 算法的基本概念和特征 6
1.3.1 算法含义 6
1.3.2 算法特征 6
1.3.3 算法评价标准 6
1.3.4 算法描述 7
1.4 程序设计方法 11
1.4.1 模块化程序设计方法 11
1.4.2 结构化程序设计方法 11
1.4.3 面向对象程序设计方法 12
习题1 12
第2章 FORTRAN 90软件开发环境 14
2.1 FORTRAN语言发展概述 14
2.2 FORTRAN 90的主要特征 14
2.3 Digital Visual FORTRAN 5.0的主要特性 16
2.4 Digital Visual FORTRAN 5.0软硬件配置和安装 17
2.5 Microsoft Developer Studio开发环境概述 18
2.5.1 Microsoft Developer Studio简介 18
2.5.2 工作空间(Workspace)和项目(Project) 18
2.5.3 启动Microsoft Developer Studio 19
2.5.4 Microsoft Developer Studio主窗口说明 19
2.6 Microsoft Developer Studio解题过程 25
2.6.1 前期准备工作 25
2.6.2 创建工作空间 26
2.6.3 创建项目 27
2.6.4 创建源程序文件 28
2.6.5 创建辅助文档文件 29
2.6.6 编译源程序文件 31
2.6.7 构建可执行程序文件 32
2.6.8 运行程序 33
2.6.9 调试程序 34
2.6.10 程序多区域显示 37
习题2 38
第3章 FORTRAN 90基础知识 40
3.1 字符集 40
3.2 名称 40
3.3 关键字 41
3.4 程序单元 41
3.5 语句 43
3.6 程序书写格式 44
3.7 数据类型 45
习题3 47
第4章 内部数据类型与顺序结构程序设计 49
4.1 常量 50
4.1.1 整型常量 50
4.1.2 实型常量 51
4.1.3 复型常量 54
4.1.4 字符型常量 55
4.1.5 逻辑型常量 56
4.2 变量 56
4.2.1 变量名称 56
4.2.2 变量类型 57
4.2.3 整型变量 58
4.2.4 实型变量 59
4.2.5 复型变量 60
4.2.6 字符型变量 61
4.2.7 逻辑型变量 62
4.3 表达式 63
4.3.1 算术表达式 63
4.3.2 字符表达式 65
4.3.3 关系表达式 66
4.3.4 逻辑表达式 67
4.3.5 表达式运算的误差问题及其解决办法 69
4.4 赋值语句 70
4.4.1 算术赋值语句 70
4.4.2 字符赋值语句 71
4.4.3 逻辑赋值语句 72
4.5 表控输入输出语句 72
4.5.1 表控输入语句 73
4.5.2 表控输出语句 75
4.6 参数语句(PARAMETER语句) 78
4.7 函数 79
4.8 END语句、STOP语句和PAUSE语句 81
4.8.1 END语句 81
4.8.2 STOP语句 82
4.8.3 PAUSE语句 82
4.9 简单顺序程序设计举例 82
习题4 85
第5章 数据有格式输入输出 89
5.1 概述 89
5.2 格式说明与格式编辑符 89
5.3 整数有格式输入输出 92
5.4 实数有格式输入输出 94
5.4.1 小数型实数有格式输入输出 94
5.4.2 指数型实数有格式输入输出 97
5.4.3 双精度型实数有格式输入输出 99
5.5 复数有格式输入输出 99
5.6 字符串有格式输入输出 100
5.6.1 A编辑符 100
5.6.2 字符串编辑符 102
5.7 逻辑值有格式输入输出 102
5.8 二、八、十六进制数据有格式输入输出 103
5.8.1 数据的二进制编码表示 103
5.8.2 二、八、十六进制数据有格式输入输出 106
5.9 不可重复编辑符 108
5.9.1 X编辑符 108
5.9.2 /编辑符 109
5.9.3 \编辑符 110
5.9.4 T、TL、TR编辑符 111
5.9.5 :编辑符 111
5.9.6 Q编辑符 112
5.10 纵向走纸控制 112
5.11 输入输出表与格式说明表的相互关系 114
5.12 有格式输入输出应用举例 117
习题5 118
第6章 选择结构程序设计 122
6.1 概述 122
6.2 逻辑IF语句 123
6.3 块IF语句 124
6.3.1 基本块IF语句 124
6.3.2 多分支块IF语句 127
6.3.3 嵌套的块IF语句 131
6.3.4 块CASE选择结构 132
6.4 选择结构程序设计举例 134
习题6 137
第7章 循环结构程序设计 139
7.1 循环结构概述 139
7.1.1 循环及循环结构 139
7.1.2 循环结构分类 141
7.2 用DO循环语句实现“计数型”循环 143
7.2.1 DO循环语句 143
7.2.2 DO循环语句的执行过程 145
7.3 用DO WHILE循环语句实现循环 147
7.3.1 DO WHILE循环语句 147
7.3.2 DO WHILE循环语句的执行过程 148
7.4 强制性终止循环过程(EXIT、CYCLE) 149
7.5 特殊DO循环语句与EXIT语句 150
7.6 循环嵌套 151
7.7 循环结构程序设计举例 153
习题7 160
第8章 数组 162
8.1 概述 162
8.2 数组声明 164
8.2.1 用类型声明语句进行数组声明 164
8.2.2 用DIMENSION语句进行数组声明 166
8.2.3 用类型声明语句和DIMENSION属性进行数组声明 166
8.3 数组元素引用 167
8.4 数组的逻辑结构和存储结构 170
8.5 数组的输入输出 173
8.5.1 使用DO循环语句输入输出数组 173
8.5.2 使用隐含DO循环子句输入输出数组 175
8.5.3 使用数组名或数组片段输入输出数组 177
8.6 给数组赋初值 178
8.6.1 通过数组构造器给数组赋初值 178
8.6.2 通过DATA语句给数组赋初值 179
8.7 WHERE语句 180
8.7.1 逻辑WHERE语句 180
8.7.2 块WHERE语句 181
8.7.3 多分支WHERE语句 182
8.8 动态数组 184
8.9 数组应用举例 187
习题8 200
第9章 函数与子例行程序 203
9.1 概述 203
9.2 标准子程序 209
9.2.1 标准函数 209
9.2.2 标准子例行程序 210
9.3 语句函数 212
9.4 内部子程序 217
9.4.1 内部函数子程序 217
9.4.2 内部子例行程序 223
9.5 子程序形参与实参之间的数据传递关系 227
9.5.1 变量作形式参数 228
9.5.2 数组作形式参数 229
9.5.3 可调数组名作形式参数 232
9.5.4 假定大小数组作形式参数 234
9.5.5 假定形状数组作形式参数 235
9.5.6 子程序名作形式参数 236
9.5.7 星号作形式参数 241
9.5.8 形式参数与实在参数的结合关系 242
9.6 递归子程序 243
9.6.1 递归的定义 243
9.6.2 递归函数 243
9.6.3 递归子例行程序 244
9.7 外部子程序 245
习题9 251
第10章 派生类型与结构体 253
10.1 概述 253
10.2 派生类型定义 254
10.3 结构体声明 256
10.4 结构体成员引用 257
10.5 结构体的初始化 258
10.6 结构体数据的输入和输出 259
10.6.1 结构体数据输入 259
10.6.2 结构体数据输出 260
10.7 派生类型应用举例 261
习题10 265
第11章 指针与动态数据结构 267
11.1 概述 267
11.1.1 指针的存储结构和访问方式 267
11.1.2 指针声明 269
11.1.3 指针状态 270
11.2 指针引用和赋值 270
11.2.1 指针引用 270
11.2.2 指针赋值 271
11.2.3 结构体与指针 272
11.3 整型指针 273
11.4 与指针相关的函数和语句 274
11.4.1 置空语句:NULLIFY 274
11.4.2 链接测试函数:ASSOCIATED 275
11.4.3 动态存储分配语句:ALLOCATE和DEALLOCATE 275
11.5 指针数组 276
11.5.1 指针数组 276
11.5.2 指针数组作为函数返回值 277
11.6 动态链表 278
11.6.1 链表概念 278
11.6.2 创建和搜索链表 278
11.6.3 插入结点 280
11.6.4 删除结点 282
11.6.5 环形和双向链表 284
习题11 285
第12章 文件与设备 286
12.1 概述 286
12.2 物理设备和逻辑设备 288
12.3 文件 289
12.3.1 外部文件 290
12.3.2 内部文件 291
12.3.3 文件标识 292
12.4 外部文件分类 292
12.4.1 文件存储格式 292
12.4.2 文件存取方式 293
12.4.3 文件定位 295
12.5 文件基本操作 295
12.5.1 文件打开(OPEN) 295
12.5.2 文件关闭(CLOSE) 299
12.5.3 文件结束(ENDFILE) 300
12.5.4 文件输入(READ) 300
12.5.5 文件输出(WRITE) 304
12.5.6 文件查询(INQUIRE) 304
12.5.7 文件指针反绕(REWIND) 308
12.5.8 文件指针回退(BACKSPACE) 309
12.6 使用外部设备 309
12.7 文件的读写操作 310
12.7.1 有格式顺序存取文件读写操作 310
12.7.2 有格式直接存取文件读写操作 311
12.7.3 无格式顺序存取文件读写操作 313
12.7.4 无格式直接存取文件读写操作 314
12.7.5 二进制顺序存取文件读写操作 315
12.7.6 二进制直接存取文件读写操作 316
12.8 文件应用举例 317
习题12 321
第13章 接口与模块 322
13.1 接口界面块 322
13.2 模块 324
13.3 重载 329
13.3.1 子程序重载 329
13.3.2 操作符重载 331
13.3.3 赋值号重载 335
习题13 336
第14章 公用区和存储关联 338
14.1 公用区 338
14.1.1 COMMON语句 339
14.1.2 公用区特性和使用规则 340
14.1.3 有名公用区的作用 342
14.2 存储关联(等价) 343
14.2.1 EQUIVALENCE语句 344
14.2.2 EQUIVALENCE语句使用规则 344
14.3 数据块子程序 346
习题14 348
第15章 图形处理 350
15.1 图形处理概述 350
15.1.1 坐标系统 350
15.1.2 图形颜色 354
15.1.3 线型 355
15.1.4 填充样式 356
15.2 QuickWin绘图设计基础 357
15.3 设置QuickWin窗口 360
15.4 多窗口操作 362
15.5 常用绘图函数 366
15.5.1 绘制像素点 366
15.5.2 设置当前绘图点 367
15.5.3 绘制直线 367
15.5.4 绘制形状 368
15.6 文字信息的显示 374
15.7 图形应用实例 377
习题15 389
第16章 Visual Basic与FORTRAN 90的多语言混合编程 390
16.1 概述 390
16.1.1 动态链接库 390
16.1.2 动态链接库的优点 391
16.1.3 动态链接库的实现方法 391
16.2 Visual Basic与FORTRAN 90混合编程 391
16.2.1 Visual Basic与FORTRAN 90混合编程基础 391
16.2.2 Visual Basic与FORTRAN 90混合编程步骤 394
16.3 Visual Basic与FORTRAN 90混合编程应用 395
习题16 404
参考文献 405