《Fortran95程序设计》章节试读

当前位置:首页 > 计算机网络 > 程序设计 > Fortran95程序设计章节试读

出版社:中国电力出版社
出版日期:2002-9
ISBN:9787508310626
作者:彭国伦
页数:582页

《Fortran95程序设计》的笔记-一、二章 PC概论及编译器使用 - 一、二章 PC概论及编译器使用

计算机概论很多书都有,这本书上竟然还有,对于有些人来说多余,但是对于那些刚接触计算机不久的人或许可以连接一下。
第二章讲到编译器。这比一般的书讲的清晰,有的fortran书籍甚至是不讲的,我觉得对于新手来说这个是必须要讲到的。这本书中以compaq visual fortran 6.0为范例讲解。
先在project中找到fortran console application,命名后选中一个an empty projec。
然后新建一个fortran free format source file。
我之前没有注意到的一个知识点是
***
若想编译其他文件时,需要更换project中的文件,可以用preview找到这个文件然后delete,把它从project中删除,原本的文件仍然保存在硬盘不会消失。
我以前经常遇到编译过程错误,可能就是因为把两个独立的程序文件放到了同一个project当中。
这本书的第二章还讲到了linux fortran的使用。介绍了GNU Fortran, vast/f90,F compiler三种编译器,简洁明了,却帮我扫去了大片的疑云。对于GNU FORTRAN77而言,主要涉及的命令大概有
g77 hello.for
会自动编译得到 a.out 这个执行文件
用 ./a.out 执行这个文件 “./”是赋值a.out位于现在目录下的意思
如果不想用默认的 a.out作为执行文件的名字,可以使用命令
g77 hello.for -o hello
这个时候编译出来的执行文件名为hello, 键入 /hello 就可以运行它。
PS:
GNU编译器分成前后端,前端负责辨识高级语言,在输出成为一个虚拟机器的汇编语言码,后端再把这个虚拟机器的汇编语言码编译成可执行文件。

《Fortran95程序设计》的笔记-第三章Fortran程序设计基础 - 第三章Fortran程序设计基础

