fortran常用字符标识
FORTRAN知识点总结

F O R T R A N第2章FORTRAN90基础知识:程序单元的概念:fortran90程序是一种分块形式的程序,整个程序由若干程序单元块组成。
每个程序只有一个主程序单元。
各单元体的程序体形式上相同。
程序单元可以是主程序、子程序(外部过程或内部过程)、模块MODULE (供其他程序单元引用即把该程序单元内的全部语句复制到程序单元中)或块数据程序单元BLOCK 。
语言元素:指在程序设计中用到的基本成分,如字符集、常量、变量、记号(标号、关键字、名字、常数、运算符和定界符)以及其他的基本结构等。
字符集:英文字母、阿拉伯数字、下划线、21个特殊字符($和?没有规定用法)。
数据结构:整型INTEGER (34-2下划线后面是种别参数),n 位字长的计算机的数据表示范围一般为12~211-+---n n ,种别参数由内在询问函数KIND 送回,种别值提供的最小范围由内在函数SELECTED-INT-KIND 送回,表示十进制幂的范围由内在函数RANGE 送回;实型REAL ,小数形式和指数形式;复型COMPLEX (种别类型参数值取实部与虚部中较大者);字符型CHARACTER,由一对单撇号或双撇号之间的字符序列组成;逻辑型LOGICAL。
派生数据类型TYPE;数组INTEGER,DIMENSION(1,50)::A,可直接对数组元素进行运算如3*A,SQRT(A);字符子串,在字符串CHARACTER(LEN=80)::ROW中,ROW(1:3)就表示字符串ROW中第1到第3个元素组成的子串。
变量名的命名规则:不能超过31个字符;组成成分是字母、数字、下划线;第一个字符必须是字母。
第3章基本语句:类型说明语句:类型说明(种别说明),属性说明::变量名表尽量避免把两个实数作相等或不相等的比较。
淘汰隐式说明IMPLICIT NONE种别说明:种别参数即对可移植数据精度和范围进行选择的机制KIND(X) 返回变元X的种别参数值SELECTED-REAL-KIND(n,m) 产生一个种别值,它表示某一精度和范围。
Fortran 中的一些缩写

2.关系运算符。
FORTRAN有六个关系运算符,用于比较两个表达式相等或不等。
它们是:
大于.GT.
大于或等于.GE.
小于.LT.
小于或等于.LE.
等于.EQ.
不等于.NE.
经过关系运算符比较后,得到一个逻辑型的值。
例如,整型变量I的值为10,J的值为12,则I.LT.J的结果为“真”(.TRUE.),而I.EQ.J的结果为“假”(.FALSE.)。
3.逻辑运算符。
FORTRAN有五个逻辑运算符,它们是:。
逻辑与.AND.两个逻辑型量都为“真”时,其值为“真”,否则为“假”;
逻辑或.OR.两个逻辑型量都为“假”时,其值为“假”,否则为“真”;
逻辑非.NOT.一个逻辑型量为“真”时,其值为“假”,否则为“真”;
逻辑等.EQV.两个逻辑型量等值时,其值为“真”,否则为“假”;
逻辑不等.NEQV.两个逻辑型量不等值时,其值为“真”,否则为“假”。
逻辑运算符中,除了逻辑非运算符.NOT.只有一个运算对象外,其余四个逻辑运算符均有两个运算对象。
逻辑运算符的优先级如下;
(1).NOT.
(2).AND.
(3). OR.
(4). EQV.与.NEQV. 这两个运算符按照先左后右的原则进行运算。
FORTRAN第二章

2013-9-23
Fortran 变量
16
在程序运行过程中其值可以改变的量,称为变量。变量用 标识符表示,称为变量名。每个变量是以变量名来代表的, 变量名是名字的一种。 变量必须‚先定义后使用‛,变量的命名最好是‚见名知 义‛ 系统为变量分配存储单元,存储变量的值。 编写程序时通过变量名来存、取变量值。 在同一个程序单位中不能用同一个标识符代表不同的变量。 变量定义的一般格式:
stop
end 运行结果:(屏幕显示) 1.000000 + 0.100000 =
write(*,*) a,"+",b,"=",a+b
stop end program ex0409
1.100000
= 100000.0 (wrong)
100000.000100000
运行结果:(屏幕显示) 100000.0 + 9.9999997E-05 运行结果:(屏幕显示)
17
2013-9-23
实型变量(Real)
实型变量又称浮点数变量,分为单精度和双精度类型, real(kind=4) a 单精度 real(kind=8) a 双精度 计算机在存储实型数时 ,先转化成科学计数法.要考虑有效 位数的概念,正确使用单(双)精度类型。 1.例如要保存12345会转化成1.2345*104 ,其中的数值部分可 以保存约6位数字;
数据类型说明符
例如:
声明使用 整型态数
变量列表;
a
a是自己取的名字,在程序中以 这个名字表示一块存放整数的空 间,称为变量
2013-9-23
integer
Fortran 变量(续)
fortran format用法

