Fortran程序设计基础

上传人:宝路 文档编号:48001697 上传时间:2018-07-08 格式:PPT 页数:40 大小:217.51KB
返回 下载 相关 举报
Fortran程序设计基础_第1页
第1页 / 共40页
Fortran程序设计基础_第2页
第2页 / 共40页
Fortran程序设计基础_第3页
第3页 / 共40页
Fortran程序设计基础_第4页
第4页 / 共40页
Fortran程序设计基础_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《Fortran程序设计基础》由会员分享,可在线阅读,更多相关《Fortran程序设计基础(40页珍藏版)》请在金锄头文库上搜索。

1、第二章 Fortran程序设计基础本章主要包括以下内容:1. 程序书写2. 字符集及标识符3. 数据类型4. 声明的有关事项5. 算术表达式6. 表控输入/输出语句第一节 程序书写一. 程序构造形式例2-1 简单Fortran程序的构造形式 PROGRAM MONEY !Calculates balance after interest compounded REAL BALANCE, INTEREST, RATE BALANCE = 1000 RATE = 0.09 INTEREST = RATEBALANCE BALANCE = BALANCE + INTEREST PRINT ,New

2、balance:,BALANCE END PROGRAM MONEY* PROGRAM 关键字 标识 Fortran 主程 序,后接程序名, 这一行是可选的; *!第二行是注释, 不参加编译; * REAL 是声明语句 ,将后边的变量声 明为实型数; * 空行不参与编译,只 是增加程序的可读性 ;这四行是非执行部分; 之后的部分到END语句 之前为执行部分根据上述的程序书写,给出简单 Fortran 90 程序 的构造形式: PROGRAM 程序名 声明语句 执行语句 ENDPROGRAM 程序名方括号内的部分是可选的,END 语句是唯一 必须的,表示程序编译到此结束。END 语句中的程序名可

3、以省略,但若出现程 序名,必须同时出现 PROGRAM 关键字。对于可选部分,如果缺省,则按照约定(隐 含)规则进行二. 语句语句是 Fortran 程序的基本单位,一条语句可包含0132个字符。Fortran77规定,一条语句的不同部分应从特定的列开始,这样的 书写格式称为固定格式,相应的程序文件扩展名为.f 或.for;Fortran 90 无此限制,自由格式,相应的文件扩展名为.f90。除赋值语句外,所有的语句都从一个关键字开始。例如:例2-1 中出现的关键字:PROGRAM、REAL、PRINT和END。一般情况下,每行一条语句。若一行有多条语句,它们之间以分号间隔。可以将几条简单的赋

4、值语句写在一行上,例如:A =1;B =1;C =1也可以只保证一行一条语句,例如:A =1B =1C =1这完全根据个人的书写习惯决定。假如一条语句一行写不完,允许出现续行,但 要求被续行最后的非空白字符为 Fortran 90 支持复数类型及其算术运算。2 复数型常量 复数类型常量呈现下列形式: (r,m) 其中,r 代表复数常量的实部;m 代表复数常量的虚部。四. 逻辑类型 1 逻辑型变量声明逻辑型(或布尔型)变量 L 的一般形式为: LOGICAL L LOGICAL(KIND=n)L种类参数 n 为1、2、4、8,种类参数缺省值为4。2 逻辑型常量逻辑型常量为.TRUE.(逻辑真)和

5、.FALSE.(逻辑假),其种类 参数取缺省值。显式规定逻辑型常量的种类参数,例如:.TRUE._2,种类 参数规定为2。五.字符类型 1 字符型变量声明字符型变量 C 的一般形式为: CHARACTER C CHARACTER (LEN=len) C,CHARACTER*len C CHARACTER (LEN=len,KIND=n) C CHARACTER (KIND=n,LEN=len) C字符型变量的规定: 字符型有两个可选参数:长度参数LEN=和种类参数KIND=。不管 是否显式规定,字符型种类参数总是1,即一个字符占一个存储字节 。假如两个可选参数都没有给出,长度和种类参数均取缺省

6、值 1; 若只给出一个参数,代表长度; 若给出两个参数,依次为长度和种类参数(种类参数只能取1); 若采取关键字(KIND =,LEN =)声明形式,参数顺序可以任意。例如 : CHARACTER (KIND=1,LEN=10) Str CHARACTER (LEN=10,KIND=1) Str2 字符型常量Fortran 中的字符串统一以单引号或双引号作为界定符: k_ch k_“ch” 其中:k为可选的种类参数,ch 为字符(串)。示例: “WHAT KIND TYPE?” TODAY”S DATE IS “The average is:”约定:* 若要表示和界定符相同的字符,须用两个联系

7、的界定字 符来表示,例如:字符型常量“Fortrans 90”,表示字符串 Fortrans 90,字符串长度为12。* 界定符必须统一:要么都用单引号,要么都用双引号。一. 强制类型声明 I N 规则:除非特别声明,在程序中的变量名 凡以 I、J、K、L、M、N 这六个字母开头的都被 认为是整型变量,以其他字母开头的表示实型变 量。 推荐使用:兼容Fortran 90前版本的程序代码。 不推荐使用:这种隐含约定往往会带来严重的程序错误。第四节 声明的有关事项例 2-3 PROGRAM Main Interest=0.08 Count=0.08 PRINT*, Interest = ,Inte

