首页>参考读物>计算机科学与技术>软件与程序设计

FORTRAN完全自学手册
作者 : 陈 科
丛书名 : 编程红宝书
出版日期 : 2008-12-18
ISBN : 7-111-25633-5
定价 : 60.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 441
开本 : 16开
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书涵盖主题
  ◎常用编译器
  ◎FORTRAN语法基础
  ◎简单输入与输出
  ◎常量和变量
  ◎种别和属性
  ◎常用内部过程
  ◎运算符及表达式
  ◎程序流程控制
  ◎FORTRAN中的数组
  ◎FORTRAN程序单元
  ◎高级输入与输出
  ◎文件操作
  ◎FORTRAN指针
  ◎基本数值算法
  ◎文件处理举例
  ◎搜索与排序

图书特色

图书前言

随着信息技术的飞速发展和数值模拟技术的进步,在工程和科学研究中越来越依赖计算机的数值模拟。在数值计算和模拟领域,Fortran语言是常青树。Fortran语言以其丰富的运算类型、灵活的数组操作、高效的运算速度,在科学研究和工程设计领域有着广泛的使用人群。同时,Fortran语言也是一门不断发展进步的语言,目前最流行的标准是Fortran 90/95,而最新的标准Fortran 2003也正在不断制定和完善中,相信不久就能够面世。
笔者在自身的大学和研究生时代,由于学习和研究的需要,对Fortran语言有较深入的学习。现将平时的一些学习心得整理出来,汇编成书。本书较为全面地介绍了Fortran语言的各个方面,并以实例的形式介绍了Fortran语言的应用实践。通过本书的学习,力求使初学者能够掌握这门语言;使使用者能够进一步加深理解。
本书特色
1. 循序渐进,深入浅出
为了方便读者学习,本书首先让读者了解Fortran,并掌握编写Fortran程序的一个基本开发和编译工具。使读者在掌握这些工具的基础上,逐步深入地学习Fortran,掌握相关的程序设计方法。从而使读者可以边学习,边动手,更快掌握Fortran的各种知识。
2. 知识全面,内容充实
本书用大量的章节详细介绍了Fortran语言的方方面面,包括常见编译器和源代码编辑器的使用、Fortran语言的基本和高级语法、程序设计中应该注意的问题等。使读者能够深入了解这门程序设计语言的各个角落,不留死角。
3. 对比讲解,加深理解
由于目前市面上Fortran的编译器版本众多,所支持的语言标准各不相同。本书在进行讲解时尽可能以当前最流行的标准为准,并比较了一些常见编译器的区别。在一些语法概念上与其他一些高级计算机语言进行了对比,以加深理解。
4. 案例精讲,深入剖析
在本书的后面几章,集中对Fortran语言在应用中常见的一些问题进行了讲解。例如常见数值计算方法的案例、文件处理的应用、数据搜索和排序的方法等内容。
5. 配有多媒体光盘,加速学习
本书每一章的编程范例源代码都可以在配套光盘中找到。为了方便练习,还在光盘中提供了一些开源编译器和编辑器供读者选用。使读者能够快速地将理论变成实践来进行练习。
本书的内容
第1章:如果读者是一个Fortran语言的初学者,这一章将通过介绍Fortran是什么,主要应用于哪些领域,它有哪些特征和优势等知识,把读者带到这门技术中来。本章还对Fortran语言的发展历程进行了较为详细的介绍。
第2章:本章主要介绍了使用Fortran进行程序设计所必需的一些语法基础,包括Fortran语言新旧两种书写格式,所采用的字符集、注释风格、命名方式和基本的程序单元、语句顺序。通过本章的学习可以使读者对Fortran语言有一个整体的印象。
第3章:本章主要介绍了Fortran语言中最简单的输入输出语句及其作用。通过本章的学习,读者可以掌握程序中输入输出语句的行为方式。这样程序设计中的一些问题就可以直观地表现出来,便于对一些概念的理解。
第4章:详细介绍了Fortran语言中常量和变量的基本情况。通过本章的学习,读者可以对程序设计中经常遇到的常量、变量及其存储空间的概念有一个清楚的认识。
第5章:重点介绍了Fortran语言中所特有的种别和属性的概念。通过本章的学习,可以使读者对种别和属性在程序中的重要用途有一个清楚的认识。
第6章:重点介绍了Fortran语言中丰富的内部过程,包括基本数学函数、数组函数、字符处理函数和系统过程。
第7章:介绍了Fortran语言中丰富的运算符以及相关的表达式。通过本章的学习,可以使读者对Fortran强大的数值计算能力有一个初步的了解。
第8章:主要介绍了Fortran语言中的流程控制和相关的控制语句。通过本章的学习,读者就可以开始进行一些基本的程序设计。
第9章:主要介绍了Fortran语言中数组的相关概念和丰富的数组操作。通过本章的学习,可以使读者对Fortran语言的强大数值计算能力有进一步的认识。
第10章:重点介绍了Fortran的程序单元和相互之间的关系。通过本章的学习,可以使读者对Fortran应用程序的程序结构和相关的辅助语句有一个清晰的认识。
第11章:介绍了高级输入输出语句的作用和详细用法。通过本章的学习,读者可以在输入输出过程中应用更多的风格来对程序进行美化。
第12章:主要介绍了Fortran语言中的文件操作语句和丰富的文件类型。
第13章:重点介绍了Fortran语言中新添加的指针的相关概念。本章是一个高级章节,除了介绍指针的灵活应用外,还对比了Fortran指针与C/C++指针的区别。
第14、15、16章:这几个章节属于应用章节,内容涉及了一些程序设计中常用的数值计算方法、文件处理手段、数据的搜索与排序等。
本书适合的读者
q 科研院所的科研工作者
q 工程技术人员
q Fortran语言爱好者
q 大中专院校的学生
q 社会培训学生
本书的作者
本书主要由陈科编写,其他参与编写和资料整理的人员有冯华君、刘博、刘燕、叶青、张军、张立娟、张艺、彭涛、徐磊、戎伟、朱毅、李佳、李玉涵、杨利润、杨春娇、武鹏、潘中强、王丹、王宁、王西莉、石淑珍、程彩红、邵毅、郑丹丹、郑海平、顾旭光等。