fortran format用法1.引言1.1 概述Fortran是一种编程语言,由IBM公司于1950年代开发。
它被广泛应用于科学计算和数值分析领域,尤其在大规模计算和高性能计算方面表现出色。
Fortran语言的一个重要特性是它的格式化输出功能,即Fortran Format。
Fortran Format是一种格式控制语句,用于指定数据的输出或输入格式。
它可以精确地控制数据的显示方式,包括字段宽度、数值精度、对齐方式等。
通过使用Fortran Format,程序员可以轻松地格式化输出数据,使其更易于阅读和理解。
在Fortran程序中,可以使用一些特定的符号和代码来定义格式控制语句。
例如,可以使用A表示字符型数据、I表示整型数据、F表示浮点型数据等。
通过在格式控制语句中使用这些符号和代码,可以将不同类型和长度的数据格式化为适合打印或写入文件的形式。
除了基本的数据类型,Fortran Format还提供了许多其他功能,如控制字段宽度、指数表示法、对齐方式、填充字符等。
这些功能使得程序员能够自定义数据的输出格式,满足特定需求。
Fortran Format在科学计算和数据处理中扮演着重要的角色。
它可以帮助程序员更好地展示和共享计算结果,提高代码的可读性和可维护性。
此外,由于Fortran Format提供了丰富的格式化选项,它还可以用于数据文件的读写操作。
本文将介绍Fortran Format的基本概念和常用用法。
首先,我们将讨论Fortran Format的基本原理和语法规则。
然后,我们将探讨一些常见的格式化选项,包括字段宽度控制、数值精度控制和对齐方式控制等。
最后,我们将总结Fortran Format的重要性,并展望它在未来发展中的潜力。
通过本篇文章的阅读,读者将能够全面了解Fortran Format的用法和作用,提高对Fortran编程的理解和应用能力。
无论是初学者还是有一定经验的程序员,都可以从中获益,使其编写的Fortran程序更加出色和实用。
Fortran重点

求余数 MOD(A1,A2) 函数值:A1-INT(A1/A2)*A2 MOD(1,3)=1 MOD(3,1)=0
某些函数参数只能为实型 如:log(2.0) (loG(2)错) sqrt(2.0) sin(2.0)
(2) 转换函数
函数名 INT(X) REAL(X) 含义 实型转换整型、 复型的实部转换整型 整型转换实型、 复型的实部转换实型 FORTRAN举例 INT(2.3)=2 INT((1.2,3.5))=1 REAL(8)=8.0 REAL((1.2,3.5))=1.2
2.3.7 基本类型数组
数组是具有相同类型的元素的有序集合。数组在使用之前必须说明。 数组的说明: INTEGER,DIMENSION(1:50)::X
数组名为X,类型为整型,元素个数为50。
INTEGER,DIMENSION(5,3)::B 数组名为B,类型为整型,元素个数为5*3个
2.4.1 主程序
7、与外观一致的输入输出格式(重点)
① READ(*,’(3I2)’)((A (I,J),J=1,3),I=1,2) 格式隐DO输入: 1 2 3 4 5 6 ② DO I=1,2 READ(*,*)(A(I,J),J=1,3)
输入格式: 与外观一致
ENDDO
行显DO列隐DO的输入:1,2,3 4,5,6
2Y+2
1/2,2-1 [(a+b)+c]
((a+b)+c)
例:
2 1、 sin( 4) 3
(sin 4 cos10)e2.5 2、 2 ax ln(3 * 5)
想一想:
1/2*3.6-1.2的值? 有何 3.6*1/2-1.2的值? 不同?
FORTRAN90复习

