FORTRAN学习笔记

Fortran语言程序设计初步

Fortran77&Fortran90

1、Fortran77是Fortran90的一个严格子集。Fortran90并没有删去任何Fortran77的功能,而只是将某些功能看成是将要摒弃的。在Fortran95中则是已被删去的,但考虑到历史,厂家推出的Fortran90/95编译软件仍是支持这些功能的。在新编的程序中,应尽量避免使用过时的F77语句或功能。

2、Fortran77后缀(.f),Fortran90后缀(.f90)。
3、固定格式与自由格式
一般默认(.f/.for) 是固定格式,(.f90)是自由格式。
固定格式就是代码采用约定的书写方式来写,代码或者符号的位置在特定地方有特定含义。一般分为标号区,注释行,续行区,语句区,注释区。代码的位置必须正确。否则编译失败。

https://zhuanlan.zhihu.com/p/347806976

简单的程序语句

1、PROGRAM语句:宣布程序开始,其后跟程序名。可省略。
2、REAL语句:后面可接空格,也可接 ::,区别在于双冒号可以赋值。
3、输入输出语句:可以用以下任一种默认格式,==注意星号(*)和逗号(,)。==星号意指默认的输入输出硬件(键盘和屏幕)及格式。

输入:
READ *, a

READ(* , *) a
输出:
PRINT *, a

WRITE(* , *) a

5、注释语句
F77:以“C”或“ * ”作为该行第一个字符
F90:可在开始也可在任意一行末以“!”开始作为注释符
6、F77语句中不区分大小写字母,例如写READ和read或Read是一样的,其它变量名和函数名中,大、小写字母也是等价的。
7、续行
在语句行最后加上续行符“&”号。如果字符串跨2行以上,则在续行的开始位置也要加&号。注意语句的有效字符是从“&”前和续行符“&”之后的位置算起。
8、变量名和程序名等使用的英文名是由(F77:6;F90:31)个字符(包含英文字母A-Z、数字0-9、F90:下划线 _)构成,且第一个字符必须是字母。
9、Fortran没有规定保留字。但是变量名和函数名或语句定义符不能同名(同时出现)。
即下面情况错误:
SIN=3.5
A=SIN*SIN(2.0)

PRINT *,PRINT
10、标号和标签
可在语句开头加上标号或标签,用于指定特定的语句。有效范围限于一个程序单位内。

标号:1-5位的10进制整数,且至少一位不为0,前导0不起作用。F90中,不可对空语句加上语句标号。不能使用整型变量来指定转向语句的标号。

标签:英文名,后面接“:”(冒号) (F90)
例: (F90)

DO k = 1,100
loop2: DO

END DO loop2 !已有标签名时不能省略标签名。
END DO

数学运算

1、常量

数据类型表示例子
整型integer12345678, -256,912345678901_k(K字节)
实型real3.141592,-2. ,7.8E-12,2.7182818_p(p字节)
复型complex实部与虚部用括号围起来表示:(实数,实数)
逻辑型logical.TRUE.(真) 和 .FALSE.(假)
字符型character1个字符为1字节(中文为2字节)。用(F90:" ")围起来的字符串。

注:
(1)1是整型,而1.是实型
(2)整型:默认值为4字节(其它为1,2,8字节,Compaq Visual Fortran允许在Alpha机上使用8字节整数)。若用4字节32位(bit)中用一位存放数值的符号,其余(31位)为数本身(用二进制表示),即整数的范围是有限的:-231~231-1,即-2147483648到2147483647之间。
(3)实数默认值为4字节(其它为8字节)。实数是有小数点的数,有效位数为7位,其绝对值的范围与计算机系统和精度型(单精度和双精度)有关。若用4个字节(32bit)来存储时,1位存储数的符号,7位存储指数部分,24位存储数字部分,最大可以存储的数为224-1,即范围为0~16777215。如果一个数的绝对值超过此范围,就会出现“溢出”,绝对值比上界大的称为“上溢”,系统对此按数据出错处理。比下界小的称为“下溢”,大多数计算机系统将该数据按零处理。
(4)单精度:_4,
单精度是1位符号,8位指数,23位小数。
取值范围是10的-38次方到10的38次方,有效位数为7位,小数点后6位。
双精度:_8 的作用相当于 d0
双精度是1位符号,11位指数,52位小数。
取值范围是10的-308次方到10的308次方,有效位数为16位,小数点后15位。

2、变量
优先级:类型说明语句>IMPLICIT语句>“I—N规则”的隐含约定
IMPLICIT语句和类型说明语句应该出现在本程序单位中的所有执行语句之前,其中IMPLICIT语句又应在所有的类型说明语句之前。
eg.
IMPLICIT REAL(I,J)
INTEGER IMAX
IMAX变量为整型,而其它以I、J开头的变量为实型

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值