2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第11章 高級輸出與輸入,在第3章中,介紹了簡單的輸入輸出操作(也稱為表控輸入輸出、直接列表輸入輸出)語句READ、WRITE和PRINT。這些輸入輸出操作語句簡單易學(xué)、使用方便。但是如果想要使輸入輸出的數(shù)據(jù)更為美觀、易讀易用或是想要實(shí)現(xiàn)一些特殊的效果,這些簡單輸入輸出語句就顯得力不從心了。在本章中,將介紹同高級輸入輸出相關(guān)的語句設(shè)置、不同種類的格式編輯符等內(nèi)容。通過本章的介紹,就可以使程序在輸入輸出這方面顯得更加專業(yè)。,11.1

2、輸入輸出語句的格式化設(shè)置,在第3章中,提到過簡單輸入輸出語句同高級輸入輸出語句在形式上沒有太大差別。高級輸入輸出語句之所以高級,主要因?yàn)槠湓谟诰湔f明中添加了豐富的格式控制說明項(xiàng)。正是這些格式控制說明項(xiàng)使輸入輸出語句在進(jìn)行數(shù)據(jù)的輸入輸出操作時(shí)顯得豐富多彩。本節(jié)將介紹同輸入輸出語句相關(guān)的一些詳細(xì)設(shè)置。在第3章中,已經(jīng)介紹了三種常用的簡單輸入輸出語句:WRITE語句、PRINT語句和READ語句。實(shí)際上高級輸入輸出語句也是這三個(gè)語句。只是在

3、使用高級輸入輸出操作時(shí),需要設(shè)置更多的輸入輸出控制選項(xiàng)。而簡單輸入輸出語句無需設(shè)置這些控制選項(xiàng),只要用星號“*”就可以表示系統(tǒng)默認(rèn)的輸入輸出操作方式了。要在輸入輸出語句中使用高級的輸入輸出選項(xiàng),就要使用專門的語句來定義格式的形式。這個(gè)語句就是FORMAT語句,也稱為格式說明語句。該語句的語法形式為:FORMAT (format-list),11.2 輸入輸出語句與格式語句,在前一小節(jié)中,詳細(xì)介紹了FORMAY語句的相關(guān)知識。在介紹

4、的過程中,提到了FORMAT語句必須是有標(biāo)號的,以便在輸入輸出語句中進(jìn)行引用。在這一節(jié)中,就要介紹在輸入輸出語句中如何引用FORMAT語句。當(dāng)FORMAT語句定義完全并編上標(biāo)號后,就可以在輸入輸出語句中通過引用標(biāo)號的形式來引用格式說明語句。三種輸入輸出語句引用格式說明語句的形式羅列如下所述。,11.2.1 WRITE語句引用格式說明語句,在向外部設(shè)備輸出時(shí),語法形式如下:WRITE(設(shè)備號, [FMT=]格式說明語句標(biāo)號) [變量列

5、表]語句中,設(shè)備號表示要在其上輸出數(shù)據(jù)的設(shè)備,當(dāng)設(shè)備號為星號“*”時(shí),表示向默認(rèn)的設(shè)備輸出;關(guān)鍵字段“FMT=”用來顯示說明其后所跟的標(biāo)號為格式說明語句的標(biāo)號,當(dāng)WRITE語句說明項(xiàng)中只含有一項(xiàng)時(shí),“FMT=”可以省略;語句中允許變量列表為空,此時(shí)WRITE語句的作用是輸出一個(gè)空白行。,11.2.2 PRINT語句引用格式說明語句,PRINT語句只能向計(jì)算機(jī)的默認(rèn)設(shè)備(即屏幕)上輸出數(shù)據(jù)。因此PRINT語句引用格式說明語句的形式中不

6、含有設(shè)備號這樣的參數(shù)。語句的語法形式如下:PRINT 格式說明語句標(biāo)號[, 變量列表]需要注意的是,PRINT語句中在引用格式說明語句標(biāo)號時(shí),不允許使用關(guān)鍵字段“FMT=”。這和WRITE語句有一個(gè)重要的區(qū)別。語句中允許變量列表為空,作用與WRITE語句相同。,11.2.3 READ語句引用格式說明語句,在從外部設(shè)備中輸入時(shí),語法形式如下:READ(設(shè)備號, [FMT=]格式說明語句標(biāo)號) [變量列表]語句中,設(shè)備號表示要在其