第三章 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 值)和取值范围整型。
实型。
复型。
字符型。
CH(1:5)是什么?逻辑型。
变量的申明(几种声明方式,谁优先)。
表达式 (会写正确的表达式,表达式计算结果)如:e算术表达式:算术运算符的优先级和结合规则;操作数的类型转换不同优先级运算符,“先高后低”结合先乘方、后乘除、再加减,括号最优先相同优先级运算符,“从左向右”结合,如9-4+12/3*2**3 = ?乘方算符,“从右向左”结合,如2**3**2 = ?尽量多地使用( ),以使意义明确,避免出现歧义和产生错误转换规则“由低级向高级转换”①数据类型和KIND相同的两个算术操作数,计算时不转换,运算结果的类型和KIND与原数据相同。
②数据类型相同但KIND值不同的两个算术操作数,计算时,将KIND值低的操作数转换为高KIND值,运算结果为高KIND值的原类型。
③数据类型不同的两个算术操作数,将低级别类型的操作数高级别类型,运算结果的类型及KIND值与高级别类型操作数相同。
字符表达式字符串连接操作符//“I” // ‘ ‘ // “Love” // ‘ ‘ // “Fortran 90” I Love Fortran 90逻辑变量逻辑与逻辑或逻辑非逻辑等于逻辑不等逻辑异或X Y X.AND.Y X.OR.Y.NOT.X X.EQV.Y X.NEQV.Y X.XOR.Y T T T T F T F FT F F T F F T TF T F T T F T TF F F F T T F F逻辑运算的优先级:.NOT. →.AND.→.OR.→.EQV.、.NEQV.、.XOR、相同优先级时,运算按从左到右的顺序进行(“左结合”)(3>5).and.(4>1))的计算结果是什么?赋值语句 (能写出正确的赋值语句)第五章数据的有格式输入输出I编辑符F编辑符E编辑符D编辑符A编辑符READ(*,*)a,bWRITE(*,*)a,bWRITE(1,"(1X,I5)")WRITE(1,100)100 FORMAT(1X,I5)Open(10, FILE=“FILE1.txt” ,STATUS=“new”)WRITE( * , '(1X, A, "=", I2)') '2+3', 2+3第六章选择结构程序设计逻辑IF语句块IF语句多支块IF语句会写多支块IF程序,块CASE语句第七章循环结构程序设计EXIT语句的功能是:在循环体执行过程中强制性终止整个循环语句的执行,转循环语句后的第一条语句执行。
fortran常用字符标识

8 FORTRAN77内部函数
INT(X) REAL(X) DBEL(X) CMPLX(X) CHAR(X) ICHAR(X) AINT(X) ANINT(X) NINT(X)
说实话,从科技发展的趋势来说这不是好事。您可以设想一下,如果需要用鹅毛 笔抄写大量的古籍是什么感受! 强烈建议阅读《发掘 C#特性赋予科学计算项目以威力》
1 FORTRAN77四则运算符
+ - * / ** (其中**表示乘方) 在表达式中按优先级次序由低到高为: +或-→*或/→**→函数→()
2 FORTRAN77变量类型
INDEX(X1,X2)
返回 X 的绝对值 返回 X1/X2的余数 取 X2的符号,取 X1的绝对值 当 X1>X2时,等于 X1-X2,当 X1≤X2时,等于0 双精度乘(X1,X2均为实数) 返回字符串 X 的虚部 返回字符串 X 的共轭 返回 X1,X2,X3,...,XN 中最大值 返回 X1,X2,X3,...,XN 中最小值 返回 X 的平方根(X≥0) 返回 E 的 X 次方 返回以 E 为底的 X 的对数即自然对数(X>0) 返回以10为底的 X 的对数即常用对数(X>0) 返回弧度值 X 的正弦值 返回弧度值 X 的余弦值 返回弧度值 X 的正切值 返回弧度值 X 的反正弦值 返回弧度值 X 的反余弦值 返回弧度值 X 的反正切值 返回 X 的双曲正弦值 返回 X 的双曲余弦值 返回 X 的双曲正切值 返回字符串 X 的长度 返回字符串 X2在字符串 X1中的位置,不包含时返回 0
PARAMETE R (PI=3. 14)
fortran知识点总结

fortran知识点总结一、语法结构Fortran语言的语法结构遵循一套严格的规则。
下面是一些常见的语法结构:1. 程序单元:Fortran程序由一个或多个程序单元组成。
每个程序单元由一个或多个声明和执行语句组成。
2. 注释:在Fortran中,注释可以用来提高代码的可读性。
注释以感叹号(!)开头,直到行末为止。
3. 标识符:Fortran中的标识符由字母、数字和下划线组成,且区分大小写。
标识符用于表示变量、函数、子程序等。
4. 变量声明:在Fortran中,变量声明使用关键字“REAL”、“INTEGER”、“LOGICAL”等来指定变量的数据类型。
例如,REAL :: x 表示声明了一个实数类型的变量x。
5. 程序控制结构:Fortran提供了多种控制结构,包括顺序结构、条件结构和循环结构。
这些结构提供了程序的流程控制和逻辑控制。
6. 函数和子程序:Fortran支持函数和子程序的定义和调用。
函数和子程序可以帮助程序员组织和重用代码。
7. 模块和接口:Fortran中的模块和接口提供了一种组织代码的方式。
模块可以包含多个子程序和全局变量,接口可以用来定义子程序的接口。
二、数据类型在Fortran中,数据类型用于表示数据的类型和大小。
Fortran提供了多种数据类型,包括整数、实数、逻辑值、字符、复数等。
下面是一些常见的数据类型:1. 整数:整数类型用于表示整数值。
在Fortran中,整数类型包括“INTEGER”、“LOGICAL” 和“CHARACTER”类型。
2. 实数:实数类型用于表示实数值。
在Fortran中,实数类型包括“REAL”和“COMPLEX”类型。
REAL类型用于表示实数,COMPLEX类型用于表示复数。
3. 字符:字符类型用于表示字符值。
在Fortran中,字符类型使用CHARACTER关键字进行声明。
字符类型可以表示单个字符或者字符数组。
4. 数组:数组类型用于表示多个相同类型的数据。
Fortran95基本语法

