第六講__Fortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出_第1頁(yè)
第六講__Fortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出_第2頁(yè)
第六講__Fortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出_第3頁(yè)
第六講__Fortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出_第4頁(yè)
第六講__Fortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心第六講第六講 Fortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.1 Fortran 6.1 Fortran 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)FORTRAN 90FORTRAN 90具有豐富的具有豐富的數(shù)據(jù)類型數(shù)據(jù)類型, ,有有內(nèi)部數(shù)據(jù)類型內(nèi)部數(shù)據(jù)類型、派生數(shù)派生數(shù)據(jù)類型據(jù)類型、數(shù)組數(shù)組和和指針類型指針類型等。利用豐富的數(shù)據(jù)類型可設(shè)計(jì)和等。利用豐富的數(shù)據(jù)類型可設(shè)計(jì)和編寫(xiě)出功能強(qiáng)大的編寫(xiě)出功能強(qiáng)大的FORTRAN 90FORTRAN 90程序。程

2、序。類型類型復(fù)數(shù)運(yùn)算復(fù)數(shù)運(yùn)算字符型字符型6.1 Fortran 6.1 Fortran 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)FORTRAN 90FORTRAN 90數(shù)據(jù)類型數(shù)據(jù)類型內(nèi)部數(shù)據(jù)類型內(nèi)部數(shù)據(jù)類型派生類型派生類型( (記錄類型記錄類型) ) 數(shù)組類型數(shù)組類型指針類型指針類型公用區(qū)類型公用區(qū)類型整數(shù)類型整數(shù)類型實(shí)數(shù)類型實(shí)數(shù)類型復(fù)數(shù)類型復(fù)數(shù)類型字符類型字符類型邏輯類型邏輯類型第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.1 6.1 復(fù)數(shù)型數(shù)據(jù)運(yùn)算及內(nèi)部函數(shù)復(fù)數(shù)型數(shù)據(jù)運(yùn)算及內(nèi)部函數(shù)l與實(shí)數(shù)的運(yùn)算一樣。與實(shí)數(shù)的運(yùn)算一樣。l有,有,-

3、-,/ /,* * *。l并與實(shí)數(shù)一樣有相應(yīng)的內(nèi)部函數(shù)。并與實(shí)數(shù)一樣有相應(yīng)的內(nèi)部函數(shù)。lFORTRAN 90FORTRAN 90提供了針對(duì)復(fù)數(shù)型數(shù)據(jù)的內(nèi)部函數(shù)。提供了針對(duì)復(fù)數(shù)型數(shù)據(jù)的內(nèi)部函數(shù)。lCMPLXCMPLX(x,y,kind) (x,y,kind) 將參數(shù)轉(zhuǎn)換為復(fù)數(shù)型。將參數(shù)轉(zhuǎn)換為復(fù)數(shù)型。結(jié)果結(jié)果:C(kind):C(kind)。lDCMPLXDCMPLX(x,y) (x,y) 將參數(shù)轉(zhuǎn)換為復(fù)數(shù)型。結(jié)將參數(shù)轉(zhuǎn)換為復(fù)數(shù)型。結(jié)果果:C(8):C(8)。lREALREAL(x) (x) 求求x x的實(shí)部。的實(shí)部。lAIMAGAIMAG(x) (x) 求求x x的虛部。的虛部。lIMAGIMA

4、G(x) (x) 同同AIMAGAIMAG(x)(x)。lCONJGCONJG(x) (x) 求求x x的共軛復(fù)數(shù)。的共軛復(fù)數(shù)。復(fù)數(shù)型數(shù)據(jù)復(fù)數(shù)型數(shù)據(jù)類型類型復(fù)數(shù)型復(fù)數(shù)型字符型字符型第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.1 6.1 字符型數(shù)據(jù)字符型數(shù)據(jù)/ /子字符串子字符串l表示形式:字符變量名(開(kāi)始位置:終止位置)表示形式:字符變量名(開(kāi)始位置:終止位置)l例子:有字符變量例子:有字符變量A A,其取值為,其取值為ABCDE12345FGHABCDE12345FGH,則下,則下面的子串取值為:面的子串取值為

5、:lA(3:11) - CDE12345FA(3:11) - CDE12345F,lA(I+4:9) - E1234(I=1)A(I+4:9) - E1234(I=1),1234(I=2)1234(I=2)lA(:5) - ABCDEA(:5) - ABCDElA(11:) - FGHA(11:) - FGHlA(:) - ABCDE12345FGHA(:) - ABCDE12345FGHlA(3:3) - CA(3:3) - C字符型數(shù)據(jù)字符型數(shù)據(jù)u子字符串子字符串運(yùn)算符運(yùn)算符u內(nèi)部函數(shù)內(nèi)部函數(shù)第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算

6、中心蘇州科技大學(xué)計(jì)算中心6.1 6.1 字符型數(shù)據(jù)字符型數(shù)據(jù)/ /運(yùn)算符運(yùn)算符l字符運(yùn)算符:字符運(yùn)算符:/l例子例子l關(guān)系表達(dá)式關(guān)系表達(dá)式: :對(duì)每種機(jī)器,系統(tǒng)都把本機(jī)上可以使用的各種對(duì)每種機(jī)器,系統(tǒng)都把本機(jī)上可以使用的各種字符按先后排列成某種次序,每個(gè)字符在排序中有確定的位字符按先后排列成某種次序,每個(gè)字符在排序中有確定的位置,稱為置,稱為排序號(hào)排序號(hào)。有了排序號(hào),字符之間就可以比較大小及。有了排序號(hào),字符之間就可以比較大小及相等與否,組成關(guān)系表達(dá)式。相等與否,組成關(guān)系表達(dá)式。 字符作比較實(shí)際上是比較它們的序號(hào)大小。字符比較的一字符作比較實(shí)際上是比較它們的序號(hào)大小。字符比較的一般形式是兩端為

