- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FORTRAN 90
绪论
特点
在FORTRAN 77的基础上增添了许多具有现代特性的功能、递归、数组直接运算、派生类型、指针和过程。
与FORTRAN 77的区别
不区分书写格式
不赞成语句标号
不使用BLOCK DATA 数据块子程序、语句函数
主程序以PROGRAM 开头,以END PROGRAM为结尾
函数子程序:区分函数名与函数值
不使用GOTO 10、STOP、PAUSE语句
不使用DO 10 I=1,3,而以DO与END DO 匹配使用。
不使用:I-N规则、双精度、DATA语句、多条RETURN语句。而使用REAL ::A=0,B=2.5
不使用COMMON语句,而用模块MODULE
用假定形状数组取代假定大小数组
DIMENSION A(10)在FORTRAN 90中不再定义数组
FORMAT 语句不再使用
FORTRAN 90 基础知识
第2.1节 语言元素
字符集
1、A-Z (26个)
2、0-9 (10个)
3、_(下划线)(1个)
4、特殊符号(21个):
空格、等号、加号、减号、*、/、(、)、,、.、’、?:、!、”、%、、;、、、?、$
数据类型
本身:INTEGER real complex character logical
派生类型
种别参数:对可移值数据精度和范围进行选择的机制,他提供了对每种内部数据类型的不同机器表示进行选择的参数化方式,种别参数均为整数。用法:KIND=种别参数。函数KIND(X)表示返回X的种别参数。
常量(字符型:双、单引号表示)
常数的种别标示:例 15_2 14.36_3 .false._4 5_’ang’
带种别参数的常量的运算:15_2+14.36_3=29.36_3
定义常量:REAL(KIND=2),PARAMETER::N=5
变量
变量名(程序名、常量、虚参、派生类型)命名规则:
长度小于等于31个字符、须以字母开头、由字母、数字、下划线构成,其中不出现空格。
类型说明(基本类型):
规则:类型关键字(种别说明),属性说明1,属性说明2,…….::变量名表
例:integer(kind=3),dimension(1:15)::a
其中属性说明有:
parameter dimension public intent private optional
pointer save target external intrinsic allocatable
在类型说明时可直接给变量赋值:
real,parameter::I=2,j=6
程序单元
主程序(不含subroutine\function\module)
格式:program 程序名
[说明部分]
[可执行部分]
[内部过程]
end program [程序名]
子程序(过程)
模块(无可执行语句、仅是共享与复制的作用)
第2.2节基本语句
赋值语句
表达式(关系表达式)与内部函数
输入/输出语句
编辑符
输入
自由格式
real (*,’(i7)’) x
(2) 表控格式
read *,输入表
注意:1)类型与个数匹配
2)每一个read总从新的一行记录开始读数
3)输入的只能是常数,而不能为变量或表达式
4)若输入3*5,表示3个5
输出
自由格式
表控格式
选择结构
if结构
if (条件) 一条可执行语句
if (条件1) then
块1
end if
3、if (条件1) then
块1
else
块2
end if
4、[if 结构名:] if (条件1) then
块1
else if (条件2) then
块2
………
else
块n+1
end if [if 结构名]
if (条件1) then
块1
else if (条件2) then
else
块3
end if
if (条件1) then
else if (条件2)then
块2
…….
Else
块n+1
end if
case 结构
格式:[结构名:] SELECT CASE (情况表达式)
CASE (值1)
语句块1
CASE (值2)
文档评论(0)