Fortran95基本语法字符:Fortran不区分大小写Fortran 格式:自由格式和固定格式。
Fortran程序代码扩展名为:*.For 或*.F的文件就是指固定格式;以*.F90为扩展名的文件,就是自由格式。
à固定格式:规定了程序代码每一行中每个字段的意义。
第7~72个字符,是可以用来编写程序的字段。
每一行的前5个字符只能是空格或数字,数字用来作为“行代码”。
每一行的第6个字符只能是空格或“0”以外的字符。
à自由格式:叹号(!)后面的文本都是注释。
每行可以编写13 2个字符。
行号放在每行程序的最前面。
一行程序代码的最后如果是符号&,代表下一行程序会和这一行连接;如果一行程序代码的开头是符号&,代表它会和上一行程序连接。
Fortran的数据类型à整型(Integer)à浮点数(Real) à复数(Complex) à字符(Character)à逻辑判断(Logical)—True or FalseRemark: Visual Fortran安装好后,默认的安装目录C:\Program Files\Microsoft Visual Studio\DV98\bin下有一个Bitviewer程序可以用来表看各种数据格式实际在内存中的二进制数据。
Fortran的数学表达式()(括号)、**(乘幂)、*(乘法)or /(除法)、+(加法)or –(减法)à优先级(高à低).输入(Write)输出(Print)命令Fortran程序通常以Program描述来开头,Program后面还要接一个自定义的程序名称(这个名称可以完全自定义,不需要和文件名有任何关系)。
Fortran程序最后还要有End描述,表示程序代码写到这一行结束。
Write(*,*)命令:括号中的两个星号都有各自的意义,第一个星号代表输出的位置使用默认值,也就是屏幕,第二个星号则代表不特别设置输出格式。
Fortran语言简介.ppt

• 注意!!index值從1開始算起!!
40
陣列2
• 使用陣列
– a(1)=18 – INTEGER A(3)
DATA A /36, 24, 36/ – 在FORTRAN 90中,還可以省略DATA這個敘
述 INTEGER :: A(3) = (/36, 26, 36/) ◎ 括號跟除號之間不能有空格,並且冒號不能 省略。
22
格式化輸出1
• 關於I
WRITE(*,”(I5)”) 100 !用5個字元的欄位來輸出一個整數
OUTPUT : _ _ 1 0 0 WRITE(*,”(I3)”) 100000 OUTPUT: * * * WRITE(*,”(I5.4)”) 3 !輸出五個字元欄位,至少輸出4位,不足補0 OUTPUT: _ 0 0 0 3
• 其它寫法
– CHARACTER*10 – CHARACTER(LEN=10) – CHARACTER*(10)
• 給予初始值
– A=”字串內容”
Fortran课件第一章

当型循环传统流程图
当型循环 N——S 图
b) 直到型循环——先执行循环体 A 块一次; P 为假 当 (F) 时,反复执行循环体 A 块;当 P 为真(T)时,退出循环 体 A 块,流程转到下面的语句。注:也可以让 P 为真时, 执行循环,P 为假时,退出循环。
三、结构化程序设计方法 结构化程序设计方法,就是结合计算机语言的特点,把算法结 构化的程序设计方法。具体说来,就是规定一些基本结构,由基 本结构来组织更复杂的算法。 结构化程序设计方法中的三种基本结构:1)顺序结构,2)选 择结构,3)循环结构。 1) 顺序结构——顺序执行 A 块和 B 块。
A B A B
例 fortest101.f90
! Free Format Demo program main writቤተ መጻሕፍቲ ባይዱ(*,*) „Hi‟ write(*,*)& „John‟ write(*,10) 10 format(„Fine!‟) stop end program main
注释:程序 fortest101.f90 中,第一行有感叹号“!,说明“! ” ” 之后且同行的文本为注释部分;第四行程序代码后面的“&” ,说 明第五行“„John‟”是它的继续行;第七行的格式语句的标号“10” 写在前面。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 . . . ... 72 73 C F I X E D F O R M A T p r o g r a m m a i n w r i t e ( * , * ) „ H i „ w r i t e ( * , * ) # „ J o h n „ w r i t e ( * , 1 0 ) 1 0 f o r m a t („ f i n e ! „ ) s t o p e n d Fortran 源程序必须包含且只能包含一个主函数(program 主 函数名…end 或 program 主函数名…end program 主函数名) 。 Fortran 程序由主函数开始执行,由主函数调用其他函数,最后返 回主函数结束。
F90第三章