7、字符表達(dá)式的關(guān)系表達(dá)式:般形式是兩端為字符表達(dá)式的關(guān)系表達(dá)式:字符表達(dá)式字符表達(dá)式關(guān)系操作符字符表達(dá)式關(guān)系操作符字符表達(dá)式。 例 如 :例 如 : A B A =(XY/C2)/C3 C1/CCTV=(XY/C2)/C3 式當(dāng)式當(dāng)C1C1、C2C2、C3C3是字符型是字符型變量名時(shí)是合法的,要先計(jì)算兩端字符表達(dá)式的值,而后比變量名時(shí)是合法的,要先計(jì)算兩端字符表達(dá)式的值,而后比較它們是否滿足較它們是否滿足關(guān)系。關(guān)系。program ex060202program ex060202 character(len= 6) first character(len= 6) first character(

8、len=10) second character(len=10) second character(len=20) add character(len=20) add first=Happy first=Happy second=Birthday second=Birthday add = first/second ! add = first/second ! 經(jīng)由兩個(gè)連續(xù)的除號(hào)經(jīng)由兩個(gè)連續(xù)的除號(hào)! !可以連接兩個(gè)字符串可以連接兩個(gè)字符串 write(write(* *, ,* *) add) addend end 字符型數(shù)據(jù)字符型數(shù)據(jù)u子字符串子字符串運(yùn)算符運(yùn)算符u內(nèi)部函數(shù)內(nèi)部函數(shù)第六講第六

9、講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.1 6.1 字符型數(shù)據(jù)字符型數(shù)據(jù)/ /內(nèi)部函數(shù)內(nèi)部函數(shù)函數(shù)名函數(shù)名 說(shuō)明說(shuō)明ACHAR(n)ACHAR(n) 將將ASCIIASCII碼碼n n轉(zhuǎn)換為對(duì)應(yīng)字符。轉(zhuǎn)換為對(duì)應(yīng)字符。ADJUSTL(string)ADJUSTL(string)* * 將字符串將字符串stringstring左對(duì)齊左對(duì)齊, ,即去即去掉左端空格掉左端空格ADJUSTR(string)ADJUSTR(string)* * 將字符串將字符串stringstring右對(duì)齊右對(duì)齊, ,即去即去掉右端空格。掉右端空

10、格。string:CH(string:CH(* *),),結(jié)果類型同結(jié)果類型同stringstringCHAR(n)CHAR(n)* * 將將ASCIIASCII碼碼n n轉(zhuǎn)換為對(duì)應(yīng)字符。轉(zhuǎn)換為對(duì)應(yīng)字符。IACHAR(c)IACHAR(c)* * 將字符將字符c c轉(zhuǎn)換為對(duì)應(yīng)的轉(zhuǎn)換為對(duì)應(yīng)的ASCIIASCII碼。碼。ICHAR(c)ICHAR(c)* * 將字符將字符c c轉(zhuǎn)換為對(duì)應(yīng)的轉(zhuǎn)換為對(duì)應(yīng)的ASCIIASCII碼。碼。INDEX(s,ss,b)INDEX(s,ss,b)* * 求子串求子串ssss在串在串s s中起始位置。中起始位置。b b為真從右起為真從右起LEN(s)LEN(s)*

11、* 求字符串求字符串s s的長(zhǎng)度。的長(zhǎng)度。LEN_TRIM(s)LEN_TRIM(s)* * 求字符串求字符串s s去掉尾部空格后的字符數(shù)。去掉尾部空格后的字符數(shù)。LGE(s1,s2)LGE(s1,s2)* * 按按ASCIIASCII碼值判定字符串碼值判定字符串s1s1大于等于大于等于字符串字符串s2s2。LGT(s1,s2)LGT(s1,s2)* * 按按ASCIIASCII碼值判定字符串碼值判定字符串s1s1大于字符大于字符串串s2s2。LLE(s1,s2)LLE(s1,s2)* * 按按ASCIIASCII碼值判定字符串碼值判定字符串s1s1小于等于小于等于字符串字符串s2s2。LLT

12、(s1,s2)LLT(s1,s2)* * 按按ASCIIASCII碼值判定字符串碼值判定字符串s1s1小于字符小于字符串串s2s2。REPEAT(s,n)REPEAT(s,n)* * 求字符串求字符串s s重復(fù)重復(fù)n n次的新字符串。次的新字符串。SCAN(s,st,b)SCAN(s,st,b)求串求串stst中任一字符在串中任一字符在串s s中的位置。中的位置。TRIM(s)TRIM(s)* * 求字符串求字符串s s去掉首尾部空格后的字符數(shù)。去掉首尾部空格后的字符數(shù)。VERIFY(s,st,b)VERIFY(s,st,b) 求不在串求不在串stst中字符在中字符在s s中位置。中位置。b

13、b為真右起為真右起字符型數(shù)據(jù)字符型數(shù)據(jù)u子字符串子字符串運(yùn)算符運(yùn)算符u內(nèi)部函數(shù)內(nèi)部函數(shù)第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.2 6.2 數(shù)組數(shù)組/ /定義定義6.2 6.2 數(shù)組數(shù)組l數(shù)組是類型相同的組變量的有序集合。數(shù)組是類型相同的組變量的有序集合。 任何一組類型相同且有序的數(shù)據(jù)都可使用數(shù)組存儲(chǔ)。任何一組類型相同且有序的數(shù)據(jù)都可使用數(shù)組存儲(chǔ)。 如如: :保存保存3030名學(xué)生成績(jī)數(shù)據(jù)的一組變量:名學(xué)生成績(jī)數(shù)據(jù)的一組變量:s1,s2,s3,s30s1,s2,s3,s30 REAL s1,s2,s3,s4,s

14、5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15 REAL s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15 這組變量可用數(shù)組這組變量可用數(shù)組s s取代,數(shù)組元素取代,數(shù)組元素s(1),s(2),s(15),s(1),s(2),s(15),分別取代分別取代s1,s2,s15s1,s2,s15。 REAL s(15)REAL s(15)l數(shù)組分靜態(tài)數(shù)組和動(dòng)態(tài)數(shù)組數(shù)組分靜態(tài)數(shù)組和動(dòng)態(tài)數(shù)組n靜態(tài)數(shù)組:在編譯時(shí)分配存儲(chǔ)單元,運(yùn)行時(shí)數(shù)組大小不能改變。靜態(tài)數(shù)組:在編譯時(shí)分配存儲(chǔ)單元,運(yùn)行時(shí)數(shù)組大小不能改變。 INTEGER nu

