(完整版)FORTRAN90用法总结,推荐文档

合集下载

fortran90第二章

fortran90第二章

2.1.2 符号常量
£ 符号常量,是用一个标识符来代表一个常量。符号常量常用 PARAMETER语句来定义。例如: PARAMETER (PI=3.1416,M=10)
£ 该语句定义了两个符号常量PI和M,在该程序单位内,PI代表3.1 416,M代表10
£ PARAMETER为特有的常量定义标识,要定义的项必须放在() 内,如果有多项,项之间要用逗号隔开。
FORTKAINND值中字变节量二的进位类型精度的定义取有值三范种围(方绝对式值:)
1.
类型说4 明语4句
8
8
32 64
7位 15位
0,[10-38,10+38] 0,[10-308,10+308]
£格式为:类型说明符 变量名1,变量名2…
说明:大于最大值,产生上溢错,小于最小值,按0处理。
£其中类型说明字为:
£ 符号常量与变量有着本质的区别,PARAMETER语句是非执行语 句,变量对应于一个存储单元,程序执行时,可将表达式的值存 放到变量所对应的存储单元中(即给变量赋值)或从变量所对应 的存储单元中取出相应的值。 符号常量不能当变量使用
例1 输入圆柱体的半径和高,求圆柱体的表面积和体积
PROGRAM fex REAL R, H, S, V PARAMETER (PI=3.141593) PRINT *, “请输入半径和高:” READ *, R, H S=PI*R*2*H V=PI*R**2*H PRINT *, “表面积为:”, S PRINT *, “体积为:”, V END
SIN(x)
实型 求正弦
sinx
SQRT(x)
实型 求平方根 √x
TAN(x)
实型 求正切

fortran90简易教程

fortran90简易教程

f90 real, parameter :: pi=3.14
real(8), parameter :: pi=3.1415926535d0
五、表达式 1. 算术表达式 运算符号+-* / 乘方**
*相同类型的数据,其计算结果仍为原类型
1/2=0 1./2.=0.5 *不同类型的数据之间进行混合运算时,将转换为同一类型(低级->高级),例如:
matmul(matrix_a,matrix_b) 矩阵相乘
dot_product(vector_a,vector_b) 向量点积
transpose(matrix) 转置矩阵
七、控制结构 1.if 语句 if (a>0 ) then
… elseif(a<0) then … else … endif
(逻辑型,.true. 或 .false.)主要不要漏写.
注意以下几点 1.Integer(1)、integer(2)赋值溢出,编译器不报错 比如 Integer(1):: x
x=128 write (*,*)x 输出:-128
而 integer、real、double precision 都可以判断溢出
integer x(3) real y(3,4) real(8) z(-2:2)
f90 integer ,dimension(3) :: x real ,dimension(3,4) :: y real(8), dimension(-2:2) ::z
数组赋值 x(1)=1 x(2)=3 x(3)=5
End
则输出二十个 1
2.1+(17/5)=2.1+3=2.1+3.0=5.1 2. 逻辑表达式
关系运算符:

fortran90总结第二章(部分) 林晓彤主编

fortran90总结第二章(部分) 林晓彤主编

第一章:类型说明(种别说明),属性说明1,属性说明2……Integer(kind=2),dimension(1:14),…….2.1程序program height_of_yaoimplicit noneinteger::height ,height_feet !声明整形变量real::h_inch,height_inches !声明实型变量integer,parameter::foot_inch=12 !整型符号常量real,parameter::inch_cm=2.54 !实型符号常量height=226 !身高厘米数h_inch=height/inch_cm !折合英尺print*,'The height is',h_inch,'inches.'height_feet=int(h_inch/foot_inch) !身高英尺数height_inches=h_inch-height_feet*foot_inch !身高英寸数print*,'The height is',height_feet,'feet',&height_inches,'inches.'end program height_of_yao!在不同处理器中,表示同样精度和范围的树枝,所采取的种别参数是不一样的。

