五、輸入輸出語(yǔ)句
(一)表控輸入輸出
表控輸入輸出語(yǔ)句是一種隱含格式的輸入輸出語(yǔ)句,其格式由程序編譯系統(tǒng)提供,在程序語(yǔ)句中不予表示。
1.表控輸出語(yǔ)句
FORTRAN 77表控輸出語(yǔ)句有兩種方式:
PRINT*,輸出量表
WRITE(*,*)輸出量表
這兩種表控輸出語(yǔ)句的作用是相同的,但一般微機(jī)上的FORTRAN 77子集不提供PRINT 語(yǔ)句,所以通常使用WRITE語(yǔ)句。
2.表控輸入
FORTRAN 77表控輸入語(yǔ)句有兩種型式:
READ*,輸入量表
READ(*,*)輸入量表
表控輸入又稱為自由格式輸入。表控輸入語(yǔ)句要求用戶在隱含的輸入設(shè)備(通常是鍵盤)上輸入所需的數(shù)據(jù),在輸人數(shù)據(jù)時(shí),各數(shù)據(jù)之間用逗號(hào)或空格分隔。
(二)格式輸入輸出
1.格式輸出數(shù)據(jù)語(yǔ)句WRITE語(yǔ)句和FORMAT語(yǔ)句
WRITE語(yǔ)句的一般形式為:WRITE(u,f)輸出量表
其中,u為部件說(shuō)明符,用以指出在哪個(gè)設(shè)備上進(jìn)行輸出,通常也稱為通道號(hào),當(dāng)u為記號(hào)*時(shí),表示在顯示器(標(biāo)準(zhǔn)輸出設(shè)備)上進(jìn)行輸出。f為格式說(shuō)明,它通常是一個(gè)格式語(yǔ)句的標(biāo)號(hào),用以指出輸出數(shù)據(jù)所采用的格式。
格式語(yǔ)句的一般形式為:
標(biāo)號(hào) FORMAT(格式說(shuō)明)
例如:WRITE(*,10)A,B,A*B
10 FORMAT(1X,F(xiàn)6.2,F(xiàn)7.3,F(xiàn)10.4)
FORMAT語(yǔ)句中,第一個(gè)“1X’’稱為縱向控制符,它表示前進(jìn)一空格后再輸出后面的數(shù)據(jù),后面的三個(gè)項(xiàng)分別說(shuō)明了三個(gè)實(shí)型數(shù)據(jù)輸出的,稱為格式編輯符。FORTRAN 77允許在WRITE語(yǔ)句中直接指定輸出格式,從而可以省略格式語(yǔ)句FORMAT。例如,上面的輸出語(yǔ)句與格式語(yǔ)句可以合并成一個(gè),即:WRITE(x,(1X,F(xiàn)6.2,F(xiàn)7.3,F(xiàn)10.4)’)A,B,A*B
2.格式編輯符
FORTRAN常用的格式符有十幾種,詳細(xì)可參照任何一本FORTRAN教材或?qū)S檬謨?cè)。
(三)隱循環(huán)的輸入輸出
數(shù)組元素的輸入輸出可以采用循環(huán)方式實(shí)現(xiàn)。例如:
DIMENSIONX(20)
DO 10 I=1,20
20 READ*,X(I)
程序段執(zhí)行時(shí)進(jìn)行20次循環(huán),每次輸入1個(gè)數(shù)據(jù)。這個(gè)輸入程序段可以改寫如下:
DIMENSIONX(20)
READ*,(X(1),I=1,20)
其中第2句就是隱循環(huán)的輸入語(yǔ)句。循環(huán)控制變量I的初值為1,終值為20,步長(zhǎng)而予以省略。隱循環(huán)語(yǔ)句的作用與DO語(yǔ)句是相同的;但使用隱循環(huán)語(yǔ)句時(shí),20個(gè)數(shù)據(jù)允許一次性輸入,當(dāng)然,數(shù)據(jù)與數(shù)據(jù)之間要用空格符或逗號(hào)區(qū)別開(kāi)來(lái)。 隱循環(huán)語(yǔ)句也用于輸出語(yǔ)句,也可使用多重循環(huán)。例如
DIMENSIONY(10,6)
READ(*,*) ((Y(I,J),J=1,6),I=1,10)
WRITE(*,5) ((Y(I,J),J=1,6),I=1,10)
5 FORMAT(1X,6F10.2)
運(yùn)行程序段時(shí),首先讀人60個(gè)數(shù)據(jù),Y(1,1),Y(1,2),……,Y(1,6),Y(2,
1),Y(2,2),……,Y(2,6),……,Y(10,1),Y(10,2),……,Y(10,6),
然后輸出60個(gè)數(shù)據(jù),每行輸出6個(gè)數(shù)據(jù),數(shù)據(jù)的排列順序與輸入時(shí)相同。
(一)表控輸入輸出
表控輸入輸出語(yǔ)句是一種隱含格式的輸入輸出語(yǔ)句,其格式由程序編譯系統(tǒng)提供,在程序語(yǔ)句中不予表示。
1.表控輸出語(yǔ)句
FORTRAN 77表控輸出語(yǔ)句有兩種方式:
PRINT*,輸出量表
WRITE(*,*)輸出量表
這兩種表控輸出語(yǔ)句的作用是相同的,但一般微機(jī)上的FORTRAN 77子集不提供PRINT 語(yǔ)句,所以通常使用WRITE語(yǔ)句。
2.表控輸入
FORTRAN 77表控輸入語(yǔ)句有兩種型式:
READ*,輸入量表
READ(*,*)輸入量表
表控輸入又稱為自由格式輸入。表控輸入語(yǔ)句要求用戶在隱含的輸入設(shè)備(通常是鍵盤)上輸入所需的數(shù)據(jù),在輸人數(shù)據(jù)時(shí),各數(shù)據(jù)之間用逗號(hào)或空格分隔。
(二)格式輸入輸出
1.格式輸出數(shù)據(jù)語(yǔ)句WRITE語(yǔ)句和FORMAT語(yǔ)句
WRITE語(yǔ)句的一般形式為:WRITE(u,f)輸出量表
其中,u為部件說(shuō)明符,用以指出在哪個(gè)設(shè)備上進(jìn)行輸出,通常也稱為通道號(hào),當(dāng)u為記號(hào)*時(shí),表示在顯示器(標(biāo)準(zhǔn)輸出設(shè)備)上進(jìn)行輸出。f為格式說(shuō)明,它通常是一個(gè)格式語(yǔ)句的標(biāo)號(hào),用以指出輸出數(shù)據(jù)所采用的格式。
格式語(yǔ)句的一般形式為:
標(biāo)號(hào) FORMAT(格式說(shuō)明)
例如:WRITE(*,10)A,B,A*B
10 FORMAT(1X,F(xiàn)6.2,F(xiàn)7.3,F(xiàn)10.4)
FORMAT語(yǔ)句中,第一個(gè)“1X’’稱為縱向控制符,它表示前進(jìn)一空格后再輸出后面的數(shù)據(jù),后面的三個(gè)項(xiàng)分別說(shuō)明了三個(gè)實(shí)型數(shù)據(jù)輸出的,稱為格式編輯符。FORTRAN 77允許在WRITE語(yǔ)句中直接指定輸出格式,從而可以省略格式語(yǔ)句FORMAT。例如,上面的輸出語(yǔ)句與格式語(yǔ)句可以合并成一個(gè),即:WRITE(x,(1X,F(xiàn)6.2,F(xiàn)7.3,F(xiàn)10.4)’)A,B,A*B
2.格式編輯符
FORTRAN常用的格式符有十幾種,詳細(xì)可參照任何一本FORTRAN教材或?qū)S檬謨?cè)。
(三)隱循環(huán)的輸入輸出
數(shù)組元素的輸入輸出可以采用循環(huán)方式實(shí)現(xiàn)。例如:
DIMENSIONX(20)
DO 10 I=1,20
20 READ*,X(I)
程序段執(zhí)行時(shí)進(jìn)行20次循環(huán),每次輸入1個(gè)數(shù)據(jù)。這個(gè)輸入程序段可以改寫如下:
DIMENSIONX(20)
READ*,(X(1),I=1,20)
其中第2句就是隱循環(huán)的輸入語(yǔ)句。循環(huán)控制變量I的初值為1,終值為20,步長(zhǎng)而予以省略。隱循環(huán)語(yǔ)句的作用與DO語(yǔ)句是相同的;但使用隱循環(huán)語(yǔ)句時(shí),20個(gè)數(shù)據(jù)允許一次性輸入,當(dāng)然,數(shù)據(jù)與數(shù)據(jù)之間要用空格符或逗號(hào)區(qū)別開(kāi)來(lái)。 隱循環(huán)語(yǔ)句也用于輸出語(yǔ)句,也可使用多重循環(huán)。例如
DIMENSIONY(10,6)
READ(*,*) ((Y(I,J),J=1,6),I=1,10)
WRITE(*,5) ((Y(I,J),J=1,6),I=1,10)
5 FORMAT(1X,6F10.2)
運(yùn)行程序段時(shí),首先讀人60個(gè)數(shù)據(jù),Y(1,1),Y(1,2),……,Y(1,6),Y(2,
1),Y(2,2),……,Y(2,6),……,Y(10,1),Y(10,2),……,Y(10,6),
然后輸出60個(gè)數(shù)據(jù),每行輸出6個(gè)數(shù)據(jù),數(shù)據(jù)的排列順序與輸入時(shí)相同。