标题：FORTRAN完全自学手册
版权信息
书 名: FORTRAN完全自学手册
作　者：陈科
出版社： 机械工业出版社
出版时间： 2009
ISBN: 9787111256335
开本： 16
定价: 59.80 元
内容简介
FORTRAN是一门在数值计算领域有着重要用途的高级计算机语言。《FORTRAN完全自学手册》深入浅出、循序渐进地向读者讲述如何使用FORTRAN进行程序开发。
《FORTRAN完全自学手册》适合广大科研院所的科研和工程人员、从事软件开发的程序员和工科大专院校的学生阅读，对于已经熟悉FORTRAN语言的人员也具有一定的参考价值。
目录 第一篇概述篇
第1章Fortran概述
[1]　1.1Fortran起源1
1.2Windows下Fortran编译器的使用2
1.2.1安装CompaqVisualFortran2
1.2.2创建第1个Fortran工程3
1.2.3在Fortran工程中添加源代码5
1.2.4在Fortran工程中新建源文件7
1.2.5在CompaqVisualFortran中编译源文件8
1.3Linux下常见的Fortran编译器10
1.4常见编译器性能比较12
1.5常用编译器12
1.5.1UltraEdit13
1.5.2ZionEdit14
1.5.3gEdit15
1.6第1个Fortran程序—Hello!Fortran90/9516
第二篇基础语法篇
第2章Fortran语法基础2.1程序书写格式17
2.1.1固定格式（FixedFormat）17
2.1.2自由格式（FreeFormat）19
2.1.3兼顾两种格式的代码写法21
2.2字符集21
2.3空格的使用22
2.4注释格式23
2.5命名方式24
2.6程序单元和语句顺序25
第3章简单输入与输出3.1输入和输出概述27
3.2简单输出语句27
3.2.1PRINT语句的表控输出28
3.2.2WRITE语句的表控输出28
3.2.3表控输出的特点29
3.3简单输入语句30
3.3.1READ语句的表控输入形式一31
3.3.2READ语句的表控输入形式二31
3.3.3表控输入的特点32
第4章常量和变量4.1数值型常量及其类型35
4.1.1整型常量35
4.1.2实型常量35
4.1.3复型常量36
4.1.4常量的存储形式36
4.1.5符号常量37
4.2数值型变量及其类型37
4.2.1数值型变量概述37
4.2.2使用系统默认的隐含约定38
4.2.3使用类型说明语句声明39
4.2.4用隐含说明语句声明39
4.2.5数值型变量声明及其应用40
4.3字符型常量及变量40
4.3.1字符型变量概述41
4.3.2定义形式一41
4.3.3定义形式二41
4.3.4定义形式三42
4.3.5定义形式四42
4.3.6字符型变量声明及其应用43
4.3.7子字符串的概念44
4.4逻辑型常量及变量45
4.5变量的初始化46
4.6赋值语句48
4.6.1何为赋值48
4.6.2赋值过程的类型转换49
第5章种别和属性5.1种别概述51
5.1.1种别的概念51
5.1.2种别的使用52
5.2种别值和种别函数52
5.2.1整型数据的种别52
5.2.2实型数据的种别53
5.2.3复型数据的种别53
5.2.4逻辑型数据的种别53
5.2.5字符型数据的种别53
5.2.6种别函数54
5.3常数种别和进制54
5.3.1非字符型常数的种别说明54
5.3.2字符型常数的种别说明56
5.3.3数据的进制说明56
5.4属性说明57
5.4.1对象的属性57
5.4.2常用属性说明58
第6章常用内部过程6.1内部过程概述61
6.2常用数学函数61
6.2.1绝对值函数61
6.2.2指数函数61
6.2.3正弦函数62
6.2.4余弦函数62
6.2.5反正弦函数62
6.2.6反余弦函数62
6.2.7正切函数63
6.2.8反正切函数63
6.2.9自然对数函数63
6.2.10常用对数函数63
6.2.11取整函数64
6.2.12求余函数64
6.2.13取符号函数64
6.2.14最大值函数65
6.2.15最小值函数65
6.3常用字符函数65
6.3.1字符与数值转换函数65
6.3.2字符串长度函数66
6.3.3子字符串位置索引函数66
6.3.4字符串验证函数67
6.3.5尾部空格除去函数67
6.3.6字符大小比较函数67
6.4常用系统过程68
6.4.1CPU时间函数68
6.4.2日期和时间函数68
6.4.3系统时间过程69
6.4.4随机数生成过程69
第7章运算符及表达式7.1算术运算70
7.1.1算术运算符及其优先级70
7.1.2算术表达式70
7.1.3算术表达式中的类型转换71
7.1.4算术运算的误差73
7.2关系运算74
7.2.1关系运算符74
7.2.2关系表达式75
7.3逻辑运算76
7.3.1逻辑运算符76
7.3.2逻辑表达式76
7.3.3逻辑表达式的运算秩序77
7.4字符运算77
第8章程序流程控制8.1算法与流程80
8.1.1算法80
8.1.2传统流程图81
8.1.3基本程序结构83
8.1.4用伪代码表示算法85
8.2选择结构87
8.2.1判断语句IF和分支选择语句SELECTCASE87
8.2.2判断语句IF的基本用法87
8.2.3判断语句IF实现多重判断90
8.2.4IF语句的嵌套93
8.2.5IF语句的特殊用法95
8.2.6SELECTCASE语句的用法97
8.2.7SELECTCASE语句的应用98
8.3循环结构103
8.3.1基本的DO构造103
8.3.2无条件循环与DO语句105
8.3.3条件循环与DO构造108
8.3.4循环的署名112
8.3.5循环的嵌套113
8.3.6DO循环规则115
8.3.7隐式DO循环116
8.4循环的控制117
8.4.1EXIT语句117
8.4.2EXIT语句与条件循环118
8.4.3EXIT语句与无条件循环120
8.4.4CYCLE语句121
8.5再论GOTO语句123
8.5.1无条件GOTO语句123
8.5.2计算GOTO语句125
8.5.3赋值GOTO语句125
8.5.4GoTo语句的应用126
8.6程序结束、终止和暂停127
8.6.1程序结束（END）127
8.6.2程序终止（STOP）128
8.6.3程序暂停（PAUSE）129
第三篇高级语法篇
第9章Fortran中的数组9.1数组的定义133
9.1.1定义形式一133
9.1.2定义形式二134
9.1.3定义形式三134
9.1.4定义形式四134
9.1.5数组定义的特点135
9.2数组的引用方式135
9.2.1引用数组元素135
9.2.2引用数组整体136
9.2.3引用数组片段137
9.3数组的存储138
9.3.1数组的存储结构138
9.3.2数组存储结构的应用139
9.4数组的类型141
9.4.1显形数组141
9.4.2特殊的显形数组—自动数组142
9.4.3特殊的显形数组—可调数组143
9.4.4显形数组的不足145
9.4.5假定形状数组146
9.4.6假定大小数组146
9.4.7延迟形状数组148
9.5数组的动态分配150
9.5.1自动数组与可分配数组150
9.5.2可分配数组的分配与释放151
9.5.3可分配数组的应用实例152
9.6数组赋值153
9.6.1数组赋值语句154
9.6.2数组构造器155
9.6.3DATA语句157
9.7数组的输入输出160
9.7.1一维数组的输入输出160
9.7.2二维数组的输入输出161
9.7.3其他高维数组的输入输出162
9.8数组的运算163
9.8.1算术运算163
9.8.2逻辑运算166
9.8.3关系运算167
9.9常用内在函数168
9.9.1内部基本函数168
9.9.2矩阵乘积函数169
9.9.3向量点乘函数170
9.9.4元素求和函数170
9.9.5元素连乘求积函数171
9.9.6数组大小查询函数171
9.9.7数组形状查询函数172
9.9.8数组合并函数172
9.9.9数组压缩函数172
9.9.10数组形状扩展和重构形函数173
9.9.11数组转置函数173
9.9.12去端移动函数174
9.9.13循环替换函数175
9.9.14最大值元素定位函数175
9.10Fortran90/95的数组操作语句176
9.10.1WHERE语句和WHERE构造177
9.10.2FORALL语句181
第10章Fortran程序单元
10.1主程序185
10.2语句函数186
10.2.1语句函数的定义187
10.2.2语句函数的引用189
10.3函数子程序190
10.3.1定义函数子程序191
10.3.2调用函数子程序192
10.3.3函数子程序示例—进制转换192
10.3.4函数子程序示例—分形194
10.4子例行子程序196
10.4.1定义子例行子程序197
10.4.2子例行子程序示例198
10.5子程序的多入口点和多折返点199
10.5.1ENTRY语句与多入口点199
10.5.2子程序的多折返点201
10.6Fortran90/95中的特殊子程序类型203
10.6.1RECURSIVE属性203
10.6.2PURE属性206
10.6.3ELEMENTAL属性206
10.7数据块程序单元208
10.7.1定义数据块子程序208
10.7.2使用数据块子程序208
10.7.3数据块子程序示例208
10.8子程序的参数209
10.8.1参数传递规则210
10.8.2子程序的接口213
10.8.3接口块使用情况219
10.8.4INTENT属性应用220
10.8.5关键字变元222
10.8.6可选择变元与OPTIONAL属性223
10.8.7哑元改名225
10.8.8INTRINSIC属性226
10.8.9数组作为参数227
10.8.10过程作为参数232
10.9局部变量和SAVE属性235
10.9.1变量的作用范围235
10.9.2SAVE属性237
第11章高级输出与输入
11.1输入输出语句的格式化设置241
11.2输入输出语句与格式语句242
11.2.1WRITE语句引用格式说明语句242
11.2.2PRINT语句引用格式说明语句242
11.2.3READ语句引用格式说明语句242
11.2.4第1个输入输出综合应用243
11.3格式编辑符概述245
11.4数据格式编辑符245
11.4.1I编辑符245
11.4.2F编辑符246
11.4.3E编辑符247
11.4.4D编辑符248
11.4.5A编辑符249
11.4.6L编辑符249
11.4.7G编辑符250
11.4.8B、O、Z编辑符251
11.4.9EN、ES编辑符252
11.5控制格式编辑描述符253
11.5.1X编辑符253
11.5.2纵向走纸控制符254
11.5.3斜杠编辑符255
11.5.4T、TL和TR编辑符256
11.5.5冒号编辑符257
11.5.6P编辑符257
11.5.7SP、SS和S编辑符258
11.5.8BN、BZ编辑符258
11.6字符串编辑符259
11.6.1撇号编辑符259
11.6.2H编辑符260
11.7编译器扩展的格式编辑描述符260
11.7.1反斜杠“\”编辑符和美元“$”编辑符260
11.7.2可变格式编辑符261
11.8I/O列表262
11.8.1NAMELIST语句262
11.8.2I/O列表实体266
第12章文件操作12.1文件与逻辑设备267
12.1.1逻辑设备267
12.1.2外部文件268
12.1.3内部文件269
12.2外部文件分类271
12.2.1有格式文件272
12.2.2无格式文件272
12.2.3编译器支持的二进制文件272
12.2.4顺序存取文件273
12.2.5直接存取文件273
12.3文件操作语句273
12.3.1操作语句概述273
12.3.2OPEN语句274
12.3.3CLOSE语句278
12.3.4OPEN语句和CLOSE语句示例279
12.3.5READ和WRITE语句280
12.3.6REWIND语句283
12.3.7BACKSPACE语句283
12.3.8ENDFILE语句284
12.3.9INQUIRE语句285
12.4文件存取291
12.4.1文件的构成—记录291
12.4.2记录的组合294
12.5有格式顺序存取文件296
12.5.1有格式顺序存取文件的创建296
12.5.2有格式顺序存取文件的查询299
12.6有格式直接存取文件304
12.6.1简单有格式直接存取文件的建立305
12.6.2复杂有格式直接存取文件的建立306
12.6.3有格式直接存取文件的查询307
12.7无格式顺序存取文件309
12.8无格式直接存取文件311
12.8.1无格式直接存取文件的创建312
12.8.2无格式直接存取文件与同类有格式文件的区别312
12.9二进制顺序存取文件314
12.9.1二进制文件的创建315
12.9.2二进制顺序存储文件的查询315
12.10二进制直接存取文件321
12.10.1二进制直接存取文件的创建321
12.10.2二进制直接存取文件的读取322
12.11硬件设备的使用323
第13章Fortran指针13.1指针的基本概念325
13.1.1定义指针325
13.1.2定义指针范例325
13.2指针的基本应用326
13.2.1指针的基本用途326
13.2.2指针与变量的关系327
13.2.3动态分配和释放指针空间329
13.2.4指针状态的查询和更改330
13.2.5指针分享存储空间332
13.3指针与数组333
13.3.1指针指向数组334
13.3.2动态分配指针数组336
13.4指针与过程337
13.4.1指针与过程的示例337
13.4.2在指针与过程中使用模块340
13.5指针的简单应用341
13.6指针与链表概述344
13.7单向链表344
13.7.1单向链表的基本概念345
13.7.2节点的定义345
13.7.3节点的引用347
13.7.4链表的建立348
13.8双向链表和环状链表350
13.8.1双向链表的建立351
13.8.2环状链表的建立354
13.9链表的基本操作356
13.9.1插入及删除操作356
13.9.2插入及删除操作实例357
13.9.3链表空间的释放362
13.9.4遍历、查找及更新365
第四篇应用篇
第14章基本数值算法举例
14.1常用数值积分算法373
14.1.1矩形法374
14.1.2梯形法374
14.1.3Simpson法376
14.1.4数值积分计算子程序的应用378
14.2简单线性代数问题380
14.2.1Gauss消去法求解线性方程组380
14.2.2GaussJordan消去法求解线性方程组384
14.3非线性函数求解387
14.3.1迭代法387
14.3.2牛顿迭代法388
14.3.3二分法390
14.3.4弦截法392
14.3.5非线性函数求解子程序的应用394
14.4常微分方程的基本解法400
14.5插值与拟合406
14.5.1拉格朗日多项式插值法407
14.5.2牛顿前向插值法409
第15章文件处理举例15.1临时文件的应用414
15.1.1主程序414
15.1.2随机数生成子程序415
15.1.3素数挑选和文件重写子程序415
15.1.4素数判断子程序416
15.2多个文件的处理417
第16章搜索与排序16.1搜索算法420
16.1.1顺序搜索420
16.1.2二分搜索423
16.1.3散列搜索426
16.2排序算法429
16.2.1冒泡法429
16.2.2选择排序法433
16.2.3快速排序法436
……