15、m(5) !INTEGER num(5) !在編譯時(shí)分配在編譯時(shí)分配5 5個(gè)數(shù)組元素存儲(chǔ)單元個(gè)數(shù)組元素存儲(chǔ)單元(20(20字節(jié)字節(jié)) )n動(dòng)態(tài)數(shù)組:在程序運(yùn)行時(shí)分配存儲(chǔ)單元,運(yùn)行時(shí)數(shù)組大小可改變。動(dòng)態(tài)數(shù)組:在程序運(yùn)行時(shí)分配存儲(chǔ)單元,運(yùn)行時(shí)數(shù)組大小可改變。 INTEGERINTEGER,ALLOCATABLE : num(:) !ALLOCATABLE : num(:) !在編譯時(shí)不分配存儲(chǔ)單元在編譯時(shí)不分配存儲(chǔ)單元 ALLOCATEALLOCATE(num(5) !num(5) !在運(yùn)行時(shí)分配在運(yùn)行時(shí)分配5 5個(gè)數(shù)組元素存儲(chǔ)單元個(gè)數(shù)組元素存儲(chǔ)單元(20(20字節(jié)字節(jié)) )l數(shù)組大小為數(shù)組元素個(gè)

16、數(shù)。數(shù)組大小為數(shù)組元素個(gè)數(shù)。l數(shù)組聲明有數(shù)組聲明有3 3種方式:類型聲明語(yǔ)句、種方式:類型聲明語(yǔ)句、DIMENSIONDIMENSION語(yǔ)句、語(yǔ)句、DIMENSIONDIMENSION屬性屬性定義定義聲明聲明1 1聲明聲明2 2聲明聲明3 3說(shuō)明說(shuō)明第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.2 6.2 數(shù)組數(shù)組/ /聲明聲明1 1l使用類型聲明語(yǔ)句進(jìn)行數(shù)組聲明。一般格式:使用類型聲明語(yǔ)句進(jìn)行數(shù)組聲明。一般格式: : : INTEGERREALCOMPLEXCHARACTERLOGICALINTEGERREALC

17、OMPLEXCHARACTERLOGICAL ()=)=, ( ()=)= , : (/,/n/)n聲明下界為聲明下界為1 1的數(shù)組。例的數(shù)組。例n聲明數(shù)組下界不為聲明數(shù)組下界不為1 1的數(shù)組。的數(shù)組。例例n聲明賦初值的數(shù)組及動(dòng)態(tài)數(shù)組。聲明賦初值的數(shù)組及動(dòng)態(tài)數(shù)組。例例l數(shù)組元素個(gè)數(shù)計(jì)算。數(shù)組元素個(gè)數(shù)計(jì)算。REAL a(L1:U1,L2:U2,Ln:Un) !REAL a(L1:U1,L2:U2,Ln:Un) !數(shù)組元素個(gè)數(shù)數(shù)組元素個(gè)數(shù)m m按以下公式計(jì)算:按以下公式計(jì)算:m=(U1-L1+1)(U2-L2+1)(Un-Ln+1)m=(U1-L1+1)(U2-L2+1)(Un-Ln+1)如:如:

18、REAL arr(2:5,-1:2,4),M=(5-2+1)REAL arr(2:5,-1:2,4),M=(5-2+1) (2-(-1)+1)(2-(-1)+1) (4-1+1)=64(4-1+1)=64。6.2 6.2 數(shù)組數(shù)組定義定義聲明聲明1 1聲明聲明2 2聲明聲明3 3說(shuō)明說(shuō)明第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.2 6.2 數(shù)組數(shù)組/ /聲明聲明2 2l使用使用DIMENSIONDIMENSION語(yǔ)句進(jìn)行數(shù)組聲明。一般格式:語(yǔ)句進(jìn)行數(shù)組聲明。一般格式:DIMENSIONDIMENSION DIM

19、ENSION 例:例: INTEGER day,countINTEGER day,count CHARACTER CHARACTER* *10 country10 country LOGICAL L LOGICAL L DIMENSION num(3),day(12),ihour(5:7),count(-3:3) DIMENSION num(3),day(12),ihour(5:7),count(-3:3) DIMENSION sc(-5:-1,5:9),ar(2:5,-1:2,4) DIMENSION sc(-5:-1,5:9),ar(2:5,-1:2,4) DIMENSION countr

20、y(15),L(5) DIMENSION country(15),L(5)DIMENSIONDIMENSION語(yǔ)句中不能出現(xiàn)語(yǔ)句中不能出現(xiàn):,:,不能給數(shù)組賦初值。不能給數(shù)組賦初值。6.2 6.2 數(shù)組數(shù)組定義定義聲明聲明1 1聲明聲明2 2聲明聲明3 3說(shuō)明說(shuō)明第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.2 6.2 數(shù)組數(shù)組/ /聲明聲明3 3l使用類型聲明語(yǔ)句和使用類型聲明語(yǔ)句和DIMENSIONDIMENSION屬性進(jìn)行數(shù)組聲明。一般格式:屬性進(jìn)行數(shù)組聲明。一般格式: ,DIMENSION(,DIMENSI

21、ON( ) : ) : 例:例: INTEGERINTEGER,DIMENSION(2):num,total,score(10:15),price(4,5)DIMENSION(2):num,total,score(10:15),price(4,5) REAL,DIMENSION(-5:-1,5:9) : sc,jp REAL,DIMENSION(-5:-1,5:9) : sc,jp CHARACTER CHARACTER* *10,DIMENSION(15) : country,name(10)10,DIMENSION(15) : country,name(10) INTEGER INTEGE

22、R,DIMENSION(5) : S=(/45,78,85,55,95/)DIMENSION(5) : S=(/45,78,85,55,95/)必須出現(xiàn)必須出現(xiàn):,:,可給數(shù)組賦初值。可給數(shù)組賦初值。6.2 6.2 數(shù)組數(shù)組定義定義聲明聲明1 1聲明聲明2 2聲明聲明3 3說(shuō)明說(shuō)明第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.2 6.2 數(shù)組數(shù)組/ /說(shuō)明說(shuō)明l數(shù)組聲明中,維下界可以為數(shù)組聲明中,維下界可以為1 1,維下界為,維下界為1 1可缺省??扇笔?。l數(shù)組聲明中,維下界和維上界可以為任意整數(shù),且維下界數(shù)組聲明

23、中,維下界和維上界可以為任意整數(shù),且維下界維上界。維上界。l數(shù)組聲明中,出現(xiàn)數(shù)組聲明中,出現(xiàn):,才能在聲明語(yǔ)句中給數(shù)組賦初值。,才能在聲明語(yǔ)句中給數(shù)組賦初值。l數(shù)組聲明中,允許維下界數(shù)組聲明中,允許維下界 維上界,且數(shù)組大小為維上界,且數(shù)組大小為0 0。l使用類型聲明語(yǔ)句聲明數(shù)組時(shí),可使數(shù)組與普通變量混合聲明。使用類型聲明語(yǔ)句聲明數(shù)組時(shí),可使數(shù)組與普通變量混合聲明。l使用使用DIMENSIONDIMENSION語(yǔ)句聲明數(shù)組時(shí),可用類型聲明語(yǔ)句在前面聲明類型。語(yǔ)句聲明數(shù)組時(shí),可用類型聲明語(yǔ)句在前面聲明類型。聲明中不能有聲明中不能有:。l使用使用DIMENSIONDIMENSION屬性聲明數(shù)組時(shí),