7、上輸入數(shù)據(jù)的設(shè)備,當(dāng)設(shè)備號為星號“*”時(shí),表示從默認(rèn)的設(shè)備(一般是鍵盤)輸入;關(guān)鍵字段“FMT=”用來顯示說明其后所跟的標(biāo)號為格式說明語句的標(biāo)號,當(dāng)WRITE語句說明項(xiàng)中只含有一項(xiàng)時(shí),“FMT=”可以省略;語句中允許變量列表為空,此時(shí)READ語句將等待輸入,指導(dǎo)用戶鍵入回車鍵。,11.2.4 第一個(gè)輸入輸出綜合應(yīng)用,下面來看一段代碼,這段代碼綜合應(yīng)用了上述三種輸入輸出語句和FORMAT語句的交互作用。TEST1101.F90

8、 ! WRITE & FORMAT 語句的范例PROGRAM TEST1101 IMPLICIT NONE! 變量定義 INTEGER :: I, J, K REAL :: A, B, C! 可執(zhí)行段 WRITE(*, *)'Input

9、:' READ (*, 100)I, J, K READ(*, 200)A, B, C WRITE(*, *)'Output:' WRITE(*, 300) I, J, K PRINT 400, A, B, C! 格式說明 100 FORMAT(1X, 3(I3, 1X)) 200 FORMAT(1X, 3(F6.2, 1X)) 300 FORMAT(1X, 'I=

10、9;, I3, 'J=', I3, 'K=', I3) 400 FORMAT(1X, 'A=', F6.2, 'B=', F6.2, 'C=', F6.2) END PROGRAM TEST1101,11.3 格式編輯符概述,用戶在指定輸出格式時(shí),需要特定的方式向系統(tǒng)說明格式的“相貌”。在Fortran中,描述格式“相貌”的工作由“格式編

11、輯符”(或“編輯描述符”)來完成。格式編輯符的作用就是將數(shù)據(jù)進(jìn)行類似書報(bào)編輯對文字進(jìn)行編輯排版一樣的處理,使數(shù)據(jù)以更美觀的形式進(jìn)行顯示。在Fortran中,格式編輯符按照用途可以分為數(shù)據(jù)格式編輯符、控制格式編輯符和字符串格式編輯符三大類。下面將對這三類編輯符的使用和功能進(jìn)行講解。,11.4 數(shù)據(jù)格式編輯符,顧名思義,數(shù)據(jù)格式編輯符主要針對程序中的整型、實(shí)型、復(fù)型、邏輯型和字符型數(shù)據(jù)的輸入輸出格式控制。下面將對其中最常用的幾種編輯符的作

12、用和用法進(jìn)行講解。,11.4.1 I編輯符,I編輯符適用于整型數(shù)據(jù)的輸入輸出,其一般形式為:Iw[.m]I是英文單詞“Integer”的第一個(gè)字母,表示“整型數(shù)編輯符”。w用來指示以w個(gè)字符的寬度來輸出數(shù)據(jù)(通常稱一個(gè)數(shù)據(jù)所占的寬度為“字段寬度”),負(fù)數(shù)的符號也包含在字段寬度內(nèi)。如果要輸出的數(shù)據(jù)實(shí)際寬度超出了w規(guī)定的寬度,則不輸出有效數(shù)據(jù),而在該字段寬度范圍內(nèi)用星號“*”填充。m用來指示至少需要輸出m個(gè)字符寬度的數(shù)字。如果輸出

13、數(shù)據(jù)的實(shí)際寬度小于m,則會在數(shù)據(jù)前面不足部分用0填充;如果輸出數(shù)據(jù)的實(shí)際寬度超過m,則按輸出數(shù)據(jù)的實(shí)際寬度進(jìn)行輸出(但不能超過w)。,11.4.2 F編輯符,F編輯符適用于實(shí)數(shù)的小數(shù)形式輸出,其一般形式為:Fw.dF是英文單詞“Fixed point number”的首字母,表示“浮點(diǎn)數(shù)編輯符”。w仍然表示要輸出的“字段寬度”,包含一個(gè)小數(shù)點(diǎn)和負(fù)數(shù)的負(fù)號。如果要輸出的數(shù)據(jù)實(shí)際寬度超出了w規(guī)定的寬度,則不輸出有效數(shù)據(jù),而在該字段寬