2.2.1整形数据program testimplicit noneinteger::forty_two,sixty_three,max_byteforty_two=B'101010' !二进制赋值sixty_three=O"77" !十进制赋值max_byte=Z'ff' !十六进制赋值print*,'forty_two=',forty_two,'sixty_three=',sixty_three,'max_byte=',max_byteend program test'kind'的妙用:kind的数值依赖于处理器。

FORTRAN_90_复习

FORTRAN_90_复习

FORTRAN 90 基础知识第三章基本知识,如:字符集、名称、关键字、程序单元、书写格式、数据类型。

名称:①名称只能由英文字母、数字、下划线符“_”和美元符号“$”组成。

②名称第一个字符必须是英文字母。

③名称不能超过31个字符。

合法名称: Number,Max, PrOgRaM, FIND_IT, read, x, a3b7, china, total, x$y$z 。

非法名称:X-Y-Z, 8q, a.5, _wrong,U.S.A., DR.WANG,$abcd,r a t e 。

书写格式:自由格式,固定格式3个通用标志符:注释标志符“!”、语句分隔标志符“;”和续行标志符“&”。

数据类型第四章 内部数据类型常量和变量:语法描述; 精度(kind 值)和取值范围 整型常量:整数(10进制)。

实型常量:实数。

复型常量:复数。

字符型常量:字符串。

逻辑型常量:逻辑值,布尔值。

.true. .false.变量的申明。

表达式算术表达式:算术运算符的优先级和结合规则;操作数的类型转换FORTRAN 90 数据类型内部数据类型派生类型(记录类型)数组类型指针类型 公用区类型类型整数类型 实数类型 复数类型字符类型 逻辑类型运算符 含义 结合顺序 优先级 运算速度 说明 ( ) 最高 ** 乘方 左←右 高 慢 两个**之间不能出现空格 * / 乘 除 左→右 ↑ ↑ 数学符号× ÷为非法字符,用*和/代替 + - 加(二元加) 减(二元减) 左→右 ↓ ↓ + - 正(一元加) 负(一元减) 低 快不同优先级运算符,“先高后低”结合先乘方、后乘除、再加减,括号最优先相同优先级运算符,“从左向右”结合,如9-4+12/3*2**3 = ?乘方算符,“从右向左”结合,如2**3**2 = ?尽量多地使用( ),以使意义明确,避免出现歧义和产生错误转换规则“由低级向高级转换”①数据类型和KIND相同的两个算术操作数,计算时不转换,运算结果的类型和KIND与原数据相同。

fortran90整理

fortran90整理

fortran90整理1语句编译1.Build—Compile:编译;Build—Build:连接;Build—Exetuce:运⾏;或单击⼯具栏相应按钮。

注意:a、保存⽂件时将⾃动创建同名的project⽂件,形成*.dsp⽂件;b、同时还将⾃动创建同名的workspace,形成*.opt和*.dsw⽂件;c、编译连接后⾃动形成Debug⽬录,该⽬录中存放编译连接后⽂件。

如:*.obj,*.lnk,*.exe等2.Free Format(⾃由格式)1.!感叹号后⾯的⽂本都是注释。

2.每⾏可以编写132个字符。

3.⾏号放在每⾏程序的最前⾯。

4.⼀⾏程序代码的最后如果是符号&,代表下⼀⾏程序会和这⼀⾏连接。

如果⼀⾏程序代码的开头是符号&,代表它会和上⼀⾏程序连接。

3.书写格式⾏的书写(⾏的长度、分⾏、续⾏)1⼀⾏可以是0~132个字符,空格有意义,2语句最长不超过2640个字符3⼀⾏可以有多个语句,⽤“;”分隔4⼀个语句可分⾏写,读⾏标记为&(放在尾部),但如为关键字,⾸尾均加&。

5最多可有511个续⾏。

