第1章程序设计概述 1
1.1程序设计语言 1
1.1.1程序设计语言分类 1
1.1.2程序设计语言概念 2
1.1.3程序设计语言形式化描述 3
1.2程序和程序设计 4
1.2.1程序 4
1.2.2程序设计 5
1.2.3程序设计步骤 5
1.3算法的基本概念和特性 5
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结构化程序设计方法 12
1.4.3面向对象程序设计方法 12
习题 112
第2章FORTRAN95软件开发环境 15
2.1FORTRAN语言发展概述 15
2.2FORTRAN95主要特征 16
2.3CompaqVisualFORTRAN66主要特性 17
2.4CompaqVisualFORTRAN66软硬件配置和安装 19
2.5MicrosoftDeveloperStudio软件开发环境概述 19
2.5.1MicrosoftDeveloperStudio简介 19
2.5.2工作空间(Workspace)和项目(Project) 20
2.5.3启动MicrosoftDeveloperStudio 21
2.5.4MicrosoftDeveloperStudio主窗口说明 22
2.6MicrosoftDeveloperStudio解题过程 27
2.6.1前期准备工作 27
2.6.2创建工作空间 27
2.6.3创建项目 28
2.6.4创建源程序文件 29
2.6.5创建辅助文档文件 30
2.6.6编译源程序文件 32
2.6.7构建可执行程序文件 33
2.6.8运行程序 34
2.6.9调试程序 35
2.6.10程序多区域显示 38
习题 239
第3章FORTRAN95基础知识 42
3.1字符集 42
3.2名称 42
3.3关键字 43
3.4程序结构 44
3.5语句 46
3.6程序书写格式 47
3.7数据类型 48
习题 350
第4章内部数据类型与顺序结构程序设计 51
4.1常量 52
4.1.1整型常量 52
4.1.2实型常量 53
4.1.3复型常量 57
4.1.4字符型常量 57
4.1.5逻辑型常量 59
4.2变量: 59
4.2.1变量名称 59
4.2.2变量类型 60
4.2.3整型变量 61
4.2.4实型变量 62
4.2.5复型变量 63
4.2.6字符型变量 64
4.2.7逻辑型变量 65
4.3表达式 66
4.3.1算术表达式 67
4.3.2字符表达式 69
4.3.3关系表达式 70
4.3.4逻辑表达式 71
4.3.5表达式运算的误差问题及其解决办法 73
4.4赋值语句 74
4.4.1算术赋值语句 75
4.4.2字符赋值语句 76
4.4.3逻辑赋值语句 77
4.5表控输入输出语句 77
4.5.1表控输入语句 77
4.5.2表控输出语句 80
4.6参数语句(PARAMETER语句) 83
4.7函数 85
4.8END语句、STOP语句和PAUSE语句 87
4.9简单顺序程序设计举例 87
习题 491
第5章数据有格式输入输出 95
5.1概述 95
5.2格式说明与格式编辑符 95
5.3整数有格式输入输出 98
5.4实数有格式输入输出 100
5.4.1小数型实数有格式输入输出 100
5.4.2指数型实数有格式输入输出 102
5.4.3双精度型实数有格式输入输出 104
5.5复数有格式输入输出 104
5.6字符串有格式输入输出 105
5.6.1A编辑符 105
5.6.2字符串编辑符 106
5.7逻辑值有格式输入输出 107
5.8二、八、十六进制数据有格式输入输出 108
5.8.1数据二进制编码表示 108
5.8.2二、八、十六进制数据有格式输入输出 110
5.9不可重复编辑符 113
5.9.1X编辑符 113
5.9.2/编辑符 114
5.9.3编辑符 115
5.9.4T、TL、TR编辑符 115
5.9.5:编辑符 116
5.9.6Q编辑符 116
5.10纵向走纸控制 117
5.11输人输出表与格式说明表的相互关系 119
5.12有格式输入输出应用举例 122
习题5 123
第6章选择结构程序设计 127
6.1概述 127
6.2逻辑IF语句 128
6.3块IF语句 130
6.3.1基本块IF语句 130
6.3.2多分支块IF语句 133
6.3.3嵌套块IF语句 137
6.3.4块CASE选择结构 138
6.4选择结构程序设计举例 140
习题6 143
第7章循环结构程序设计 145
7.1循环结构概述 145
7.1.1循环及循环结构 145
7.1.2循环结构分类 147
7.2用DO循环语句实现计数型循环 149
7.2.1DO循环语句 149
7.2.2DO循环语句的执行过程 151
7.3用DOWHILE循环语句实现条件型循环 153
7.3.1DOWHILE循环语句 153
7.3.2DOWHILE循环语句的执行过程 154
7.4强制性终止循环过程(EXIT、CYCLE) 155
7.5特殊DO循环语句与EXIT语句 157
7.6循环嵌套 158
7.7循环结构程序设计举例 160
习题7 166
第8章数组及其应用 168
8.1概述 168
8.2数组声明 170
8.2.1用类型声明语句进行数组声明 170
8.2.2用DIMENSION语句进行数组声明 172
8.2.3用类型声明语句和DIMENSION属性进行数组声明 172
8.3数组元素引用 173
8.4数组的逻辑结构和存储结构 177
8.5数组的输入输出 179
8.5.1使用DO循环语句输入输出数组 180
8.5.2使用隐含DO循环子句输入输出数组 182
8.5.3使用数组名或数组片段输入输出数组 184
8.6给数组赋初值 185
8.6.1通过数组构造器给数组赋初值 185
8.6.2通过DATA语句给数组赋初值 187
8.7WHERE语句 188
8.7.1逻辑WHERE语句 188
8.7.2块WHERE语句 189
8.7.3多分支WHERE语句 190
8.8FORALL语句 191
8.8.1逻辑FORALL语句 192
8.8.2块FORALL语句 193
8.9动态数组 196
8.10数组应用举例 200
习题8 213
第9章函数与子例行程序 216
9.1概述 216
9.2标准子程序 222
9.2.1标准函数 222
9.2.2标准子例行程序 224
9.3语句函数 226
9.4内部子程序 230
9.4.1内部函数子程序 231
9.4.2内部子例行程序 236
9.5子程序形参与实参之间的数据传递关系 241
9.5.1变量作形式参数 242
9.5.2数组作形式参数 243
9.5.3可调数组作形式参数 246
9.5.4假定大小数组作形式参数 249
9.5.5假定形状数组作形式参数 250
9.5.6子程序名作形式参数 251
9.5.7星号作形式参数 256
9.5.8形式参数与实在参数的结合关系 257
9.6递归(RECURSIVE)子程序 258
9.6.1递归定义 258
9.6.2递归函数 258
9.6.3递归子例行程序 260
9.7外部(EXTERNAL)子程序 261
9.8纯(PURE)子程序 267
9.9逐元(ELEMENTAL)子程序 269
习题9 270
第10章派生类型与结构体 272
10.1概述 272
10.2派生类型定义 274
10.3结构体声明 276
10.4结构体成员引用 277
10.5结构体初始化 277
10.6结构体数据输入输出 279
10.6.1结构体数据输入 279
10.6.2结构体数据输出 280
10.7派生类型应用举例 281
习题10 285
第11章指针与动态数据结构 287
11.1概述 287
11.1.1指针的存储结构和访问方式 287
11.1.2指针变量和目标变量声明 289
11.1.3指针状态 290
11.2指针引用和赋值 290
11.2.1指针引用 290
11.2.2指针赋值 292
11.2.3派生类型、结构体与指针 293
11.3整型指针 294
11.4与指针相关的函数和语句 296
11.4.1置空语句(NULLIFY)和置空函数(NULL) 296
11.4.2链接测试函数(ASSOCIATED) 296
11.4.3动态存储分配语句(ALLOCATE、DEALLOCATE) 296
11.5指针数组 297
11.5.1指针数组 297
11.5.2指针数组作为函数返回值 298
11.6动态链表 299
11.6.1链表概念 299
11.6.2创建和搜索链表 300
11.6.3插入结点 302
11.6.4删除结点 304
11.6.5环形和双向链表 306
习题11 308
第12章文件与设备 309
12.1概述 309
12.2物理设备和逻辑设备 311
12.3文件 312
12.3.1外部文件 312
12.3.2内部文件 313
12.3.3文件标识 314
12.4外部文件分类 315
12.4.1文件存储格式 315
12.4.2文件存取方式 316
12.4.3文件定位 318
12.5文件基本操作 318
12.5.1文件打开(OPEN) 318
12.5.2文件关闭(CLOSE) 323
12.5.3文件结束(ENDFILE) 324
12.5.4文件输入(READ) 325
12.5.5文件输出(WRITE) 328
12.5.6文件查询(INQUIRE) 328
12.5.7文件指针反绕(REWIND) 334
12.5.8文件指针回退(BACKSPACE) 334
12.6使用外部设备 335
12.7文件的读写操作 335
12.7.1有格式顺序存取文件读写操作 335
12.7.2有格式直接存取文件读写操作 337
12.7.3无格式顺序存取文件读写操作 338
12.7.4无格式直接存取文件读写操作 339
12.7.5二进制顺序存取文件读写操作 340
12.7.6二进制直接存取文件读写操作 341
12.8文件应用举例 342
习题12 346
第13章接口、模块与重载 347
13.1接口界面块 347
13.2模块 349
13.3重载(OVERLOAD) 354
13.3.1子程序重载 354
13.3.2操作符重载 356
13.3.3赋值号重载 360
习题13 361
第14章公用区存储关联与数据块子程序 362
14.1公用区 362
14.1.1COMMON语句 363
14.1.2公用区特性和使用规则 364
14.1.3有名公用区的作用 366
14.2存储关联(等价) 367
14.2.1EQUIVALENCE语句 368
14.2.2EQUIVALENCE语句使用规则 369
14.3数据块子程序 370
习题14 373
第15章图形处理 375
15.1图形处理概述 375
15.1.1坐标系统 375
15.1.2图形颜色 379
15.1.3线型 381
15.1.4填充样式 381
15.2QuickWin绘图设计基础 382
15.3设置QuickWin窗口 386
15.4多窗口操作 387
15.5常用绘图函数 392
15.5.1绘制像素点 392
15.5.2设置当前绘图点 393
15.5.3绘制直线 393
15.5.4绘制形状 394
15.6文字信息的显示 399
15.7图形应用实例402习题15 412
第16章VisualBasic与FORTRAN95的多语言混合编程 414
16.1概述 414
16.1.1动态链接库 414
16.1.2动态链接库的优点 415
16.1.3动态链接库的实现方法 415
16.2VisualBasic与FORTRAN95混合编程 415
16.2.1VisualBasic与FORTRAN95混合编程基础 415
16.2.2VisualBasic与FORTRAN95混合编程步骤 419
16.3VisualBasic与FORTRAN95混合编程应用 420
习题16 428
附录AFORTRAN95标准函数简表 430
附录BFORTRAN95标准子例行程序简表 436
参考文献 438