14、度范圍內(nèi)用星號“*”填充。d表示要輸出數(shù)據(jù)的小數(shù)位數(shù)。如果要輸出的實(shí)際數(shù)據(jù)的小數(shù)位數(shù)小于d,則會在小數(shù)后不足的部分補(bǔ)充0;如果要輸出的實(shí)際數(shù)據(jù)的小數(shù)位數(shù)大于d,則會將實(shí)際數(shù)據(jù)中多余的小數(shù)部分按四舍五入規(guī)則去掉。,11.4.3 E編輯符,E編輯符用于輸出指數(shù)形式的實(shí)數(shù),其一般形式為:Ew.d[Ee]E是英文單詞“Exponent”的首字母,表示“指數(shù)編輯符”。w還是表示要輸出的“字段寬度”,包含指數(shù)部分所占的4個(gè)字符的寬度和負(fù)數(shù)

15、的負(fù)號。如果要輸出的數(shù)據(jù)實(shí)際寬度超出了w規(guī)定的寬度,則在該字段寬度范圍內(nèi)用星號“*”填充;如果輸出的數(shù)據(jù)實(shí)際寬度小于w規(guī)定的寬度,則在輸出數(shù)據(jù)的前面用空格填充。d表示要輸出數(shù)據(jù)的小數(shù)位數(shù)。小數(shù)部分的位數(shù)可以由公式w≥d+7來確定,公式中的“7”表示一個(gè)小數(shù)點(diǎn)、小數(shù)點(diǎn)前的0、一個(gè)負(fù)號和指數(shù)部分所占的4位。如果實(shí)際數(shù)據(jù)在指數(shù)形式下的小數(shù)位數(shù)大于d,則多出的小數(shù)部分按四舍五入規(guī)則進(jìn)行舍入;如果實(shí)際數(shù)在指數(shù)形式下的小數(shù)位數(shù)小于d,則不足的小數(shù)

16、部分用0進(jìn)行填充。e表示指數(shù)部分中指數(shù)所占的位數(shù)。,11.4.4 D編輯符,D編輯符適用于雙精度數(shù)據(jù)的輸出。其一般形式為:Dw.dD是英文單詞“Double Precision”的首字母,表示“雙精度編輯符”。w仍然表示輸出數(shù)據(jù)所占的字段寬度;d表示指數(shù)部分所占的位數(shù)。具體的含義同E編輯符。在使用方法上,D編輯符與E編輯符相似。只是把字母“E”換成“D”,在數(shù)據(jù)輸出時(shí),指數(shù)部分的字母“E”用“D”來代替。實(shí)際上,F(xiàn)編輯符也可

17、用于雙精度數(shù)據(jù)的輸出,和用于實(shí)型數(shù)據(jù)輸出相似。但此時(shí)可能會由于不能確切估計(jì)實(shí)際數(shù)據(jù)的大小而出現(xiàn)“大數(shù)印錯,小數(shù)印丟”的情況。,11.4.5 A編輯符,E編輯符用于輸出指數(shù)形式的實(shí)數(shù),其一般形式為:Ew.d[Ee]E是英文單詞“Exponent”的首字母,表示“指數(shù)編輯符”。w還是表示要輸出的“字段寬度”,包含指數(shù)部分所占的4個(gè)字符的寬度和負(fù)數(shù)的負(fù)號。如果要輸出的數(shù)據(jù)實(shí)際寬度超出了w規(guī)定的寬度,則在該字段寬度范圍內(nèi)用星號“*”填充

18、;如果輸出的數(shù)據(jù)實(shí)際寬度小于w規(guī)定的寬度,則在輸出數(shù)據(jù)的前面用空格填充。d表示要輸出數(shù)據(jù)的小數(shù)位數(shù)。小數(shù)部分的位數(shù)可以由公式w≥d+7來確定,公式中的“7”表示一個(gè)小數(shù)點(diǎn)、小數(shù)點(diǎn)前的0、一個(gè)負(fù)號和指數(shù)部分所占的4位。如果實(shí)際數(shù)據(jù)在指數(shù)形式下的小數(shù)位數(shù)大于d,則多出的小數(shù)部分按四舍五入規(guī)則進(jìn)行舍入;如果實(shí)際數(shù)在指數(shù)形式下的小數(shù)位數(shù)小于d,則不足的小數(shù)部分用0進(jìn)行填充。e表示指數(shù)部分中指數(shù)所占的位數(shù)。,11.4.6 L編輯符,L編輯符