4.语句的分类注释语句:!后的所有字符都被编译器忽略1.可独占⼀⾏,可在其它语句之后,a)空⾏为注释⾏(固定格式⽤C和*)2.说明语句:⽤于说明变量的类型、属性等3.可执⾏语句:输⼊、赋值、输出……5.语句有位置规定:说明语句必须出现在可执⾏语句之前,格式说明语句(FORMAT语句)除外。

6.标志符⼩结注释标志符:1⾃由格式:!固定格式:C *2语句分隔符:分号;(仅⾃由格式可以使⽤)3续⾏符:⾃由格式:&4申明标号:1到5位⽆符号整数5空格:关键字、变量、常量内部不能⽤空格,但相邻两者之间须⽤空格6.FORTRA90源程序基本结构1、FORTRAN90程序是⼀种分块结构,由若⼲个程序单元块组成:主程序、外部⼦程序、模块、块数据单元⽆论是主程序单元,还是⼦程序单元,都是独⽴的程序单位,应该独⽴编写,它们的形式相似。

第三章FORTRAN90基础知识

第三章FORTRAN90基础知识
使 用 变 元 关 键 字 可 提 高 程 序 的 可 读 性 , 如 内 部 函 数 CMPLX ( X [ , Y] [ , KIND] ) 的X、Y和KIND为变元关键字,可使用 下面语句调用CMPLX函数:
CMPLX (10, 20, 4)
! 按序指定参数。
CMPLX (y=20, kind=4, x=10) ! 按变元关键字指定参数。
_wrong,U.S.A.,
下面是几个使用合法名称的语句例子。
INTEGER total
!total命名了一个整型变量
SUBROUTINE example !example命名了一个过程
PROGRAM area
!area命名了一个程序单元
Lable:DO I=1,N !Lable命名了一个DO循环
第三章 FORTRAN 90基础知识
3.3 关键字/示例
END FUNCTION mul(x,y)
mul=x*y END FUNCTION
第三章 FORTRAN 90基础知识
09/10秋学期
概述 分类 描述 示例
3.4 程序单元
一个F90程序可由多个程序单元组成(至少一个主程序单元)。 程序单元由数据声明和相关操作(语句)构成,必须用END语句结束。
3.2 名称
概述 语法描述 作用域 示例
<名称>→<英gt;∣“_”∣“$”}
说明: ① 名称只能由英文字母、数字、下划线符“_”和美元
符号“$”组成。 ② 名称第一个字符必须是英文字母。
3.2 名称/语法描述
③ 名称不能超过31个字符。
第三章 FORTRAN 90基础知识
模块单元:能被其它程序单元访问的一组定义(数据类型定义、 过程定义)、过程接口定义)所构成的程序单元,其中模块子程序 允许本模块或其它程序单元调用执行。由MODULE语句开始。

FORTRAN 90

FORTRAN 90

FORTRAN 90第一章绪论一、特点在FORTRAN 77的基础上增添了许多具有现代特性的功能、递归、数组直接运算、派生类型、指针和过程。

二、与FORTRAN 77的区别1、不区分书写格式2、不赞成语句标号3、不使用BLOCK DATA 数据块子程序、语句函数4、主程序以PROGRAM 开头,以END PROGRAM为结尾函数子程序:区分函数名与函数值5、不使用GOTO 10、STOP、PAUSE语句6、不使用DO 10 I=1,3,而以DO与END DO 匹配使用。

7、不使用:I-N规则、双精度、DATA语句、多条RETURN语句。