24、聲明中必須有屬性聲明數(shù)組時(shí),聲明中必須有:。6.2 6.2 數(shù)組數(shù)組定義定義聲明聲明1 1聲明聲明2 2聲明聲明3 3說(shuō)明說(shuō)明第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.2 6.2 數(shù)組數(shù)組/ /聲明聲明1/1/例例1 1l使用類型聲明語(yǔ)句進(jìn)行數(shù)組聲明。一般格式:使用類型聲明語(yǔ)句進(jìn)行數(shù)組聲明。一般格式: : : INTEGERREALCOMPLEXCHARACTERLOGICALINTEGERREALCOMPLEXCHARACTERLOGICAL ()=)=, ( ()=)= , : (/,/n/)n聲明下界為聲

25、明下界為1 1的數(shù)組。例的數(shù)組。例n聲明數(shù)組下界不為聲明數(shù)組下界不為1 1的數(shù)組。的數(shù)組。例例n聲明賦初值的數(shù)組及動(dòng)態(tài)數(shù)組。聲明賦初值的數(shù)組及動(dòng)態(tài)數(shù)組。例例l數(shù)組元素個(gè)數(shù)計(jì)算。數(shù)組元素個(gè)數(shù)計(jì)算。REAL a(L1:U1,L2:U2,Ln:Un) !REAL a(L1:U1,L2:U2,Ln:Un) !數(shù)組元素個(gè)數(shù)數(shù)組元素個(gè)數(shù)m m按以下公式計(jì)算:按以下公式計(jì)算:m=(U1-L1+1)(U2-L2+1)(Un-Ln+1)m=(U1-L1+1)(U2-L2+1)(Un-Ln+1)如:如:REAL arr(2:5,-1:2,4),M=(5-2+1)REAL arr(2:5,-1:2,4),M=(5-

26、2+1) (2-(-1)+1)(2-(-1)+1) (4-1+1)=64(4-1+1)=64。INTEGERINTEGER(1 1)num(3),day(12) !num(3),day(12) !聲明聲明KINDKIND值為值為1 1的二個(gè)整型數(shù)組的二個(gè)整型數(shù)組INTEGER N(4),M(5,8) !INTEGER N(4),M(5,8) !聲明聲明KINDKIND值為值為4 4的二個(gè)整型數(shù)組的二個(gè)整型數(shù)組REAL score(4),prices(15) !REAL score(4),prices(15) !聲明二個(gè)單精度實(shí)型數(shù)組聲明二個(gè)單精度實(shí)型數(shù)組REAL(8) dr(5) !REAL(

27、8) dr(5) !聲明一個(gè)雙精度實(shí)型數(shù)組聲明一個(gè)雙精度實(shí)型數(shù)組COMPLEX comp(3) !COMPLEX comp(3) !聲明一個(gè)單精度復(fù)型數(shù)組聲明一個(gè)單精度復(fù)型數(shù)組CHARACTERCHARACTER* *10 country(15) !10 country(15) !聲明一個(gè)長(zhǎng)度為聲明一個(gè)長(zhǎng)度為1010的字符型數(shù)組的字符型數(shù)組LOGICAL L(5) !LOGICAL L(5) !聲明一個(gè)聲明一個(gè)KINDKIND值為值為4 4的邏輯型數(shù)組的邏輯型數(shù)組6.2 6.2 數(shù)組數(shù)組定義定義聲明聲明1 1聲明聲明2 2聲明聲明3 3說(shuō)明說(shuō)明第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)

28、及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.2 6.2 數(shù)組數(shù)組/ /聲明聲明1/1/例例2 2l使用類型聲明語(yǔ)句進(jìn)行數(shù)組聲明。一般格式:使用類型聲明語(yǔ)句進(jìn)行數(shù)組聲明。一般格式: : : INTEGERREALCOMPLEXCHARACTERLOGICALINTEGERREALCOMPLEXCHARACTERLOGICAL ()=)=, ( ()=)= , : (/,/n/)n聲明下界為聲明下界為1 1的數(shù)組。例的數(shù)組。例n聲明數(shù)組下界不為聲明數(shù)組下界不為1 1的數(shù)組。的數(shù)組。例例n聲明賦初值的數(shù)組及動(dòng)態(tài)數(shù)組。聲明賦初值的數(shù)組及動(dòng)態(tài)數(shù)組。例例l數(shù)組元素個(gè)數(shù)計(jì)算。

29、數(shù)組元素個(gè)數(shù)計(jì)算。REAL a(L1:U1,L2:U2,Ln:Un) !REAL a(L1:U1,L2:U2,Ln:Un) !數(shù)組元素個(gè)數(shù)數(shù)組元素個(gè)數(shù)m m按以下公式計(jì)算:按以下公式計(jì)算:m=(U1-L1+1)(U2-L2+1)(Un-Ln+1)m=(U1-L1+1)(U2-L2+1)(Un-Ln+1)如:如:REAL arr(2:5,-1:2,4),M=(5-2+1)REAL arr(2:5,-1:2,4),M=(5-2+1) (2-(-1)+1)(2-(-1)+1) (4-1+1)=64(4-1+1)=64。INTEGER count(-3:3) !INTEGER count(-3:3)

30、!聲明一個(gè)一維整型數(shù)組,有聲明一個(gè)一維整型數(shù)組,有7 7個(gè)數(shù)組元素個(gè)數(shù)組元素INTEGER week(0:6) !INTEGER week(0:6) !聲明一個(gè)一維整型數(shù)組,有聲明一個(gè)一維整型數(shù)組,有7 7個(gè)數(shù)組元素個(gè)數(shù)組元素REAL sc(-5:-1,5:9) !REAL sc(-5:-1,5:9) !聲明一個(gè)二維實(shí)型數(shù)組,有聲明一個(gè)二維實(shí)型數(shù)組,有2525個(gè)數(shù)組元素個(gè)數(shù)組元素REAL ar(2:5,-1:2,4) !REAL ar(2:5,-1:2,4) !聲明一個(gè)三維實(shí)型數(shù)組,有聲明一個(gè)三維實(shí)型數(shù)組,有6464個(gè)數(shù)組元素個(gè)數(shù)組元素6.2 6.2 數(shù)組數(shù)組定義定義聲明聲明1 1聲明聲明2