编  者

封底文字

本书涵盖主题 ◎常用编译器 ◎FORTRAN语法基础 ◎简单输入与输出 ◎常量和变量 ◎种别和属性 ◎常用内部过程 ◎运算符及表达式 ◎程序流程控制 ◎FORTRAN中的数组 ◎FORTRAN程序单元 ◎高级输入与输出 ◎文件操作 ◎FORTRAN指针 ◎基本数值算法 ◎文件处理举例 ◎搜索与排序

作者简介

陈 科:暂无简介

图书目录

目   录
写给自学编程的人员
前言
第一篇  概  述  篇
第1章  Fortran概述 1
1.1  Fortran起源 1
1.2  Windows下Fortran编译器的使用 2
1.2.1  安装Compaq Visual Fortran 2
1.2.2  创建第1个Fortran工程 3
1.2.3  在Fortran工程中添加源代码 5
1.2.4  在Fortran工程中新建源文件 7
1.2.5  在Compaq Visual Fortran中编译源文件 8
1.3  Linux下常见的Fortran编译器 10
1.4  常见编译器性能比较 12
1.5  常用编译器 12
1.5.1  UltraEdit 13
1.5.2  ZionEdit 14
1.5.3  gEdit 15
1.6  第1个Fortran程序—Hello! Fortran 90/95 16
第二篇  基础语法篇
第2章  Fortran语法基础 17
2.1  程序书写格式 17
2.1.1  固定格式(Fixed Format) 17
2.1.2  自由格式(Free Format) 19
2.1.3  兼顾两种格式的代码写法 21
2.2  字符集 21
2.3  空格的使用 22
2.4  注释格式 23
2.5  命名方式 24
2.6  程序单元和语句顺序 25
第3章  简单输入与输出 27
3.1  输入和输出概述 27
3.2  简单输出语句 27
3.2.1  PRINT语句的表控输出 28
3.2.2  WRITE语句的表控输出 28
3.2.3  表控输出的特点 29
3.3  简单输入语句 30
3.3.1  READ语句的表控输入形式一 31
3.3.2  READ语句的表控输入形式二 31
3.3.3  表控输入的特点 32
第4章  常量和变量 35
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章  种别和属性 51
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章  常用内部过程 60
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.1  CPU时间函数 68
6.4.2  日期和时间函数 68
6.4.3  系统时间过程 69
6.4.4  随机数生成过程 69
第7章  运算符及表达式 70
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章  程序流程控制 80
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和分支选择语句SELECT CASE 87
8.2.2  判断语句IF的基本用法 87
8.2.3  判断语句IF实现多重判断 90
8.2.4  IF语句的嵌套 93
8.2.5  IF语句的特殊用法 95
8.2.6  SELECT CASE语句的用法 97
8.2.7  SELECT CASE语句的应用 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.6  DO循环规则 115
8.3.7  隐式DO循环 116
8.4  循环的控制 117
8.4.1  EXIT语句 117
8.4.2  EXIT语句与条件循环 118
8.4.3  EXIT语句与无条件循环 120
8.4.4  CYCLE语句 121
8.5  再论GOTO语句 123
8.5.1  无条件GOTO语句 123
8.5.2  计算GOTO语句 125
8.5.3  赋值GOTO语句 125
8.5.4  GoTo语句的应用 126
8.6  程序结束、终止和暂停 127
8.6.1  程序结束(END) 127
8.6.2  程序终止(STOP) 128
8.6.3  程序暂停(PAUSE) 129
第三篇  高级语法篇
第9章  Fortran中的数组 133
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.3  DATA语句 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.10  Fortran 90/95的数组操作语句 176
9.10.1  WHERE语句和WHERE构造 177
9.10.2  FORALL语句 181
第10章  Fortran程序单元 185
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.1  ENTRY语句与多入口点 199
10.5.2  子程序的多折返点 201
10.6  Fortran 90/95中的特殊子程序类型 203
10.6.1  RECURSIVE属性 203
10.6.2  PURE属性 206
10.6.3  ELEMENTAL属性 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.4  INTENT属性应用 220
10.8.5  关键字变元 222
10.8.6  可选择变元与OPTIONAL属性 223
10.8.7  哑元改名 225
10.8.8  INTRINSIC属性 226
10.8.9  数组作为参数 227
10.8.10  过程作为参数 232
10.9  局部变量和SAVE属性 235
10.9.1  变量的作用范围 235
10.9.2  SAVE属性 237
第11章  高级输出与输入 241
11.1  输入输出语句的格式化设置 241
11.2  输入输出语句与格式语句 242
11.2.1  WRITE语句引用格式说明语句 242
11.2.2  PRINT语句引用格式说明语句 242
11.2.3  READ语句引用格式说明语句 242
11.2.4  第1个输入输出综合应用 243
11.3  格式编辑符概述 245
11.4  数据格式编辑符 245
11.4.1  I编辑符 245
11.4.2  F编辑符 246
11.4.3  E编辑符 247
11.4.4  D编辑符 248
11.4.5  A编辑符 249
11.4.6  L编辑符 249
11.4.7  G编辑符 250
11.4.8  B、O、Z编辑符 251
11.4.9  EN、ES编辑符 252
11.5  控制格式编辑描述符 253
11.5.1  X编辑符 253
11.5.2  纵向走纸控制符 254
11.5.3  斜杠编辑符 255
11.5.4  T、TL和TR编辑符 256
11.5.5  冒号编辑符 257
11.5.6  P编辑符 257
11.5.7  SP、SS和S编辑符 258
11.5.8  BN、BZ编辑符 258
11.6  字符串编辑符 259
11.6.1  撇号编辑符 259
11.6.2  H编辑符 260
11.7  编译器扩展的格式编辑描述符 260
11.7.1  反斜杠“\”编辑符和美元“$”编辑符 260
11.7.2  可变格式编辑符 261
11.8  I/O列表 262
11.8.1  NAMELIST语句 262
11.8.2  I/O列表实体 266
第12章  文件操作 267
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.2  OPEN语句 274
12.3.3  CLOSE语句 278
12.3.4  OPEN语句和CLOSE语句示例 279
12.3.5  READ和WRITE语句 280
12.3.6  REWIND语句 283
12.3.7  BACKSPACE语句 283
12.3.8  ENDFILE语句 284
12.3.9  INQUIRE语句 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指针 325
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章  基本数值算法举例 373
14.1  常用数值积分算法 373
14.1.1  矩形法 374
14.1.2  梯形法 374
14.1.3  Simpson法 376
14.1.4  数值积分计算子程序的应用 378
14.2  简单线性代数问题 380
14.2.1  Gauss消去法求解线性方程组 380
14.2.2  Gauss Jordan消去法求解线性方程组 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章  文件处理举例 414
15.1  临时文件的应用 414
15.1.1  主程序 414
15.1.2  随机数生成子程序 415
15.1.3  素数挑选和文件重写子程序 415
15.1.4  素数判断子程序 416
15.2  多个文件的处理 417
第16章  搜索与排序 420
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

教学资源推荐
作者: 吴黎兵 熊建强 杨鏖丞
作者: 苏小红 邱景 郑贵滨 等 编著内封署名:苏小红 邱景 郑贵滨 赵玲玲 袁秀丽 张凡龙 编著
作者: 谢满德 刘文强 张国萍 编著
作者: 邱李华 郭志强 曹青
参考读物推荐