而使用REAL ::A=0,B=2.58、不使用COMMON语句,而用模块MODULE9、用假定形状数组取代假定大小数组10、DIMENSION A(10)在FORTRAN 90中不再定义数组11、FORMAT 语句不再使用第二章F ORTRAN 90 基础知识第2.1节语言元素一、字符集1、A-Z (26个)2、0-9 (10个)3、_(下划线)(1个)4、特殊符号(21个):空格、等号、加号、减号、*、/、(、)、,、.、’、:、!、”、%、&、;、<、>、?、$二、数据类型本身:INTEGER real complex character logical派生类型种别参数:对可移值数据精度和范围进行选择的机制,他提供了对每种内部数据类型的不同机器表示进行选择的参数化方式,种别参数均为整数。

用法:KIND=种别参数。

函数KIND(X)表示返回X的种别参数。

1、常量(字符型:双、单引号表示)常数的种别标示:例15_2 14.36_3 .false._4 5_’ang’带种别参数的常量的运算:15_2+14.36_3=29.36_3定义常量:REAL(KIND=2),PARAMETER::N=52、变量(1)变量名(程序名、常量、虚参、派生类型)命名规则:长度小于等于31个字符、须以字母开头、由字母、数字、下划线构成,其中不出现空格。

fortran90-知识点整理

fortran90-知识点整理