第三章 FORTRAN 90基础知识
3.4 程序单元
概述 分类 描述 示例
一个F90程序可由多个程序单元组成(至少 有一个主程序单元),程序单元由数据声明和 相关数据操作语句构成,必须用END语句结束。
PROGRAM main INTEGER length,width,area,price
3.1 字符集
FORTRAN 90字符集由四部分字符组成: 1.英文字母:A~Z和a~z 除字符型常量外,源程序中不区分字母 大小写。
2.阿拉伯数字:0~9
3.1 字符集/字符集
3.下划线:_
4.特殊字符:空格 + - * / ( ) , . ‘:!“%&;<>?$=
第三章 FORTRAN 90基础知识
3.7 数据类型
概述 数据 数据表示 数据类型
数据类型是数据取值范围和在其上定义 的一组操作的总称。数据类型有四个性质:
每个数据类型有一个唯一的名称。
每个数据类型规定了一个取值范围。
每个数据类型规定了其常量数据的表示方法。
3.7 数据每类型/数个据类型数据类型规定了一组操作。
F90具有丰富的数据类型,有内部数据类型、派 生数据类型、数组和指针类型等。
3.8 兼容性问题
3.2 名称
概述 语法描述 作用域
名称(标识符)在程序中用来标识有关实 体(如:变量、命名常量、函数、过程、程序 单元、公用块、和哑元等)。
PROGRAM main INTEGER length,width,area,price READ*,length,width area=mul(length,width)
<主程序单元>→ [ <PROGRAM语句> ] [ <说明部分> ]
FORTRAN知识点总结

F O R T R A N第2章FORTRAN90基础知识:程序单元的概念:fortran90程序是一种分块形式的程序,整个程序由若干程序单元块组成。
每个程序只有一个主程序单元。
各单元体的程序体形式上相同。
程序单元可以是主程序、子程序(外部过程或内部过程)、模块MODULE (供其他程序单元引用即把该程序单元内的全部语句复制到程序单元中)或块数据程序单元BLOCK 。
语言元素:指在程序设计中用到的基本成分,如字符集、常量、变量、记号(标号、关键字、名字、常数、运算符和定界符)以及其他的基本结构等。
字符集:英文字母、阿拉伯数字、下划线、21个特殊字符($和?没有规定用法)。
数据结构:整型INTEGER (34-2下划线后面是种别参数),n 位字长的计算机的数据表示范围一般为12~211-+---n n ,种别参数由内在询问函数KIND 送回,种别值提供的最小范围由内在函数SELECTED-INT-KIND 送回,表示十进制幂的范围由内在函数RANGE 送回;实型REAL ,小数形式和指数形式;复型COMPLEX (种别类型参数值取实部与虚部中较大者);字符型CHARACTER,由一对单撇号或双撇号之间的字符序列组成;逻辑型LOGICAL。
派生数据类型TYPE;数组INTEGER,DIMENSION(1,50)::A,可直接对数组元素进行运算如3*A,SQRT(A);字符子串,在字符串CHARACTER(LEN=80)::ROW中,ROW(1:3)就表示字符串ROW中第1到第3个元素组成的子串。
变量名的命名规则:不能超过31个字符;组成成分是字母、数字、下划线;第一个字符必须是字母。
第3章基本语句:类型说明语句:类型说明(种别说明),属性说明::变量名表尽量避免把两个实数作相等或不相等的比较。
淘汰隐式说明IMPLICIT NONE种别说明:种别参数即对可移植数据精度和范围进行选择的机制KIND(X) 返回变元X的种别参数值SELECTED-REAL-KIND(n,m) 产生一个种别值,它表示某一精度和范围。
fortran格式符号