31、2聲明聲明3 3說(shuō)明說(shuō)明第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.2 6.2 數(shù)組數(shù)組/ /聲明聲明1/1/例例3 3l使用類型聲明語(yǔ)句進(jìn)行數(shù)組聲明。一般格式:使用類型聲明語(yǔ)句進(jìn)行數(shù)組聲明。一般格式: : : INTEGERREALCOMPLEXCHARACTERLOGICALINTEGERREALCOMPLEXCHARACTERLOGICAL ()=)=, ( ()=)= , : (/,/n/)n聲明下界為聲明下界為1 1的數(shù)組。例的數(shù)組。例n聲明數(shù)組下界不為聲明數(shù)組下界不為1 1的數(shù)組。的數(shù)組。例例n聲明賦

32、初值的數(shù)組及動(dòng)態(tài)數(shù)組。聲明賦初值的數(shù)組及動(dòng)態(tài)數(shù)組。例例l數(shù)組元素個(gè)數(shù)計(jì)算。數(shù)組元素個(gè)數(shù)計(jì)算。REAL a(L1:U1,L2:U2,Ln:Un) !REAL a(L1:U1,L2:U2,Ln:Un) !數(shù)組元素個(gè)數(shù)數(shù)組元素個(gè)數(shù)m m按以下公式計(jì)算:按以下公式計(jì)算:m=(U1-L1+1)(U2-L2+1)(Un-Ln+1)m=(U1-L1+1)(U2-L2+1)(Un-Ln+1)如:如:REAL arr(2:5,-1:2,4),M=(5-2+1)REAL arr(2:5,-1:2,4),M=(5-2+1) (2-(-1)+1)(2-(-1)+1) (4-1+1)=64(4-1+1)=64。INTE