U(部件)
*:
系统约定设备
某个值: 指定通道号(设备逻辑号、文件号)
f(格式)
表控格式 I/O(*): 系统约定的格式。 基本格式(自定格式)I/O:按用户要求的格式组织 I/0。 带控制信息表的 I/O:
I:碰到回车(ENTER)为一个记录。 O:一行为一个记录。
程序执行过程中按表控格式输入数据 各数据间有分隔符: ,或空格 类型匹配:整型:带小数点只取整数部分;
1、计算条件表达式的值
2、真
右边语句
IF 的下一个语句
3、假
IF 的下一个语句
注意:
1.右边通常为一条且只一条可执行语句。
错例:IF (A<B) T=A;A=B;B=T
2.不能为以下语句:
END、另一个逻辑 IF、 块 IF、ELSIF、ENDIF、DO
错例:IF(X<2)END
3.常应用于简单的条件赋值或条件转移(在循环结构中)
USE 模块 1,模块 2,…
基本语句概述 程序的最基本的语句主要有四种:类型说明语句、赋值语句、输入语句、输出语句。运用 这些基本的语句,就可以编写一些简单的程序。 内在函数 FORTRAN 90 配置的函数称为内在函数。内在函数分为三种: 基本函数 :
SIGN 符号 函数值:|A1|(若 A2>0)
整型→实型→ 双精度 →复型 例: 8/5+2.0*5/2=6.0(逐步转化)
赋值语句
1、类型要求 逻辑型、字符型的赋值语句要求“=”两边类型相同 数值型赋值,不区别整型、实型和复型 2、种别方面 字符型要求种别相同 其余类型的 e、V 种别允许不同 输入输出语句 1、I/O 的对象 ——列在<I/O 表>中
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可执行语句
5>算术IF
IF(算术表达式)标号1,标号2,标号3
标号1 可执行语句1
标号2 可执行语句2
标号3T CASE(表达式)
CASE(表达式1)
块语句1
...
CASE(表达式N)
块语句N
CASE DEFAULT
默认块语句
END SELSCT
5、循环函数
1>循环控制语句
END IF
2> 双支IF
IF(逻辑表达式) THEN
块语句1
ELSE
块语句2
END IF
3>多支IF
IF(逻辑表达式1) THEN
块语句1
ELSE IF(逻辑表达式2) THEN
块语句1
...
ELSE IF(逻辑表达式N) THEN
块语句N
ELSE
块语句N+1
END IF
4>逻辑IF
IF(条件表达式)
标号 FORMAT(格式说明)
3>其他编辑符
①nX向右跳过n个字符
②nH输出字符串
③/换行
④\连接
7、数组
1>说明数组
DIMENSION数组名
类型说明,DIMENSION(维说明)::数组名
2>数组赋初值
DATA数组名/....../,数组名/....../,...
3>动态数组
①声明
[类型],DIMENSION(:[,:]...),ALLOCATABLE::数组名
10、指针
1>定义指针
类型说明,POINTER::指针变量名...
类型说明,TARGET::目标变量名...
P=>A
2>动态变量
例:INTEGER,POINTER::P
INTEGER S
ALLOCATE(P)
P=4
S=P
DEALLOCATE(P)
PRINT *,S
END
3>指针数组变量定义
类型说明,DIMENSION(:...:),POINTER::指针变量名
6>对指针初始化(对头指针清空)
SUBROUTINE SETUP(L)
TYPE(LIST)L
NULLIFY(L%END)
END SUBROUTINE SETUP
IF(e) EXIT 终止循环
2>CYCLE
跳出此次循环
3>DO循环
DO i=e1,e2[,e3]
循环体
END DO
4>DO WHILE循环
DO WHILE(逻辑表达式)
循环体
END DO
6、输入输出
1>表控输入输出
READ *,变量表
PRINT *,输出表
WRITE(*,*)输出表
2>自定义输入输出
ALLOCATE(X(20))
DEALLOCATE(X)
4>定义结点
TYPE NODE
INTEGER VALUE
TYPE(NOPE),POINTER::NEXT
END TYPE NODE
5>定义头指针
TYPE LIST
PRIVATE
TYPE(NODE),POINTER::END
END TYPE LIST
[类型],ALLOCATABLE::数组名(:[,:]...)...
②申请
ALLOCATE(数组名(维说明))
③释放
DEALLOCATE(数组名)
8、子程序
1>子程序
CONTAINS(内部子程序的标志(外部EXTERNAL))
[类型说明] FUNCTION函数名(虚参表)
函数体
END
2>子例行程序
SUBROUTINE子例行程序名(虚参表)
LGT(String1,String2)
LLE(String1,String2)
LLT(String1,String2)
10>字符串空格首位调整
ADJUSTL(String)、ADJUSTR(String)
11>字符串、ASSII码互相转化函数
①化为ASSII码 ICHAR(String)、IACHAR(String)
函数体
END
调用CALL子例行程序名(实参表)
3>递归调用
RECURSIVE FUNCTION(SUBROUTINE)函数名(虚参表) RESULT(返回值)
函数体
END
9、结构体
1>定义
TYPE [,ACCESS[::]]派生类名称(ACCESS=PRIVATE(私有),PUBLIC(公有))
分量表
3>** 乘方
4>STOP[标号]终止执行
5>PAUSE[标号]暂停程序
6>字符串长度函数 LEN(String)、 LEN_TRIM(String)
7>除去字符串尾部空格 TRIM(String)
8>字符串位置函数 INDEX(String1,String2)
9>字符串比较函数
LGE(String1,String2)
②化为字符串CHAR(I)、ACHAR(I)
12>.LT.(<) .LE.(<=) .EQ.(=) .NE.(/=) .GT.(>) .GE.(>=)
13>.AND.与 .OR.或 .NOT.非 .EQV.等于 .NEQV.不等 .XOR.异或
3、IF函数
1> 单支IF
IF(逻辑表达式) THEN
块语句
FORTRAN90用法总结
1、数据类型
整型 INTEGER
实型 REAL
复型 COMPLEX
字符型 CHARACTER
逻辑型 LOGICAL
2、特殊函数
1>定值函数 PARAMETER(变量列表) 或 类型说明符,PARAMETER::变量列表
2>IMPLICIT 类型说明符(字母表)类型定义函数(默认I-N规则,取消IMPLICIT NONE)
END TYPE派生类名称
2>类型定义
TYPE(派生类名称)::结构体变量名
3>结构体成员引用
①结构体名%成员名
②结构体名.成员名
4>定义的同时赋值
TYPE(派生数据类型名)::结构体变量名=派生数据类型名(成员初值表)
5>结构体数组
TYPE(派生数据类型名),DIMENSION(维说明符)::结构体数组名
相关文档
最新文档