8、rest !0 PRINT*, Count = , Cont !0.0 ENDPROGRAM MainIMPLICIT NONEREAL Interest, CountInterest=0.08Count=0.08PRINT*, Interest = ,Interest !0.08PRINT*, Count = , Count !0.08END通过类型声明,消除隐含约定带来的错误。二. 变量声明及初始化 Fortran 语言属于编译型语言,程序编译过程中编译器为引 用变量开辟了内存空间,程序执行过程中不再申请内存, 动态分配除外。变量声明一般形式为: 数据类型 ,属性: 变量列表 约定:* 属

9、性包括 DIMENSION 、PARAMETER 、TARGET 、 POINTER 、ALLOCATABLE、INTENT 等;* 并列冒号“:” 是可选的;* 在声明的同时给变量赋初值,符号“:” 不能省略;* 声明部分必须出现在执行部分之前,不能出现在执行部 分;* DATA 也是声明的一部分,可以用来给变量赋初值,通 常跟在赋值的变量声明之后、执行语句之前;* 值得注意的是:一般的赋值语句是执行语句例2-4 变量声明及初始化PROGRAM MainIMPLICIT NONEINTEGER aREAL(8) :b=2.0COMPLEX(8) :c=(1.0,2.0)CHARACTER(2

10、0) :str=“Fortran 90”a=6PRINT*, a=, a, ,b=, b, ,c=, c, ,str=, strEND程序执行结果:a=6 ,b=2.0 ,c=(1.0,2.0) ,str=Fortran 90在声明的同时给变量赋初值,符号“: :”不能省略,省略时可采用如下形式:INTRGER aa=6例2-5 DATA 语句的使用 PROGRAM MainIMPLICIT NONEINTEGER aREAL(8) bCOMPLEX(8) cCHARACTER(20) strDATA a,b,c,str/1,2.0,(1.0,2.0),FORTRAN 77/PRINT*, a

11、=, a, ,b=, b, ,c=, c, ,str=,str END* Fortran 77使用 DATA 语句来设置初值;* DATA 语句的格式是在 DATA 关键字后接上要设置初值 的变量,然后再用两个斜杠包住要设置的变量值。三. 常量声明(PARAMETER) 在程序中固定不变的常数,如圆周率、重力加速度等,可以声明成变 量。 符号常量只能在声明时通过 PARAMETER 属性设置其值,而且只能 设置一次。在程序中不能改变。例 2-6 常量声明PROGRAM MainIMPLICIT NONEREAL,PARAMETER :PI=3.14159PRINT 10, PI/6.0 10

12、FORMAT(PI/6.0=,F4.2)END计算结果:3.14159/6.0=0.523598 在格式要求中F4.2,即带小数点后两位共四位的实数,按照四舍五入 的原则,得到结果:0.52 算术表达式由运算符、常量和变量组成,算术表达式获得 的结果是标量,只是涉及到数值的大小。1. 运算符及其优先级Fortran 有5 种算术运算符,分别是加、减、乘、除和乘幂 ,按优先级由低到高排列如下:+ 加, 减,* 乘, / 除,* 乘幂(两个星号之间不能 有空格),( ) 括号其顺序是:乘除运算级高于加减运算,乘幂运算高于乘除运算,括号总是具有最其顺序是:乘除运算级高于加减运算,乘幂运算高于乘除运算

13、,括号总是具有最高优先级;高优先级;在运算级相同的情况下,按照在运算级相同的情况下,按照“ “从左到右从左到右” ”的法则;的法则;在连续的乘幂运算中,按照在连续的乘幂运算中,按照“ “从右至左从右至左” ”的法则,例如:的法则,例如:2*3*22*3*2,先计算,先计算3*23*2,再计算左边的乘幂,结果是,再计算左边的乘幂,结果是 512512,而不是,而不是 6464第五节 算术表达式2. 整数除法 编程实现除法运算时,如果是整数除法,那么结果也是整数。 值得注意的是:如果不能整除,那么结果只取商的整数部分,小数部 分被去掉,例如:INTEGER A,B,CA=1B=2C=A/B那么编程

14、计算结果为C=0,而不是0.5 因此对于变量C,可以直接采用1.0/2.0或者0.5,而不能直接采用1/2.对于整除情况,不会存在以上的问题,例如:INTEGER A,B,CA=6B=2C=A/B那么编程计算结果为C=33. 算术表达式中的类型转换Fortran语言是非强类型语言,具有以下特点和规定: * 允许不同类型的数值型数据之间进行算术运算; * 不允许数值型数据与非数据型数据之间进行算术运算; * 不同类型之间的算术运算式一是显式地进行类型转换,例如 A、B 分别为整型和实 型,REAL(A)就将整型 A 转换为实型,INT(B)则将实型 B 转换为整型。一是系统自动转换规则,将低精度类型转换为高精度类 型,例如在整型和实型之间进行算术运算时,整型将转换 为实型。例如3+4.0,程序执行时先将3转换成3.0,然后执行3.0+4.0,得到实型 结果7.0。 * 数据类型转换是从左至右,当遇到不同类型时才开始转换 。例如:9/4/3.0程序执行时,先进行9/4 整数除法运算,得整型数2,然后整型数2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号