3-1字符集
A-Z,a-z(不区分大小写,FORTRAN标准只需要认得大写字母,在识别时会把小写字母视同为大写字母),所以fortran并不区别大小写,这里有26个字符
数字字符0-9,这里10个字符
22个特殊字符分别是 : . + - * , % $ & ( ) / < > ; = ' " _ ? !(还有一个显示不出来的空格符)
3-2书面格式
free format and fixed format are latest format and old-style format, respectively.
→*.90 →*.for *.f
This book advises readers that free format is a better choice.
3-2-1 fixed format
第一行字段的第一个字符是C,这一行将作为程序的批注
之后的每一行,第1-5个字符用来给程序代码取代号,没有则空格
第六个字符如果是非0的其他字符则表示接上一行的代码,反之只能是空格
第7-72个字符是编写区域
第73个字符后面不适用,超出了范围
早期的fixed format之所以这么麻烦事为了配合早期使用的穿孔卡片输入程序。
3-2-2 free format
没有规定每一行的第几个字符是用做什么的。
需要注意的是:
!后面表示注释
每行可以编写132个字符,如果代码很长,可在上一行的末尾加上&回车继续写
行号放在每行程序最前面
3-3fortran数据类型
integer 长整 短整 为“0”表示“正”,“1”表示“负”。
注意在这本书的P28页仍然存在一处错误,长整型的数值范围是在,括号里面的注释应该是-2^31~2^31-1。书中是-2^31+1~2^31。此处错误经过我的测试和参考其他书籍。
real 单精度E 双精度D浮点数
complex 复数(单精度复数和双精度复数)
character 字符
logical 逻辑符 在二进制中,1代表true,0代表false
3-4FORTRAN表达式
3-5fortran简史
fortran起源于1954-1957年,名字来源于formula['fɔ:mjulə] translator,数学编译器的意思。60年代成为最通用的高级语言。
FORTRAN66-ANSI制定
FORTRAN77-ANSI制定
FORTRAN90由ISO发布,只是对fortran增加了面向对象的概念及相关工具,提高了指针、数组功能
FORTRAN95也由ISO发布,堪称90的修订版本,去除了很多旧时语法,加强了并行计算支持。

《Fortran95程序设计》的笔记-第四章 格式输入输出(二) - 第四章 格式输入输出(二)

4-4 FORMAT输入输出program ex
integer a,b
a=100
b=a
write(*,*) a
write(*,10) b
10 format(I4)
stop
end
输出结果
100
100
Press any key to continue

PROGRAM ex0422
INTEGER A
REAL B
COMPLEX C
LOGICAL D
CHARACTER*(20) E
A=10
B=12.34
C=(1,2)
D=.true.
E="FORTRAN"
WRITE(*,100) A ! 用I来格式化整数
WRITE(*,200) B ! 用F来格式化浮点数
WRITE(*,300) C ! complex也是浮点数
WRITE(*,400) D ! 用L来输出logical
WRITE(*,500) E ! 用A来输出字符串
100 FORMAT(1XI5)
200 FORMAT(1X,F5.2)
300 FORMAT(1X,2F4.1) !这里用4个字符输出浮点数,小数占据一位,2代表重复
400 FORMAT(1X,L3/) ! /用于换行
500 FORMAT(1X,A10)
END
结果:
10
12.34
1.0 2.0
T
FORTRAN
Press any key to continue
4-7 FORTRAN的自定义数据类型(TYPE)
!以下创建一个名为person的自定义数据类型
type::person
character(len=30)::name
integer(kind=4) :: age
real(kind=4)::stature
end type person
4-8
kind的用法稍微注意下。

《Fortran95程序设计》的笔记-第四章输入输出及声明(一) - 第四章输入输出及声明(一)

4-1 write、print (原文中的标题我认为是不可取的,这两个都是输出命令)
write (unit=*,fmt=*) 前一个*代表输出位置默认为屏幕,也可以写成unit=6,因为屏幕的输出位置就是6,后面一个*代表输出格式无特别要求,一般输出即可。
write (unit=*,fmt=*)可以简写成write (*,*),
print *, "string" 也是一种输出方式,这个*代表输出格式为默认。这种输出命令只针对对屏幕的输出位置,因此最好使用write名利ing以便日后移植程序时方便修改输出位置。
TIPS:想要在字符处输出双引号时,要连续使用两个双引号。例如要印出My name is "Peter".时,则对write的描述要编写如下:
write (*,*) "My name is ""peter""."
4-2声明
声明是为了给一些数据预留内存存储空间
4-2-3complexFortran是笔者所知道的计算机语言中唯一直接提供复数类型的语言.
4-2-4
P45页的EX0413.F90的第五行代码
string(6)=“evening”
可能是错误的,无法编译成功,应该改成
string(6:13)=“evening”
//连用两个除号,可以把前后两个字符串连接起来。
INDEX(string1,string2) 这个函数会返回string2这个子串在string1这个母串中第一次出现的位置。
我尝试编译了一个程序证明其可行性。
Program ex
Character(len=15) string1
Character(len=2) string2 !len=2 or 3,a的执行结果都可输出3,但是若len大于等于4,执行则为0.为什么?????这个得问下老师吧!
Character(len=30) string3
INTEGER a
String1 = "Good morning"
string2 = "od"
string3 = string1//string2
a = INDEX(string1,string2)
Write(*,*) string3
write(*,*) a
stop
end
4-2-5
program ex
logical a,b
a=.true.
b=.false.
write(*,*) a,b
stop
end
执行结果为
T F
Press any key to continue
4-3 READ命令
严格写法
read(5,*) a !这个是比较严格的写法,5代表默认从键盘输入
最严格的写法是
read(unit=5,fmt=*) a
program readcommad
integer a,b,c
read(5,*) a,b,c
write(6,*) "a+b+c=",a+b+c
stop
end
!执行结果为
输入1 2 3
屏幕显示
a+b+c= 6
Press any key to continue

《Fortran95程序设计》的笔记-第五章 - 第五章

这一章节主要讲到了流程控制语句哦。最重要的就是if和case的使用了,stop,pause也有点用,goto语句嘛是下下策,而这个continue几乎就是浮云了,Fortran90之后应该差不多没人用continue语句了吧。
IF
写程序时注意缩进
CASE
注意CASE括号中的不能是变量,否则要出错了啊。
GOTO
能不要用就不用,虽然有点时候看起来很搞笑,但是程序一大就不容易读代码了,说不定哪里出错了都半天检查不出来。
PAUSE
有时候用在翻页的地方哦


 Fortran95程序设计下载 更多精彩书评


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024