资源描述:
《Fortran 95学习笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Fortran95变量名称的取名策略:变量的名字中可以使用的字符集包括英文的26个字母、0~9这10个数字以及下划线“_”,不过前缀必须是英文字母。变量名称的长度限制随着各家编译器的不同而不同,Fortran标准规定最少要支持到6个字符,Fortran90则最少要支持到31个字符ImplicitFortran标准中有一项不太好的功能,它的变量不一定要经过程序声明才能使用,编译器会根据变量的第一个字母来自东决定这个变量的类型。第一个字母为I、J、K、L、M、N的变量会被视为整数类型,其他的变量则会被当成浮点数来使用。Implicit命
2、令的功能是用来设置“默认类型”。所谓的默认类型,是指Fortran不经过声明,由第一个字母来决定变量类型。可以经过Implicit描述来决定哪些字母开头的变量会自动使用某种类型Implicitinteger(A,B,C)!A、B、C开头的都被视为整型数Implicitinteger(A-F,I,K)!A到F及I、K开头的变量都视为整型数Implicitreal(M-P)!M到P开头的变量都视为浮点数Implicitnone!关闭默认类型功能,所有变量都要事先声明常数的声明方法(Parameter)ProgramexImplicitn
3、oneReal::piParameter(pi=3.14129)Write(*,”(F4.2)”)sin(pi/6)end在Fortran90里,Parameter可以作为形容词,和变量的声明同时写在一起Real,parameter::pi=3.14159!这里pi前面的冒号不能省,和上面代码不同(上面的可以省略)设置变量的初值变量内容并不一定要在程序执行时才设置,可以在声明时同时给予初值。在Fortran90偶那个,在设置变量初值时,直接把数值写在声明的变量后面就行了。使用这个方法来设置初值是,不能省略声明中间的那两个冒号(For
4、tran90)在fortran77中则要使用Data命令设置初值Fortran90Fortran77programex90implicitnoneinteger::a=1real::b=2.0complex::c=(1.0,2.0)character(len=20)::str="HelloAcuzio!"write(*,*)a,b,c,strendprogramex77implicitnoneintegerarealbcomplexccharacter(len=20)strdataa,b,c,str/1,2.0,(1.0,2.0),
5、’Hello‘/write(*,*)a,b,c,strend等价声明(equivalence)把两个以上的变量,声明它们使用同一个内存地址,就是“等价声明”。使用同一个内存位置的变量,只要改变其中一个变量,就会同时改变其他变量的数值Integera,bEquivalence(a,b)Fortran90的自定义数据类型使用关键字:typeType::personCharacter(len=30)::nameInteger::ageInteger::lengthInteger::weightEndtypepersonType(perso
6、n)::a!声明一个person类型的变量a%name!引用person中的nameKind的使用Kind描述如果搭配上一些Fortran90的库函数,可以增加程序代码的“跨平台”能力Fortran90提供库函数来判断所要记录的数值值域范围所需要的kind值Selected_int_kind(n):返回如果想要记录n位整数时,所应声明的kind.返回-1时,表示无法提供所想要的值域范围Selected_real_kind(n,e):返回如果想要能够记录具有N位有效位数、指数达到e位的浮点数所需要的kind值。返回-1表示无法满足所要
7、求的有效位数、返回-2表示无法满足所要求的指数范围、返回-3表示两者都无法满足IF基本用法If(逻辑判断式)then……EndifIf(逻辑判断式)then……Else……Endif逻辑运算符:Fortran90Fortran77==判断是否“相等”.eq.判断是否“等于”/=判断是否“不相等”.ne.判断是否“不等于”>判断是否“大于”.gt.判断是否“大于”>=判断是否“大于或等于”.ge.判断是否“大于或等于”<判断是否“小于”.lt.判断是否“小于”<=判断是否“小于或等于”.le.判断是否“小于或等于”逻辑判断式.and.
8、交集,如果两边的表达式都成立,整个表达式就成立.or.并集,两边的表达式只要有一个成立,整个表达式就成立.not.逻辑反向,如果后面的表达式不成立,整个表达式就成立.eqv.两边表达式的逻辑运算结果相同时,整个表达式就成立.neqv.