fortran格式符号Fortran(Formula Translation)是一种编程语言,主要用于解决科学计算和数值计算问题。
它是最早的高级编程语言之一,在1950年代由IBM开发,并在1960年代得到了广泛应用。
Fortran以其强大的数值计算能力和高效的执行速度而闻名,特别适用于科学和工程领域的计算任务。
Fortran语言的格式符号(format specifier)是Fortran程序中用于控制输入和输出格式的重要元素。
格式符号通过描述I/O操作的布局和格式控制来确保正确的数据输入和输出。
在Fortran中,格式符号通常由一个或多个字母和数字组成,并具有特定的含义。
对于输入操作,Fortran使用格式符号来指定输入数据的格式,并将其读入到程序中的变量中。
格式符号中的字符可以用于指定输入数据字段的宽度、对齐方式、小数点位置等。
例如,格式符号“I5”表示读入一个带有5个数字的整数,而“F10.2”表示读入一个带有两位小数的10位浮点数。
对于输出操作,Fortran使用格式符号来指定输出数据的格式,并将其显示给用户。
格式符号中的字符可以用于指定输出数据字段的宽度、精度、对齐方式等。
例如,格式符号“I10”表示输出一个带有10个数字的整数,而“F8.3”表示输出一个带有三位小数的8位浮点数。
Fortran还提供了一些特殊的格式符号,用于控制更复杂的输入和输出操作。
例如,“A”格式符号用于读取或输出字符串,而“L”格式符号用于读取或输出逻辑值。
此外,还有一些格式符号可用于设置特定格式的输入和输出操作,如“X”用于跳过输入字段,而“BN”用于在输出中插入换行符。
在Fortran中,格式符号通常与输入输出语句一起使用。
输入语句如READ和ACCEPT使用格式符号来指定输入数据的格式,而输出语句如PRINT和WRITE使用格式符号来指定输出数据的格式。
在输入输出语句中,格式符号常常作为一个参数传递给相应的语句,以控制输入输出的格式。
chapter3-FORTRAN90基础知识

第三章 FORTRAN 90 基础知识FORTRAN 90是一种内容丰富、功能强大、特色鲜明的高级程序设计语言。
本章将介绍FORTRAN 90的一些基本知识,如:字符集、名称、关键字、程序单元、书写格式、数据类型和兼容性等,为进一步学习其它内容奠定基础。
3.1 字符集FORTRAN 90源程序是一个符合FORTRAN 90词法、语法和语义规定的特殊文本,它由FORTRAN 90字符集规定的字符按照词法、语法和语义规定进行描述。
FORTRAN 90字符集由下面四部分字符组成:1.英文字母大写字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 。
小写字母:a b c d e f g h I j k l m n o p q r s t u v w x y z 。
2.阿拉伯数字数字字符:0 1 2 3 4 5 6 7 8 9。
3.下划线下划线字符:_。
4.特殊字符特殊字符:空格 <Tab> + - * / ( ) , . ' : ! " % & ; < > ? $。
Digital Visual FORTRAN 5.0字符集增加了一些可打印字符,包括十六进制ASCII码为09h(Tab符)、20h至7Eh之间的字符和某些特殊字符集(如:IBM字符集)中字符。
说明:①除字符型常量和Hollerith常量外,源程序中词法和语法描述不区分字母的大小写,如语句“INTEGER I”和语句“integer i”是等价的。
②FORTRAN 90字符集以外的可打印字符,只能出现在注释、字符常量、Hollerith常量、字符串编辑符和输入输出记录中。
③字符:_ ! " % & ; > < ?为FORTRAN 90新增字符。
3.2 名称名称在FORTRAN 77中称“符号名”,在其它语言中称“标识符”。
fortran 转义字符的用法

