資源描述:
《Fortran 95學(xué)習(xí)筆記》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、Fortran95變量名稱的取名策略:變量的名字中可以使用的字符集包括英文的26個字母、0~9這10個數(shù)字以及下劃線“_”,不過前綴必須是英文字母。變量名稱的長度限制隨著各家編譯器的不同而不同,F(xiàn)ortran標(biāo)準(zhǔn)規(guī)定最少要支持到6個字符,F(xiàn)ortran90則最少要支持到31個字符ImplicitFortran標(biāo)準(zhǔn)中有一項不太好的功能,它的變量不一定要經(jīng)過程序聲明才能使用,編譯器會根據(jù)變量的第一個字母來自東決定這個變量的類型。第一個字母為I、J、K、L、M、N的變量會被視為整數(shù)類型,其他的變量則會被當(dāng)成浮點數(shù)來使用。Implicit命
2、令的功能是用來設(shè)置“默認類型”。所謂的默認類型,是指Fortran不經(jīng)過聲明,由第一個字母來決定變量類型??梢越?jīng)過Implicit描述來決定哪些字母開頭的變量會自動使用某種類型Implicitinteger(A,B,C)!A、B、C開頭的都被視為整型數(shù)Implicitinteger(A-F,I,K)!A到F及I、K開頭的變量都視為整型數(shù)Implicitreal(M-P)!M到P開頭的變量都視為浮點數(shù)Implicitnone!關(guān)閉默認類型功能,所有變量都要事先聲明常數(shù)的聲明方法(Parameter)ProgramexImplicitn
3、oneReal::piParameter(pi=3.14129)Write(*,”(F4.2)”)sin(pi/6)end在Fortran90里,Parameter可以作為形容詞,和變量的聲明同時寫在一起Real,parameter::pi=3.14159!這里pi前面的冒號不能省,和上面代碼不同(上面的可以省略)設(shè)置變量的初值變量內(nèi)容并不一定要在程序執(zhí)行時才設(shè)置,可以在聲明時同時給予初值。在Fortran90偶那個,在設(shè)置變量初值時,直接把數(shù)值寫在聲明的變量后面就行了。使用這個方法來設(shè)置初值是,不能省略聲明中間的那兩個冒號(For
4、tran90)在fortran77中則要使用Data命令設(shè)置初值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)把兩個以上的變量,聲明它們使用同一個內(nèi)存地址,就是“等價聲明”。使用同一個內(nèi)存位置的變量,只要改變其中一個變量,就會同時改變其他變量的數(shù)值Integera,bEquivalence(a,b)Fortran90的自定義數(shù)據(jù)類型使用關(guān)鍵字:typeType::personCharacter(len=30)::nameInteger::ageInteger::lengthInteger::weightEndtypepersonType(perso
6、n)::a!聲明一個person類型的變量a%name!引用person中的nameKind的使用Kind描述如果搭配上一些Fortran90的庫函數(shù),可以增加程序代碼的“跨平臺”能力Fortran90提供庫函數(shù)來判斷所要記錄的數(shù)值值域范圍所需要的kind值Selected_int_kind(n):返回如果想要記錄n位整數(shù)時,所應(yīng)聲明的kind.返回-1時,表示無法提供所想要的值域范圍Selected_real_kind(n,e):返回如果想要能夠記錄具有N位有效位數(shù)、指數(shù)達到e位的浮點數(shù)所需要的kind值。返回-1表示無法滿足所要
7、求的有效位數(shù)、返回-2表示無法滿足所要求的指數(shù)范圍、返回-3表示兩者都無法滿足IF基本用法If(邏輯判斷式)then……EndifIf(邏輯判斷式)then……Else……Endif邏輯運算符:Fortran90Fortran77==判斷是否“相等”.eq.判斷是否“等于”/=判斷是否“不相等”.ne.判斷是否“不等于”>判斷是否“大于”.gt.判斷是否“大于”>=判斷是否“大于或等于”.ge.判斷是否“大于或等于”<判斷是否“小于”.lt.判斷是否“小于”<=判斷是否“小于或等于”.le.判斷是否“小于或等于”邏輯判斷式.and.
8、交集,如果兩邊的表達式都成立,整個表達式就成立.or.并集,兩邊的表達式只要有一個成立,整個表達式就成立.not.邏輯反向,如果后面的表達式不成立,整個表達式就成立.eqv.兩邊表達式的邏輯運算結(jié)果相同時,整個表達式就成立.neqv.