19、適用于邏輯型數(shù)據(jù)的輸出。其一般形式為:LwL是英文單詞“Logical”的首字母,表示“邏輯編輯符”。w表示輸出的邏輯型數(shù)據(jù)所占的字段寬度。由于邏輯型數(shù)據(jù)在輸出時(shí)只顯示一個(gè)字符,即.TRUE.打印為“T”,.FALSE.打印為“F”。因此,當(dāng)w大于1時(shí),字符的左端用空格進(jìn)行填充。,11.4.7 G編輯符,既然單獨(dú)使用F編輯符和E編輯符都有這樣或那樣的缺點(diǎn),那么有沒有一種編輯符足夠“聰明”,可以自行判別哪種數(shù)應(yīng)該用F編輯符進(jìn)行輸出

20、還是用E編輯符進(jìn)行輸出呢?Fortran提供了這樣一種“聰明”的編輯符,即G編輯符。該編輯符對F編輯符和E編輯符的長處進(jìn)行了綜合,能夠根據(jù)要輸出的實(shí)數(shù)大小來決定用何種格式進(jìn)行輸出,即F型格式和E型格式。當(dāng)輸出的數(shù)值過大或過小時(shí)會自動采用E型格式,當(dāng)輸出的數(shù)值能夠用小數(shù)形式表達(dá)時(shí)則用F型格式。G編輯符的一般形式為:Gw.d[Ee]G是英文單詞“General”的首字母,表示“通用編輯符”。w仍然表示輸出數(shù)據(jù)所占的字段寬度;d表示指

21、數(shù)部分所占的位數(shù);e表示指數(shù)部分?jǐn)?shù)字的位數(shù)。具體的含義參考E編輯符。,11.4.8 B、O、Z編輯符,二進(jìn)制(B)、八進(jìn)制(O)和十六進(jìn)制(Z)編輯符是Fortran 90標(biāo)準(zhǔn)中新增的編輯描述符,用于整數(shù)、實(shí)數(shù)、字符和邏輯量的輸出。其一般形式為:Bw[.m]Ow[.m]Zw[.m]B、O和Z分別表示“二進(jìn)制編輯符”、“八進(jìn)制編輯符”和“十六進(jìn)制編輯符”。w表示輸出數(shù)據(jù)的字段寬度;m表示需要輸出的最少數(shù)字位數(shù),缺省值為1。如果

22、實(shí)際的輸出數(shù)據(jù)寬度少于指定的字段寬度,則數(shù)據(jù)的左端用空格填充。但對于二進(jìn)制數(shù),如果以0填補(bǔ)可讀性會更好一些。例如00010101顯示了l0101所有的8位,此時(shí)可以令m=w的方法來強(qiáng)迫數(shù)據(jù)的開始以0填補(bǔ)。,11.4.9 EN、ES編輯符,工程計(jì)數(shù)法(EN)和科學(xué)計(jì)數(shù)法(ES)也是Fortran 90標(biāo)準(zhǔn)中新增的編輯描述符。兩種編輯符的的一般形式為:ENw.d[Ee]ESw.d[Ee]其中E是英文單詞“Exponent”的首字母,

23、N是英文單詞“Engineering”的第二個(gè)字母,S是英文單詞“Scientific”的首字母。EN和ES編輯符中的w、d、e與E編輯符中的基本類似,可以參考E編輯符中的相關(guān)描述。梁柱編輯符與E編輯符的區(qū)別在于:采用EN編輯符輸出數(shù)據(jù)時(shí),數(shù)據(jù)的非指數(shù)部分的絕對值一定在1到1000的范圍內(nèi)(除非數(shù)據(jù)的數(shù)值為0),且指數(shù)可以被3整除。包括指數(shù)部分和負(fù)號,整個(gè)數(shù)據(jù)的輸出字段寬度是w個(gè)字符,小數(shù)點(diǎn)后d個(gè)字符,指數(shù)寬度e是可選的。采用ES