33、GER : num(3)=(/12,23,34/),day(12)INTEGER : num(3)=(/12,23,34/),day(12)REAL : a(-1:3)=(/1.5,2.5,3.5,4.5,5.5/)REAL : a(-1:3)=(/1.5,2.5,3.5,4.5,5.5/)INTEGER : X(3,4)=(/1,2,3,4,5,6,7,8,9,10,11,12/)INTEGER : X(3,4)=(/1,2,3,4,5,6,7,8,9,10,11,12/)REAL,ALLOCATABLE:SUM(:),AVER(:,:),B(:)REAL,ALLOCATABLE:SUM(:

34、),AVER(:,:),B(:)READ(READ(* *, ,* *) M,N) M,NALLOCATE(SUM(0:N),AVER(M,N),B(-1:M)ALLOCATE(SUM(0:N),AVER(M,N),B(-1:M)DEALLOCATEDEALLOCATE6.2 6.2 數(shù)組數(shù)組定義定義聲明聲明1 1聲明聲明2 2聲明聲明3 3說(shuō)明說(shuō)明第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.3 6.3 數(shù)據(jù)有格式輸入輸出概述數(shù)據(jù)有格式輸入輸出概述6.3 6.3 數(shù)據(jù)有格式輸入輸出概述數(shù)據(jù)有格式輸入輸出概述l輸入

35、輸出數(shù)據(jù)是否輸入輸出數(shù)據(jù)是否簡(jiǎn)潔簡(jiǎn)潔、直觀直觀、醒目醒目、規(guī)范規(guī)范, ,是反映程序質(zhì)量的一項(xiàng)重要指標(biāo)。是反映程序質(zhì)量的一項(xiàng)重要指標(biāo)。l示例示例: :某程序需輸入某程序需輸入3 3個(gè)學(xué)生個(gè)學(xué)生4 4門課成績(jī)數(shù)據(jù)門課成績(jī)數(shù)據(jù), ,共輸入共輸入1212個(gè)數(shù)據(jù)個(gè)數(shù)據(jù), ,有兩種輸入方式:有兩種輸入方式: 78.5 85 58 98 75 88.5 99 45.5 84.5 69.5 77 8278.5 85 58 98 75 88.5 99 45.5 84.5 69.5 77 82 數(shù)學(xué)數(shù)學(xué) 物理物理 化學(xué)化學(xué) 英語(yǔ)英語(yǔ) 輸入第輸入第1 1位同學(xué)四門課成績(jī):位同學(xué)四門課成績(jī):78.5 85.0 58.

36、0 98.078.5 85.0 58.0 98.0 輸入第輸入第2 2位同學(xué)四門課成績(jī)位同學(xué)四門課成績(jī): 75.0 88.5 99.0 45.5: 75.0 88.5 99.0 45.5 輸入第輸入第3 3位同學(xué)四門課成績(jī)位同學(xué)四門課成績(jī): 84.5 69.5 77.0 82.0: 84.5 69.5 77.0 82.0l示例示例: :某程序要輸出某程序要輸出3 3個(gè)學(xué)生個(gè)學(xué)生4 4門課成績(jī)數(shù)據(jù)門課成績(jī)數(shù)據(jù), ,共輸出共輸出1212個(gè)數(shù)據(jù)個(gè)數(shù)據(jù), ,有兩種輸出方式:有兩種輸出方式: 78.50000 85.00000 58.00000 98.00000 75.00000 78.50000 85

37、.00000 58.00000 98.00000 75.00000 88.50000 99.00000 45.50000 84.50000 69.50000 88.50000 99.00000 45.50000 84.50000 69.50000 77.00000 82.00000 77.00000 82.00000 數(shù)學(xué)數(shù)學(xué) 物理物理 化學(xué)化學(xué) 英語(yǔ)英語(yǔ) 第第1 1位同學(xué)成績(jī)位同學(xué)成績(jī): 78.5 85.0 58.0 98.0: 78.5 85.0 58.0 98.0 第第2 2位同學(xué)成績(jī)位同學(xué)成績(jī): 75.0 88.5 99.0 45.5: 75.0 88.5 99.0 45.5 第第3

38、3位同學(xué)成績(jī)位同學(xué)成績(jī): 84.5 69.5 77.0 82.0: 84.5 69.5 77.0 82.0輸入分類輸入分類輸入提示輸入提示簡(jiǎn)潔直觀簡(jiǎn)潔直觀醒目規(guī)范醒目規(guī)范第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.4 6.4 格式說(shuō)明與格式編輯符格式說(shuō)明與格式編輯符 READ( READ(* *,100) m,n,100) m,n WRITE( WRITE(* *,200) m+n,m-n,200) m+n,m-n 100 FORMAT(I3,I3) 100 FORMAT(I3,I3) 200 FORMAT(1X

39、, m+n=,I4, m-n=,I4) 200 FORMAT(1X, m+n=,I4, m-n=,I4) END END READ( READ(* *,(I3,I3)“) m,n,(I3,I3)“) m,n WRITE( WRITE(* *,(1X, m+n=,I4, m-n=,I4)“) m+n,m-,(1X, m+n=,I4, m-n=,I4)“) m+n,m-n n END END 輸入:輸入:987432987432。 輸出:輸出:m+n=1419m-n=m+n=1419m-n=555555。示例示例格式說(shuō)明格式說(shuō)明編輯符編輯符6.4 6.4 格式說(shuō)明與格式編輯符格式說(shuō)明與格式編輯符

40、READ( READ(* *,100)m,n ,100)m,n WRITE( WRITE(* *,200)m+n,m-n,200)m+n,m-n 100 FORMAT(I3,I3) 100 FORMAT(I3,I3) 200 FORMAT(1X,m+n=,I4, m-n=,I4) 200 FORMAT(1X,m+n=,I4, m-n=,I4) END END READ( READ(* *,(I3,I3)m,n,(I3,I3)m,n WRITE( WRITE(* *,(1X, m+n=,I4, m-n=,I4)m+n,m-n,(1X, m+n=,I4, m-n=,I4)m+n,m-n END E

41、ND第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.46.4格式說(shuō)明與格式編輯符格式說(shuō)明與格式編輯符/ /格式說(shuō)明格式說(shuō)明l數(shù)據(jù)有格式輸入輸出需要給出相關(guān)的格式說(shuō)明。數(shù)據(jù)有格式輸入輸出需要給出相關(guān)的格式說(shuō)明。lFORMATFORMAT語(yǔ)句提供輸入輸出數(shù)據(jù)的格式說(shuō)明信息。語(yǔ)句提供輸入輸出數(shù)據(jù)的格式說(shuō)明信息。lFORMATFORMAT語(yǔ)句既不是執(zhí)行語(yǔ)句語(yǔ)句既不是執(zhí)行語(yǔ)句, ,也不是說(shuō)明語(yǔ)句。也不是說(shuō)明語(yǔ)句。lFORMATFORMAT語(yǔ)句可出現(xiàn)在說(shuō)明語(yǔ)句之后語(yǔ)句可出現(xiàn)在說(shuō)明語(yǔ)句之后,END,END語(yǔ)句之前任何位置。語(yǔ)句之前

42、任何位置。l格式說(shuō)明表是關(guān)鍵字格式說(shuō)明表是關(guān)鍵字FORMATFORMAT之后的括號(hào)部分。之后的括號(hào)部分。l格式說(shuō)明表由若干格式編輯符組成,編輯符由格式說(shuō)明表由若干格式編輯符組成,編輯符由“,”,”分隔。分隔。l格式說(shuō)明表可嵌入到輸入輸出語(yǔ)句中,取代格式說(shuō)明表可嵌入到輸入輸出語(yǔ)句中,取代FORMATFORMAT語(yǔ)句。語(yǔ)句。l格式說(shuō)明一般使用格式說(shuō)明一般使用FORMATFORMAT語(yǔ)句,簡(jiǎn)單格式使用嵌入方式。語(yǔ)句,簡(jiǎn)單格式使用嵌入方式。lFORMATFORMAT語(yǔ)句語(yǔ)法描述:語(yǔ)句語(yǔ)法描述: FORMAT FORMAT FORMAT (,/,/)6.4 6.4 格式說(shuō)明與格式編輯符格式說(shuō)明與格式編輯

43、符示例示例格式說(shuō)明格式說(shuō)明編輯符編輯符第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.46.4格式說(shuō)明與格式編輯符格式說(shuō)明與格式編輯符/ /編輯符編輯符lFORTRAN 90FORTRAN 90提供了提供了2424個(gè)格式編輯符,如:個(gè)格式編輯符,如:I I、F F、E E、A A等。等。l格式編輯符分為兩類:格式編輯符分為兩類:可重復(fù)編輯符可重復(fù)編輯符、不可重復(fù)編輯符不可重復(fù)編輯符。 l可重復(fù)編輯符可重復(fù)編輯符可指定重復(fù)系數(shù)可指定重復(fù)系數(shù), ,與與I/OI/O表中的一個(gè)表中的一個(gè)I/OI/O項(xiàng)對(duì)應(yīng)。項(xiàng)對(duì)應(yīng)。l不可重復(fù)

44、編輯符不可重復(fù)編輯符不可指定重復(fù)系數(shù)不可指定重復(fù)系數(shù), ,不與輸入輸出項(xiàng)相對(duì)應(yīng)。不與輸入輸出項(xiàng)相對(duì)應(yīng)。 如:如:I I、F F、E E、A A等編輯符為等編輯符為可重復(fù)編輯符可重復(fù)編輯符。 如:如:X X、Q Q、/ /、 等編輯符為等編輯符為不可重復(fù)編輯符不可重復(fù)編輯符。 READ(READ(* *,100) num1, num2, price1, price2,100) num1, num2, price1, price2 100 FORMAT(2I3, F7.1, E8.2) 100 FORMAT(2I3, F7.1, E8.2) WRITE( WRITE(* *,200) num1,2

45、00) num1* *price1+num2price1+num2* *price2price2 200 FORMAT(1X,total prices=,E14.7) 200 FORMAT(1X,total prices=,E14.7) END END 輸入:輸入:1251252195234.57.52E+042195234.57.52E+04。 輸出:輸出:total prices=total prices=1.3483512E+071.3483512E+07。6.4 6.4 格式說(shuō)明與格式編輯符格式說(shuō)明與格式編輯符示例示例格式說(shuō)明格式說(shuō)明編輯符編輯符第六講第六講 FortranFortra

46、n數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心表表6-1 可重復(fù)編輯符可重復(fù)編輯符 格式格式 名稱名稱 功能功能 輸入輸入 輸出輸出 rIm.n rIm.n 整型編輯符整型編輯符 將整數(shù)按指定域?qū)捿斎胼敵鰧⒄麛?shù)按指定域?qū)捿斎胼敵?rBm.n rBm.n 二進(jìn)制編輯符二進(jìn)制編輯符 將將2 2進(jìn)制數(shù)按指定域?qū)捿斎胼敵鲞M(jìn)制數(shù)按指定域?qū)捿斎胼敵?rOm.n rOm.n 八進(jìn)制編輯符八進(jìn)制編輯符 將將8 8進(jìn)制數(shù)按指定域?qū)捿斎胼敵鲞M(jìn)制數(shù)按指定域?qū)捿斎胼敵?rZm.n 16rZm.n 16進(jìn)制編輯符進(jìn)制編輯符 將將1616進(jìn)制數(shù)按指定域?qū)捿斎胼敵鲞M(jìn)制數(shù)按指定域?qū)捿斎胼敵?/p>