fortran 转义字符的用法【原创版】目录1.Fortran 转义字符的概述2.Fortran 转义字符的分类3.Fortran 转义字符的实例4.Fortran 转义字符的应用场景5.总结正文【1.Fortran 转义字符的概述】在 Fortran 编程语言中,转义字符是一种特殊的字符序列,用于表示那些在字符串中可能引起歧义或者无法直接表示的字符。
通过使用转义字符,我们可以在字符串中包含特殊字符,例如换行符、制表符等。
【2.Fortran 转义字符的分类】Fortran 转义字符主要分为以下几类:- 普通转义字符:用于表示普通字符集中的特殊字符,例如反斜杠()、双引号(")、单引号(")等。
- 控制字符转义字符:用于表示控制字符集中的特殊字符,例如换行符()、制表符(t)、回车符()等。
- 扩展字符转义字符:用于表示扩展字符集中的特殊字符,例如十六进制字符(x)、反斜杠加数字(d)等。
【3.Fortran 转义字符的实例】以下是一些 Fortran 转义字符的实例:- 普通转义字符:用反斜杠表示双引号,例如 "Hello, World!" 的表示为 "Hello,"World!""- 控制字符转义字符:用反斜杠加数字表示换行符,例如 "" 表示为 ""- 扩展字符转义字符:用反斜杠加 x 表示十六进制字符,例如 "x1F" 表示为 "x1F"【4.Fortran 转义字符的应用场景】Fortran 转义字符在编写格式化输出、处理特殊字符等情况下非常有用。
例如,在输出文本时,我们需要在字符串中包含换行符或者制表符时,可以使用转义字符来表示。
【5.总结】Fortran 转义字符是一种表示特殊字符的有效手段,通过使用转义字符,我们可以方便地处理特殊字符,编写格式化输出等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
说明项3中内容:UNIT=N,ERR=BH, IOSTAT=M ERR=BH,IOSTAT=M 可以省略
4 FORTRAN77关系运算符
.GT. 大于 .GE. 天于或等于 .LT. 小于 .LE. 小于或等于 .EQ. 等于 .NE. 不等于 .AND. 逻辑与 .OR. 逻辑或 .NOT. 逻辑非 .EQV. 逻辑等
.NEQV. 逻辑不等 运算符优先级由高到低顺序为:()→**→*或/→+或-→.GT.或.GE.或.LT.或.LE. 或.EQ.或.NE.→.NOT.→.AND.→.OR.→.EQV.或.NEQV
LGE(X1,X2) LGT(X1,X2) LLE(X1,X2) LLT(X1,X2)
如果字符串 X1≥X2则等于.TRUE.,否则等于.FALSE. 如果字符串 X1>X2则等于.TRUE.,否则等于.FALSE. 如果字符串 X1≤X2则等于.TRUE.,否则等于.FALSE. 如果字符串 X1<X2则等于.TRUE.,否则等于.FALSE.
2.5 使用 DATA 语句给数组赋初值
变量表中可出现变量名,数组名,数组元素名,隐含 DO 循环,但不许出现任何形式 的表达式:例如 DATA A,B,C/-1.0,-1.0,-1.0/ DATA A/-1.0/,B/-1.0/,C/-1.0/ DATA A,B,C/3*-1.0/CHARACTER*6 CHN(10) DATA CHN/10*' '/INTEGER NUM(1000) DATA (NUM(I),I=1,500)/500*0/,(NUM(I),I=501,1000)/500*1/
IF (逻辑表达式1) THEN 程序块1 ELSE IF (逻辑表达式2) THEN 程序块2 ELSE IF (逻辑表达式2) THEN 程序块2 ...... ELSE IF (逻辑表达式 N) THEN 程序块 N ELSE 程序块 N+1 END IF
7 FORTRAN77循环语句
7.1 GO TO 语句
2.1 隐含约定:I-N 规则
凡是以字母 I,J,K,L,M,N 六个字母开头的,即认为是整型变量,其它为实 型变量。
2.2 用类型说明语句确定变量类型:可以改变 I-N 规则
INTEGER REAL DOUBLE PRECISION COMPLEX
LOGICAL
CHARACTER*N
整型
实型
双精度实型
READ *,X 1,X2
输入语句
*号是指表控格式语句的行号,如不指定则用默认格式
FORMAT(格式符) 请见附录一。
请见附录二。
END
结束程序或子程序
STOP [N] 结束程序并输出信息[N]
[N]为数字或字符串信息
PAUSE [N]
暂停程序执行并输出信息[N],输 [N]为数字或字符串信息
入回车后继续执行
PARAMETE R (PI=3. 14)
参数语句,用来定义常量,在程 序中应放在类型说明语句之后
EQUIVALENCE (变量表)
等价语句,()内变量共用一个存 EQUIVALENCE(X1,X2,…XN),(X1,X2,…XN),…
储单元。
COMMON X1,……
公用语句,其后变量相等,用来 在程序单位间传递数据,同时可 以用来说明数组。程序中可有一 个无名公用区和多个有名公用 区。
9 FORTRAN77函数与子程序
9.1 FORTRAN77语句函数
• 当函数十分简单,用一条语句足以定义时(允许使用继续行)才用; • 应该放在所有可执行语句之前和有关类型说明语句之后,是非执行语句; • 只在其所在程序单位中有意义; • 语句函数中的虚参就是变量名,不能是常量、表达式或数组元素等; • 语句函数定义语句中的表达式可以包含已经定义过的语句函数、外部函数或内部函数。
说实话,从科技发展的趋势来说这不是好事。您可以设想一下,如果需要用鹅毛 笔抄写大量的古籍是什么感受! 强烈建议阅读《发掘 C#特性赋予科学计算项目以威力》
1 FORTRAN77四则运算符
+ - * / ** (其中**表示乘方) 在表达式中按优先级次序由低到高为: +或-→*或/→**→函数→()
2 FORTRAN77变量类型
5 FORTRAN77语句
语句
说明
备注
WRITE(*, *) X1,X2
输出语句
第一个*号是指输入输出文件设 备号或其它设备,如果不指定则 是指显示器或打印机,第二个*号 是指表控格式语句的行号,如不 指定则用默认格式
PRINT *, X1,X2
输出语句
*号是指表控格式语句的行号,如不指定则用默认格式
CLOSE (说明项
关闭已打开文件
2) REWIND (说明项
将文件读写指针置于文件开头
3)
2, FORM=STR3, RECL=C, BLANK= STR4, ERR=BH, IOSTAT=M 其中: 1.N=1~99; 2.NAM 为文件名,可以是字符常量 或变量; 3.STR1='NEW'时新建文件;'OLD' 时打开文件;'SCRATCH'时表示临 时文件,关闭时自动删除,且不能 与 FILE=NAM 项共存;'UNKNOWN' 时由计算机系统规定文件状态; 4.STR2为文件存取方式,'SEQUEN TIAL'表示顺序存取,'DIRECT'表 示直接存取,省略此项时表示按 顺序存取; 5.STR3为记录格式说明,'FORMAT TED' 表示 记录按有 格式形式 存 放, 'UNFORMATTED'表示记录按 无格式形式存放。省略此项时,对 于顺序文件是有格式的,对于直 接存取文件是无格式的; 6.C 表示记录长度,以字节为单 位,直接存取文件必指定,顺序文 件必省略; 7.STR4表示数字值格式输入字段 中空格含意,'NULL'时表示忽略 不计,'ZERO'时表示按0计。省略 此项时按0计; 8.BH 表示出错时处理语句行标 号,可以省略此项; 9.M 为整数,出错时返回该整数, 可以省略此项。
2.3 用 IMPLICIT 语句将某一字母开头的全部变量指定为所需类型 如 IMPLICIT REAL (I,J)
三种定义的优先级别由低到高顺序为:I-N 规则→IMPLICIT 语句→类型说明语 句,因此,在程序中 IMPLICIT 语句应放在类型说明语句之前。
2.4 数组的说明与使用
使用 I-N 规则时用 DIMENSION 说明数组,也可在定义变量类型同时说明数组,说 明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例: DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3) REAL IA(10),ND(80:99)使用隐含 DO 循环进行数组输入输出操作:例如 WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,2) 10FORMAT(1X,5(A2,I2,1X,A2,I4))
标号程序行 程序块 GO TO 标号
7.2 DO 语句
DO 标号,记数变量=起始值,终止值,步距”语句,如 DO 标号,N=1,100,1 程序块 标号 CONTINUE
7.3 DO WHILE 语句
DO 标号,WHILE(PI.EQ.3.14159) 程序块 标号 CONTINUE
7.4 DO UNTIL 语句
复型,赋值形式为(实部,虚部),如 D=(8.76E+0.5,67.8E-3),C=(3.0,6.3),如果含表达式则用 CMPLX,如 C=CMPLX(3.0*A,6.0+B)
逻辑型,逻辑常量有“T”和“F”,“T”表示“.TRU E.”,“F”表示“.FALSE.”
字符型,N 为字符串长度,可以在变量名称后重新指定 长度,如 CHARACTER*8 STR1,STR2*10 ,赋值形式为 ST R2='I''M A BOY.'
DO 标号,UNTIL (逻辑表达式)”语句,如 DO 标号,UNTIL(PI.GT.3.14159) 程序块 标号 CONTINUE
8 FORTRAN77内部函数
INT(X) REAL(X) DBEL(X) CMPLX(X) CHAR(X) ICHAR(X) AINT(X) ANINT(X) NINT(X)
INDEX(X1,X2)
返回 X 的绝对值 返回 X1/X2的余数 取 X2的符号,取 X1的绝对值 当 X1>X2时,等于 X1-X2,当 X1≤X2时,等于0 双精度乘(X1,X2均为实数) 返回字符串 X 的虚部 返回字符串 X 的共轭 返回 X1,X2,X3,...,XN 中最大值 返回 X1,X2,X3,...,XN 中最小值 返回 X 的平方根(X≥0) 返回 E 的 X 次方 返回以 E 为底的 X 的对数即自然对数(X>0) 返回以10为底的 X 的对数即常用对数(X>0) 返回弧度值 X 的正弦值 返回弧度值 X 的余弦值 返回弧度值 X 的正切值 返回弧度值 X 的反正弦值 返回弧度值 X 的反余弦值 返回弧度值 X 的反正切值 返回 X 的双曲正弦值 返回 X 的双曲余弦值 返回 X 的双曲正切值 返回字符串 X 的长度 返回字符串 X2在字符串 X1中的位置,不包含时返回 0
将数字串或数值 X 转换为整型数 将数字串或数值 X 转换为实型数 将数字串或数值 X 转换为双精度型数 将数字串或数值 X 转换为复型数 将数值 X 转换为字符(0≤X≤255) 将字符 X 转换为整数 截去 X 的小数部分 将 X 舍入到最接近的整数 将 X 舍入到最接近的整型数