資源描述:
《fortran90第四章格式輸入輸出》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、§4格式輸入輸出格式化輸出/輸入的具體格式由“格式說明”規(guī)定。格式說明是由各種格式編輯符組成的字符串。編輯符之間用逗號(,)分隔。例:3X,I5,F8.3,L2,A一個數(shù)據(jù)所占列數(shù)叫“字段寬度”,用w表示。負數(shù)的符號也包含在字段寬度之內(nèi)。這里的W必須用整型常數(shù)輸出時,數(shù)據(jù)在w列內(nèi)右對齊,若w列容納不下,則用一串*表示“字段寬度不夠”,該數(shù)據(jù)不再輸出。輸入時,如果數(shù)據(jù)超過w列,則只截取輸入數(shù)據(jù)的w列,因此,輸入數(shù)據(jù)必須不超過w列。在輸入數(shù)值型數(shù)據(jù)時,w列內(nèi)的空格不起作用,但是,在負數(shù)的負號后留空格會出錯。輸入/輸出數(shù)據(jù)時,要選擇合適的w值。輸入時用READ,FORMAT
2、語句READ(*,100)A,B,I100FORMAT(F6.3,F7.2,I5)輸出時用WRITE,FORMAT語句WRITE(*,100)I,A,J,B100FORMAT(1X,I4,F6.2,I5,F8.2)不同類型的數(shù)據(jù)必須用不同的編輯符§4.1格式編輯符整型編輯符有:Iw[.n],Bw[.n],Ow[.n],Zw[.n]四種,分別對應(yīng)十進制、二進制、八進制與十六進制整數(shù)。n只對輸出有影響,表示至少有n位數(shù)字,不足時左邊補0要輸出的數(shù)編輯符輸出結(jié)果說明1234789-1234588486I5I8.4I8.3I4□1234□□□□0789□□-12345****
3、實型編輯符用Fw.d,Ew.d[Ee]和Gw.d,其中d為小數(shù)位數(shù)。小數(shù)部分按“四舍五入”或右邊補0的辦法保證總有d個數(shù)字。F編輯符用于實數(shù)的小數(shù)形式,小數(shù)形式很直觀,但很大或很小的數(shù)會給F格式帶來麻煩。例:實數(shù)3.14159F8.3輸出3.142左邊空3格輸入3142左邊空4格,不要用小數(shù)點,因為F8.3已經(jīng)說明右邊三個數(shù)字是小數(shù)。如果輸入的數(shù)據(jù)帶有小數(shù)點,則d不起作用.說明:輸入的數(shù)據(jù)行中空格按0處理,數(shù)據(jù)之間也不能用逗號等分隔符.E編輯符用于實數(shù)的指數(shù)形式,可以指定指數(shù)的位數(shù)。例:-3.1415926E15.5E3輸出-.31416E+001要輸出的數(shù)編輯符輸出
4、結(jié)果說明12.34-23.78912345.56F6.3F8.2F8.312.340□□-23.79********說明:(1)如果不指定指數(shù)位數(shù),則指數(shù)部分占四列.(2)數(shù)字部分按標準格式輸出.即小數(shù)點前為0,小數(shù)點后第一位非0.小數(shù)位數(shù)由d指定。要輸出的數(shù)編輯符輸出結(jié)果說明123.24-0.00578912345.5623456.7E12.4E11.3E8.4E12.4E3□□0.1232E+03□-0.579E-02********□0.2346E+005說明:用F,E編輯符輸入時,它們的作用相同.例如:READ(*,100)A,B,C,D100FORMAT(F
5、8.3,E8.3,E8.3,F8.3)如果輸入數(shù)據(jù)為:□□□0.234□□□□□234□234E+002.34E-01則A,B,C,D的值均為0.234FORTRAN沒有專門的復型格式編輯符。對復數(shù)的輸入/輸出,用輸入/輸出兩個實數(shù)(復數(shù)的實部和虛部)來實現(xiàn)。例如:COMPLEXCREAD(*,100)C100FORMAT(F12.4,F12.4)邏輯型格式編輯符用Lw,輸出時只打印T或F,輸入時只要是以T或F或.T或.F打頭的字符串即可。字符型格式編輯符用A或Aw,如果不指定w,則以字符變量定義長度L為準。輸出時,若wL,在字符前
6、添加W-L個空格.輸入時,若wL,只讀入W個字符中最右面的L個字符.字符變量長度輸入的值編輯符變量的值6798FORTRAN□HEFFGABCDEFGISHANGHAIA7A6A8AORTRAN□HEFFG□ABCDEFGI□SHANGHAI字符變量長度要輸出的值編輯符輸出結(jié)果7788FORTRAN□□HEFFGABCDEFGISHANGHAIA8A6A6A□FORTRAN□□HEFFABCDEFSHANGHAI撇號編輯符,用于在輸出時產(chǎn)生一些字符串.如I=123,J=3456WRITE(*,100)I,JFORMAT(
7、1X,’I=’,I3,’J=’,I4)輸出結(jié)果為:I=123J=3456X編輯符:一般形式為nx.輸出時,用來產(chǎn)生N空格.輸入時,用來跳過N列.例如:I=1234,J=345WRITE(*,’(1X,I4,3X,I4)’)I,J輸出結(jié)果為:1234□□□□345,其中第一個空格作縱向走紙控制符,不輸出.READ(*,’(2X,I4,3X,I3)’)I,J若輸入數(shù)據(jù):123456789012345則I=3456,J=12縱向走紙控制符.FORTRAN規(guī)定,輸出記錄的第一個字符作縱向走紙控制符,不輸出.實際輸出從輸出記錄的第二個字符開始.第一個字符縱向走