47、 rFm.d rFm.d 小數(shù)型實(shí)型編輯符小數(shù)型實(shí)型編輯符 將實(shí)數(shù)按指定域?qū)捿斎胼敵鰧?shí)數(shù)按指定域?qū)捿斎胼敵?rEm.dEe rEm.dEe 指數(shù)型實(shí)型編輯符指數(shù)型實(shí)型編輯符 將實(shí)數(shù)按指定域?qū)捿斎胼敵鰧?shí)數(shù)按指定域?qū)捿斎胼敵?rDm.d rDm.d 雙精度實(shí)型編輯符雙精度實(shí)型編輯符 將雙精度數(shù)按指定域?qū)捿斎胼敵鰧㈦p精度數(shù)按指定域?qū)捿斎胼敵?rENm.dEe rENm.dEe 工程計(jì)數(shù)法編輯符工程計(jì)數(shù)法編輯符 將實(shí)數(shù)按工程計(jì)數(shù)法輸入輸出將實(shí)數(shù)按工程計(jì)數(shù)法輸入輸出 rESm.dEe rESm.dEe 科學(xué)計(jì)數(shù)法編輯符科學(xué)計(jì)數(shù)法編輯符 將實(shí)數(shù)按科學(xué)計(jì)數(shù)法輸入輸出將實(shí)數(shù)按科學(xué)計(jì)數(shù)法輸入輸出 rAm r

48、Am 字符型編輯符字符型編輯符 將字符串按指定域?qū)捿斎胼敵鰧⒆址粗付ㄓ驅(qū)捿斎胼敵?rLm rLm 邏輯型編輯符邏輯型編輯符 將邏輯值按指定域?qū)捿斎胼敵鰧⑦壿嬛蛋粗付ㄓ驅(qū)捿斎胼敵?rGm.dEe rGm.dEe 通用編輯符通用編輯符 將任意類型數(shù)據(jù)按域?qū)捿斎胼敵鰧⑷我忸愋蛿?shù)據(jù)按域?qū)捿斎胼敵?第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心表表6-2 不可重復(fù)編輯符不可重復(fù)編輯符 格式格式 名稱名稱 功能功能 輸入輸入 輸出輸出 或或“ ” “ ” 撇號(hào)編輯符撇號(hào)編輯符 將字符串輸出將字符串輸出 nH HnH H編輯符編

49、輯符 將將H H后后n n個(gè)字符輸出個(gè)字符輸出 Q Q 字符計(jì)數(shù)編輯符字符計(jì)數(shù)編輯符 獲到輸入記錄中剩余字符數(shù)獲到輸入記錄中剩余字符數(shù) Tc, TLc, TRc Tc, TLc, TRc 位置編輯符位置編輯符 指定輸入輸出記錄中的位置指定輸入輸出記錄中的位置 nX nX 位置編輯符位置編輯符 指定輸入輸出記錄中的位置指定輸入輸出記錄中的位置 SP, SS, S +SP, SS, S +號(hào)編輯符號(hào)編輯符 控制控制+ +號(hào)輸出號(hào)輸出 / / 斜杠編輯符斜杠編輯符 終止本記錄終止本記錄, ,開(kāi)始下一記錄開(kāi)始下一記錄 反斜杠編輯符反斜杠編輯符 下一記錄接上一記錄輸出下一記錄接上一記錄輸出 $ $ $編

50、輯符編輯符 下一記錄接上一記錄輸出下一記錄接上一記錄輸出 : 格式控制編輯符格式控制編輯符 無(wú)輸出數(shù)據(jù)終止格式控制無(wú)輸出數(shù)據(jù)終止格式控制 kP kP 比例因子編輯符比例因子編輯符 設(shè)置設(shè)置F F和和E E編輯符指數(shù)比例因子編輯符指數(shù)比例因子 BN, BZ BN, BZ 空格替代編輯符空格替代編輯符 指定數(shù)字串中空格意義指定數(shù)字串中空格意義 第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.5 6.5 整數(shù)有格式輸入輸出整數(shù)有格式輸入輸出I I 編輯符可用于整數(shù)的有格式輸入輸出編輯符可用于整數(shù)的有格式輸入輸出, ,一般格

51、式是:一般格式是: rIw.mrIw.m其中:其中:r r為為I I編輯符重復(fù)次數(shù)。編輯符重復(fù)次數(shù)。即:即:rIw.mrIw.m等價(jià)于等價(jià)于Iw.m,Iw.m,Iw.mIw.m,Iw.m,Iw.m。 w w為整數(shù)輸入輸出域?qū)挒檎麛?shù)輸入輸出域?qū)? ,即整數(shù)占連續(xù)字符個(gè)數(shù)。即整數(shù)占連續(xù)字符個(gè)數(shù)。 m m為輸出最少位數(shù)。為輸出最少位數(shù)。 .m.m項(xiàng)只對(duì)整數(shù)輸出有效項(xiàng)只對(duì)整數(shù)輸出有效, ,對(duì)輸入無(wú)效。對(duì)輸入無(wú)效。 程序示例:程序示例: INTEGER(2) i,j,kINTEGER(2) i,j,k READ( READ(* *,10) i,j,k,10) i,j,k 10 10 FORMAT(I4,

52、2I5) FORMAT(I4,2I5) !等價(jià)于!等價(jià)于FORMAT(I4,I5,I5)FORMAT(I4,I5,I5) WRITE( WRITE(* *,(1X, i+j+k=,I5) i+j+k,(1X, i+j+k=,I5) i+j+k END END格式格式輸入輸入輸出輸出6.5 6.5 整數(shù)有格式輸入輸出整數(shù)有格式輸入輸出第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.5 6.5 整數(shù)有格式輸入輸出整數(shù)有格式輸入輸出/ /輸入輸入l輸入數(shù)據(jù)間可按規(guī)定域?qū)捑o密輸入輸入數(shù)據(jù)間可按規(guī)定域?qū)捑o密輸入, ,也可用逗號(hào)