24、編輯符輸出數(shù)據(jù)時(shí),數(shù)據(jù)的非指數(shù)部分的絕對值一定在l到10的范圍內(nèi)(除非數(shù)據(jù)的數(shù)值為0),而非E編輯符的0到1。,11.5 控制格式編輯描述符,控制格式描述編輯符在格式語句中的作用是確定文本的顯示方式,比如數(shù)據(jù)在所在行的什么位置進(jìn)行輸出、統(tǒng)計(jì)記錄中剩余的字符數(shù)目、是否輸出數(shù)據(jù)的加號等。下面分別對常見控制格式編輯描述符進(jìn)行介紹。,11.5.1 X編輯符,X編輯符是控制格式編輯描述符中最常使用的一種。該編輯符用來在輸出數(shù)據(jù)時(shí)產(chǎn)生空格。前面

25、的數(shù)據(jù)格式編輯描述符在輸出數(shù)據(jù)時(shí),數(shù)據(jù)之間沒有空格。為了避免讀數(shù)困難,前面的例程在輸出時(shí),盡可能每行只輸出一個(gè)數(shù)據(jù)。有了X編輯符之后,數(shù)據(jù)的輸出就更為方便了。X編輯符的一般形式為:nX其中n表示要插入的空格數(shù)量。Fortran 77標(biāo)準(zhǔn)中允許n為負(fù)數(shù),但是Fortran 7的子集以及很多Fortran 90/95編譯系統(tǒng),例如Compaq Visual Fortran、gFortran和G95,并不支持這種用法。,11.5.2 縱

26、向走紙控制符,在介紹X編輯符時(shí),提到了格式語句中第一項(xiàng)如果是1X,則在打印設(shè)備上可以作為縱向走紙控制符。那么什么是縱向走紙控制符呢?Fortran中規(guī)定:把格式記錄中的信息傳送到打印設(shè)備上(如打印機(jī)或終端)時(shí),格式說明中的第一個(gè)字符用作縱向間隔控制標(biāo)志,稱為縱向走紙控制符。格式說明中的第一個(gè)字符不再被打印出來,而從格式說明中的第二個(gè)字符開始打印。,縱向走紙控制符及功能,11.5.3 斜杠編輯符,斜杠“/”編輯符的作用是結(jié)束本筆記錄的

27、輸出并開始下一筆記錄的輸出,其一般形式為:[r]/其中r為重復(fù)系數(shù),該系數(shù)必須是一個(gè)正的整形常數(shù)。如果有兩個(gè)連續(xù)的斜杠,相當(dāng)于在輸出記錄中增加一個(gè)空行輸出;如果在格式編輯符的最后出現(xiàn)斜杠,也要再輸出一個(gè)空行。用n個(gè)連續(xù)的斜杠,可以達(dá)到輸出n-1個(gè)空行的效果。下面的代碼演示斜杠編輯符的使用效果。TEST1112.F90

28、 ! /編輯符的范例PROGRAM TEST1112 IMPLICIT NONE WRITE(*, ‘(“ I=”,I3,/,” J=”,I3,/,/,” K=”,I3,/)’)1, 3, 5 WRITE(*, ‘(“ L=”,I3,/,” M=”,I3,/,” N=”,I3)’)2, 4, 6END PROGRAM TEST1112,11.5.4 T,TL

29、和TR編輯符,T、TL和TR編輯符也稱為位置編輯符,其作用從其名字就可以知道適用于控制輸出項(xiàng)的輸出位置的。這三個(gè)編輯符指出將要輸出到記錄上的下一個(gè)字符的位置。它們的一般形式為:TnTLnTRn其中n是非零的正整數(shù)。T編輯符指明記錄上的下一個(gè)字符輸出到本行第n個(gè)字符的位置上。對于行式打印輸出,由于記錄中的第一個(gè)字符被用作縱向走紙控制符,因此Tn的實(shí)際作用是將輸出位置定位在打印記錄的第n-1個(gè)字符上。在這個(gè)位置之前如果沒有其他字符

30、輸出,則用空格填充。,11.5.5 冒號編輯符,冒號“:”編輯符的作用是當(dāng)I/O列表中沒有更多的數(shù)據(jù)項(xiàng)時(shí),使格式控制結(jié)束。冒號編輯符常常用于FORMAT語句中沒有要輸出的數(shù)據(jù)項(xiàng)時(shí)結(jié)束輸出。來看下面的一段代碼。TEST1114.F90 ! :編輯符的范例PROG

31、RAM TEST1114 IMPLICIT NONE PRINT 1,3 PRINT 2,131 FORMAT (' I=',I2,' J=',I2)2 FORMAT (' K=',I2,:,' L=',I2)END PROGRAM TEST1114,11.5.6 P編輯符,P編輯符也稱為比例因子編輯符,可用來設(shè)置比例因子以改

32、變小數(shù)點(diǎn)位置。P編輯符用于實(shí)數(shù)的編輯描述符,如F、E和G編輯符。編輯符的作用范圍延續(xù)到下一個(gè)比例因子的設(shè)置處。P編輯符的一般形式為:kP其中k是一個(gè)有符號整數(shù)(為正時(shí)可省略正號),用于指定小數(shù)點(diǎn)向左或向右移動幾位。k的取值范圍在-128至127之間。在每一個(gè)輸入輸出語句開始時(shí),比例因子都會被初始化為0。輸出時(shí),正k向右移,負(fù)k向左移(輸入時(shí)正好相反)。,11.5.7 SP,SS,S編輯符,SP,SS和S編輯符的作用是在數(shù)字的輸出字

33、段中確定是否添加加號“+”。SP編輯符為其后所有正數(shù)的輸出添加加號“+”;SS編輯符則用于取消SP編輯符的作用;S編輯符重新儲存SS使其后的正數(shù)不輸出加號。下面的代碼段演示了這三個(gè)編輯符的作用效果。 i = 251 WRITE (*, 100) i, i, i, i, i100 FORMAT (I5, SP, I5, SS, I5, SP, I5, S, I5)程序?qū)⒋蛴∫韵陆Y(jié)果:251 +251 25

34、1 +251 251,11.5.8 BN,BZ編輯符,BN和BZ編輯符也稱為空格編輯符,其作用在于確定輸入時(shí)的空格所代表的意義。BN編輯符通知系統(tǒng)將輸入時(shí)沒有數(shù)據(jù)的字節(jié)處理成“無意義”,即輸入字段寬度內(nèi)的空格什么也不代表,僅僅是占位符;BZ編輯符則通知系統(tǒng)將輸入時(shí)沒有數(shù)據(jù)的字節(jié)全部處理為“0”,即輸入字段寬度內(nèi)的空格代表“0”。,11.6 字符串編輯描述符,字符串編輯符主要用于字符常量的格式化輸出。常見的字符串編輯描述符有兩種,即撇