53、間隔輸入也可用逗號(hào)間隔輸入, ,不用空格。不用空格。l在域?qū)拑?nèi)在域?qū)拑?nèi), ,數(shù)字前后數(shù)字前后, ,數(shù)字之間可出現(xiàn)空格數(shù)字之間可出現(xiàn)空格, ,這些空格這些空格一般一般被視為空。被視為空。 l在域?qū)拑?nèi)在域?qū)拑?nèi), ,全為空格全為空格, ,輸入整數(shù)為輸入整數(shù)為0 0。 l在域?qū)拑?nèi)在域?qū)拑?nèi), ,輸入數(shù)據(jù)不能超出范圍輸入數(shù)據(jù)不能超出范圍, ,不能是非十進(jìn)制整數(shù)。不能是非十進(jìn)制整數(shù)。lI I編輯符要求輸入表中對(duì)應(yīng)變量的類型一般是整型編輯符要求輸入表中對(duì)應(yīng)變量的類型一般是整型, ,否則會(huì)產(chǎn)生錯(cuò)誤。否則會(huì)產(chǎn)生錯(cuò)誤。l示例:示例: INTEGER(2) i,j,kINTEGER(2) i,j,k READ( RE

54、AD(* *,10) i,j,k,10) i,j,k 10 10 FORMAT(I4,2I5) FORMAT(I4,2I5) !等價(jià)于!等價(jià)于FORMAT(I4,I5,I5)FORMAT(I4,I5,I5) WRITE( WRITE(* *,(1X, i+j+k=,I5) i+j+k,(1X, i+j+k=,I5) i+j+k END END 格式格式輸入輸入輸出輸出6.5 6.5 整數(shù)有格式輸入輸出整數(shù)有格式輸入輸出第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.5 6.5 整數(shù)有格式輸入輸出整數(shù)有格式輸入輸出/

55、/輸出輸出l若域?qū)挼扔谡麛?shù)位數(shù)若域?qū)挼扔谡麛?shù)位數(shù), ,則在域?qū)拑?nèi)輸出該整數(shù)則在域?qū)拑?nèi)輸出該整數(shù), ,與后一數(shù)據(jù)無(wú)空格間隔。與后一數(shù)據(jù)無(wú)空格間隔。l若域?qū)挻笥谡麛?shù)位數(shù)若域?qū)挻笥谡麛?shù)位數(shù), ,則在域?qū)拑?nèi)按右對(duì)齊輸出該整數(shù)則在域?qū)拑?nèi)按右對(duì)齊輸出該整數(shù), ,前補(bǔ)空格。前補(bǔ)空格。l若域?qū)捫∮谡麛?shù)位數(shù)若域?qū)捫∮谡麛?shù)位數(shù), ,則表明域?qū)挷蛔銊t表明域?qū)挷蛔? ,無(wú)法輸出數(shù)據(jù)無(wú)法輸出數(shù)據(jù), ,域?qū)拑?nèi)填充域?qū)拑?nèi)填充“* *”。l對(duì)于對(duì)于Iw.mIw.m格式格式,m,m表示輸出最小位數(shù)。位數(shù)小于表示輸出最小位數(shù)。位數(shù)小于m,m,補(bǔ)前導(dǎo)補(bǔ)前導(dǎo)0 0至至m m位。位。 l示例:示例: READ(READ(* *, ,*

56、 *) i,j,k) i,j,k 10 10 FORMAT(1X, i=,I4, j=,I4, k=,I4) FORMAT(1X, i=,I4, j=,I4, k=,I4) WRITE( WRITE(* *,10) i,j,k,10) i,j,k END END6.5 6.5 整數(shù)有格式輸入輸出整數(shù)有格式輸入輸出輸出:輸出:l i=1234j=-123k=4567i=1234j=-123k=4567l i= i=10j=10j=- -12k=123412k=1234 l i= i=* * * * *j=j=- -12k=123412k=1234 l i= i=008j=-008j=-012k=

57、1234012k=1234 輸入:輸入:l1234,-123,4567 1234,-123,4567 l10,-12,123410,-12,1234 l12345,-12,1234 12345,-12,1234 l8,-12,1234 8,-12,1234 格式格式輸入輸入輸出輸出第六講第六講 FortranFortran數(shù)據(jù)結(jié)構(gòu)及輸入、輸出數(shù)據(jù)結(jié)構(gòu)及輸入、輸出蘇州科技大學(xué)計(jì)算中心蘇州科技大學(xué)計(jì)算中心6.5 6.5 整數(shù)有格式輸入輸出整數(shù)有格式輸入輸出/ /輸入輸入/ /示例示例l輸入數(shù)據(jù)間可按規(guī)定域?qū)捑o密輸入輸入數(shù)據(jù)間可按規(guī)定域?qū)捑o密輸入, ,也可用逗號(hào)間隔輸入也可用逗號(hào)間隔輸入, ,不用空

58、格。不用空格。l在域?qū)拑?nèi)在域?qū)拑?nèi), ,數(shù)字前后數(shù)字前后, ,數(shù)字之間可出現(xiàn)空格數(shù)字之間可出現(xiàn)空格, ,這些空格這些空格一般一般被視為空。被視為空。 l在域?qū)拑?nèi)在域?qū)拑?nèi), ,全為空格全為空格, ,輸入整數(shù)為輸入整數(shù)為0 0。 l在域?qū)拑?nèi)在域?qū)拑?nèi), ,輸入數(shù)據(jù)不能超出范圍輸入數(shù)據(jù)不能超出范圍, ,不能是非十進(jìn)制整數(shù)。不能是非十進(jìn)制整數(shù)。lI I編輯符要求輸入表中對(duì)應(yīng)變量的類型一般是整型編輯符要求輸入表中對(duì)應(yīng)變量的類型一般是整型, ,否則會(huì)產(chǎn)生錯(cuò)誤。否則會(huì)產(chǎn)生錯(cuò)誤。l示例示例: INTEGER(2) i,j,kINTEGER(2) i,j,k READ 10,i,j,k READ 10,i,j,k

59、10 10 FORMAT(I4,2I5) FORMAT(I4,2I5) !等價(jià)于!等價(jià)于FORMAT(I4,I5,I5)FORMAT(I4,I5,I5) PRINT (1X, i+j+k=,I5),i+j+k PRINT (1X, i+j+k=,I5),i+j+k END END 格式格式輸入輸入輸出輸出6.5 6.5 整數(shù)有格式輸入輸出整數(shù)有格式輸入輸出輸入數(shù)據(jù):輸入數(shù)據(jù):l 123412345-6789123412345-6789l 12,12345-678912,12345-6789l12,34,12,34,5678956789l1234,1234,5678956789l 1 12 21

60、23123- -7878l 1 1,12,123434- -67896789l 1 1,12,12345-345-67896789l1 12 2- -7878l123454321-6789123454321-6789l 2#1112345-67892#1112345-6789l 1234543.2-67891234543.2-6789i i、j j、k k 值:值:li=1234,j=12345,k=-6789i=1234,j=12345,k=-6789li=12,j=12345,k=-6789i=12,j=12345,k=-6789li=12,j=34,k=5678i=12,j=34,k=5

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論