35、號編輯符和H編輯符。在使用上,H編輯符在Fortran 90標(biāo)準(zhǔn)中已經(jīng)被廢棄,在Fortran 95標(biāo)準(zhǔn)中則進(jìn)一步被廢除。下面分別對這兩種編輯符進(jìn)行介紹。,11.6.1 撇號編輯符,撇號編輯符(單撇號“'”或雙撇號“"”)用來插入所需的字符串,其一般形式為:“要插入的字符”‘要插入的字符’如果要輸出的字符中包含撇號,則應(yīng)該使用兩個(gè)連續(xù)的撇號來代表一個(gè)被輸出的撇號。,11.6.2 H編輯符,H編輯符是Fortr

36、an 77等老標(biāo)準(zhǔn)的遺留產(chǎn)物,在Fortran 90/95標(biāo)準(zhǔn)中已經(jīng)相繼被廢棄和廢除。但是,一些較老的Fortran程序中仍可能會遇到這種編輯符,這里作一簡單介紹。H編輯符用來輸出字符常量,其一般形式為:nH其中n為字符串中的字符個(gè)數(shù)。H編輯符在作用上與撇號編輯符相似,但使用上不甚方便。例如下面的兩句代碼的作用是完全一致的:WRITE(*, ‘(‘The value of A is’, F10.5)’) AWRITE(*, ‘(

37、17HThe value of A is, F10.5)’) A使用H編輯符時(shí)必須準(zhǔn)確的確定字符串中的字符數(shù)量,否則很容易產(chǎn)生編譯錯誤。例如下面的代碼段就會產(chǎn)生編譯錯誤:WRITE(*, ‘(18HThe value of A is, F10.5)’) A,11.7 編譯器擴(kuò)展的格式編輯描述符,除了Fortran 77/90/95標(biāo)準(zhǔn)中規(guī)定的標(biāo)準(zhǔn)格式編輯描述符外,一些Fortran編譯器還會提供一些擴(kuò)展的格式編輯描述符。在有些情況

38、下,這些擴(kuò)展的格式編輯描述符會使編寫的應(yīng)用程序增色不少。本小節(jié)將介紹兩種Compaq Visual Fortan編譯器提供的兩種擴(kuò)展格式編輯描述符。,11.7.1 反斜杠“\”編輯符和美元“$”編輯符,反斜杠“\”編輯符和美元“$”編輯符在格式輸入輸出語句中的作用相同:都是在輸出一個(gè)記錄行后取消回車符,接著輸出的記錄會緊接在前一個(gè)記錄的后面位于同一行。這兩個(gè)編輯符常用于輸出的字符串與輸入數(shù)據(jù)需要顯示于屏幕同一行的情形。這兩種編輯符在

39、使用方式上完全一樣,只要放在格式說明列表的最后就可以了。例如下面的一段代碼: WRITE(*, 100) 100 FORMAT (' ENTER RADIUS VALUE: ',$) READ(*, *) RADIUS該段代碼首先會在屏幕的第一行顯示如下內(nèi)容:ENTER RADIUS VALUE:,11.7.2 可變格式編輯符,在前面的格式說明語句中,控制編輯描述符中多是常數(shù)。例如整型變量對應(yīng)的I編輯符

40、中,規(guī)定的字段寬度是固定的,如果數(shù)據(jù)的實(shí)際長度沒有那么寬,則多出的部分就只能用空格填充。這就使數(shù)據(jù)的輸出不太美觀。在Compaq Visual Fortran中提供了可變格式編輯符來解決這類問題,即用尖括號括起來的數(shù)值表達(dá)式來表示可變的格式。該編輯符的一般形式如下:其中的數(shù)值表達(dá)式可以是常量表達(dá)式,也可以是變量表達(dá)式??勺兏袷骄庉嫹ǔS米鱅編輯符中的可變字段寬度定義、可變重復(fù)系數(shù)等。,11.8 I/O列表,I/O列表也叫做輸入

41、/輸出列表,它羅列了需要進(jìn)行輸入/輸出操作的所有變量。在Fortran中,針對I/O列表有一些特殊的用法和語句,如這里介紹的NAMELIST語句。本節(jié)將主要介紹同I/O列表相關(guān)的知識。,11.8.1 NAMELIST語句,NAMELIST語句是Fortran 90/95標(biāo)準(zhǔn)中正式收錄的一種特殊輸入/輸出方法。其實(shí)早在Fortran 77時(shí)代,一些編譯器就已經(jīng)開始支持這種輸入輸出用法。但是,F(xiàn)ortran 77時(shí)代的NAMELIST語句

42、沒有統(tǒng)一的標(biāo)準(zhǔn),各家編譯器廠商大多各行其道,怎么方便怎么來。這種情況直到Fortran 90/95時(shí)代才得到了改觀。在新標(biāo)準(zhǔn)中,NAMELIST語句作為一種正式的標(biāo)準(zhǔn)語句,開始有了統(tǒng)一的使用格式。NAMELIST語句也稱為名稱列表語句,其作用就是將一組變量同一個(gè)列表組名相關(guān)聯(lián)。該語句將一組相關(guān)的變量封裝在一起,在對這些變量進(jìn)行輸入/輸出操作時(shí),只需要確定在輸入/輸出語句中確定用哪一個(gè)NAMELIST就可以了。也就是說這個(gè)列表組名可以在

43、輸入/輸出語句直接被引用,其中所封裝全部變量會依次被輸入/輸出相應(yīng)的數(shù)據(jù)。,11.8.2 I/O列表實(shí)體,在使用輸入/輸出語句(如READ、WRITE、PRINT語句)進(jìn)行輸入輸出操作時(shí),需要知道如何進(jìn)行數(shù)據(jù)傳遞和傳遞什么數(shù)據(jù)的信息。其中如何進(jìn)行數(shù)據(jù)傳遞已經(jīng)在前面的小節(jié)中進(jìn)行了較為詳細(xì)的介紹,而傳遞什么數(shù)據(jù)則是由I/O列表(io-list)中列出的將要進(jìn)行輸入/輸出操作的項(xiàng)來確定的。也就是說,I/O列表提供了將要進(jìn)行輸入/輸出操作的數(shù)

溫馨提示

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

評論

0/150

提交評論