




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、4.1.1 整型常量(chngling)整型常量也稱為整型常數(shù)或整數(shù)。按照所需存儲空間的大小,又分為長整型和短整型兩種。長整型占用4字節(jié)的存儲空間,短整型則占用2字節(jié)的存儲空間。默認情況下為長整型。有些編譯器還提供額外的擴展整型常量,如Compaq Visual Fortran在x86及其兼容機上額外提供占用1字節(jié)空間的整型常量;在OpenVMS、Tru64UNIX和Linux系統(tǒng)中還提供占用8字節(jié)空間的整型常量。由于存儲整型常量的內(nèi)存單元容量是一定的,因此整數(shù)所能表達的范圍是有限的。長整型能夠存儲的數(shù)值范圍為-231到231-1,即-2,147,483,648到2,147,483,647之間
2、;短整型能夠存儲的數(shù)值范圍為-215到215-1,即-32,768到32,767之間。整型常量可以包含正負號,也可以不包含(此時默認為正,即+2與2等價)。在Fortran77標準中,常量內(nèi)部(nib)的空格不起任何作用,如“123”與“123”等價;但Fortran90/95標準中則不允許出現(xiàn)這種表達方式。第1頁/共25頁第一頁,共26頁。4.1.2 實型常量(chngling) 實型常量(chngling)也稱為實型常數(shù)或?qū)崝?shù)。按照所需存儲空間的大小,實數(shù)分為單精度和雙精度兩種。在實數(shù)的表達方式上,可以分為小數(shù)形式和指數(shù)形式兩種。下面分別進行說明。 1實數(shù)的精度:單精度實數(shù)占用4字節(jié)的存儲
3、空間,有效位數(shù)6到7位;雙精度實數(shù)占用8字節(jié)的存儲空間,有效位數(shù)15到16位。 2實數(shù)的表達形式:當以小數(shù)形式來表達實數(shù)時,小數(shù)點的前面或后面可以不出現(xiàn)數(shù)字,但不允許小數(shù)點前后都不出現(xiàn)數(shù)字。例如,+10.4、-0.8、34.、.01等都是合法的。第2頁/共25頁第二頁,共26頁。4.1.3 復(fù)型常量(chngling) 復(fù)型常量也稱為復(fù)型常數(shù)或復(fù)數(shù)。按所需存儲空間的大小分為單精度和雙精度兩種。復(fù)型常數(shù)是Fortran語言中特有的一種數(shù)據(jù)結(jié)構(gòu),能夠同時存儲復(fù)數(shù)的實部和虛部。在程序中,復(fù)型常數(shù)用一個括弧中的兩個實數(shù)(shsh)來表示。第一個實數(shù)(shsh)表示復(fù)數(shù)的實部,第二個實數(shù)(shsh)表示
4、復(fù)數(shù)的虛部。比如:(3.0,6.3)和(1.0E2,2.0E3)。在存儲的時候,復(fù)型常數(shù)會占據(jù)兩個實數(shù)(shsh)的存儲單元。因此,單精度的復(fù)型常數(shù)占用8字節(jié)的存儲空間;雙精度的復(fù)型常數(shù)則需要占用16字節(jié)的存儲空間。Compaq Visual Fortran在OpenVMS、Tru64UNIX和Linux系統(tǒng)中還提供占用32字節(jié)存儲空間的復(fù)型常量。 復(fù)型常量中實部和虛部所表達的數(shù)的范圍與同精度的實數(shù)(shsh)是一致的。即單精度時的數(shù)值范圍為1.17549435E-38到3.40282347E38;雙精度時的數(shù)值范圍為2.2250738585072013D-308到1.797693134862
5、3158D308。第3頁/共25頁第三頁,共26頁。4.1.4 常量的存儲(cn ch)形式 計算機在存儲上述三種不同類型的常數(shù)時,并不區(qū)分數(shù)據(jù)的具體形式,而是統(tǒng)一將數(shù)據(jù)轉(zhuǎn)化為二進制的形式進行存儲。在轉(zhuǎn)化的過程中,由于存儲空間是一定的,因此存儲實型常數(shù)時會產(chǎn)生存儲誤差的問題,即計算機的截斷問題。在Compaq Visual Fortran安裝目錄的DF98BIN文件夾中有一個BITVIEWER程序可以查看(chkn)各種數(shù)據(jù)在計算機中存儲的二進制數(shù)據(jù)形式。通過它可以直觀的了解計算機中數(shù)據(jù)的存儲方式。軟件的圖形用戶界面如圖4.1所示,圖中最下面一排的方框表示數(shù)據(jù)在計算機中的存儲空間;每一個方框只
6、有兩個數(shù)值,即0和1;右側(cè)有多個選項可供選擇,用于表示數(shù)據(jù)所占用的存儲空間。如4表示4字節(jié)、2表示2字節(jié)等。第4頁/共25頁第四頁,共26頁。4.1.5 符號(fho)常量 在程序中有時會經(jīng)常用到同一個常數(shù)。如一些數(shù)學(xué)常數(shù)、物理常數(shù)等。如果每次都在程序中重復(fù)書寫使用這些常數(shù)值,會顯得很繁瑣。Fortran允許用一個名字來對常量進行命名。比如(br)常見的用PI來代表圓周率3.1415926535。此時稱PI為“符號常量”或“符號常數(shù)”,即用符號來表示常量。在Fortran中,可以使用PARAMETER語句將一個符號聲明為常量。比如(br)將PI聲明為常數(shù)3.1415926535,可以用如下的語
7、句實現(xiàn): PARAMETER (PI = 3.1415926535)第5頁/共25頁第五頁,共26頁。4.2 數(shù)值型變量(binling)及其類型 數(shù)值(shz)型變量主要是指整型、實型、復(fù)型三種變量。系統(tǒng)會為程序中的每一個變量按照其類型開辟一塊存儲單元,用于存儲變量的值。每一個變量都需要用一個名字(變量名)來識別,并且同一個程序單元內(nèi)不能用同一個變量名來命名不同的變量。本節(jié)主要介紹數(shù)值(shz)型變量的類型和基本概念。第6頁/共25頁第六頁,共26頁。4.2.1 數(shù)值型變量(binling)概述 數(shù)值型變量的分類同數(shù)值型常量一樣。整型變量用來存儲整型常量,實型變量用來存儲實型常量,復(fù)型變量用
8、來存儲復(fù)型常量。在存儲空間的分配上,同類型的變量與常量占據(jù)相同的存儲空間。 變量名的作用是識別程序中的變量。Fortran中的變量名命名有一定的規(guī)則,主要有以下幾條。 變量名中只能包含(bohn)26個英文字母和09十個數(shù)字;在Fortran90/95標準中,還允許使用下劃線“_”。 變量名的第一個字符必須是字母,不能是下劃線“_”或數(shù)字。 在Fortran77標準中,變量名不允許超過6個字符;在Fortran90/95標準中,變量名不允許超過31個字符。第7頁/共25頁第七頁,共26頁。4.2.2 使用系統(tǒng)(xtng)默認的隱含約定 Fortran中約定:在沒有強制規(guī)定變量類型的情況下,如果
9、變量名的首字母為I、J、K、L、M、N六個字母中的一個時,即認為該變量為整型變量,而以其他字母開頭的變量則默認為實型變量。這就是所謂的“I-N規(guī)則”?!癐-N規(guī)則”的使用有利有弊。好處就是不管在程序的什么位置,如果想要臨時添加一個變量,只要按照“I-N規(guī)則”的約定取好變量名就可以使用了;缺點(qudin)也是明顯的,就是眾多隨意添加的變量使得程序閱讀起來不是很方便,更有可能造成人為錯誤。比如下面的代碼段就是一個典型的錯誤范例。 TEST0401.F90 ! 這是一個錯誤的變量定義范例 PROGRAM TEST0401 I = 3000 * 3 WRITE(*, *)l END PROGRAM
10、TEST0401第8頁/共25頁第八頁,共26頁。4.2.3 使用(shyng)類型說明語句聲明 如果不想受“I-N規(guī)則”的約束,或是防止出現(xiàn)“I-N”規(guī)則下的常見錯誤(cuw),可以使用類型說明語句對變量的類型進行約定。 在Fortran中,基本的類型說明語句主要有六種。即INTEGER語句、REAL語句、DOUBL PRECISION語句、COMPLEX語句、LOGICAL語句和CHARACTER語句。數(shù)值型變量主要涉及到前四種語句。即INTEGER語句(整型說明語句)、REAL語句(實型說明語句)、DOUBL PRECISION語句(雙精度說明語句)和COMPLEX語句(復(fù)型說明語句)。
11、類型聲明語句的語法形式如下: 類型說明語句(KIND=數(shù)字) : 變量名, 變量名第9頁/共25頁第九頁,共26頁。4.2.4 用隱含(yn hn)說明語句聲明 除了上面提到的兩種變量類型說明方法外,還可以用隱含說明語句(IMPLICIT語句)將以某一字母開頭的所有變量都聲明(shngmng)為同一種類型。該語句的語法形式如下: IMPLICIT 類型說明語句 (字母列表) 其中字母列表中的字母用逗號進行間隔。如果是連續(xù)的一串字母,可以用首尾字母間加符號“-”的方式來進行縮寫。比如“C-H”。下面的聲明(shngmng)代碼將以字母A-G和N開頭的變量都聲明(shngmng)為整型: IMPL
12、ICIT INTEGER : (A-G, N)第10頁/共25頁第十頁,共26頁。4.2.5 數(shù)值(shz)型變量聲明及其應(yīng)用 在編寫程序的過程中,顯式的聲明所有用到的變量是一種良好的編程習慣,建議在編寫實際的應(yīng)用程序時使用“IMPLICIT NONE”來進行( jnxng)強制的變量類型檢查。凡是沒有進行( jnxng)類型說明的變量,在編譯過程中都會被編譯器找出來。 在三種類型規(guī)定方法中,以類型說明語句的優(yōu)先級最高,IMPLICIT語句次之,“I-N規(guī)則”的級別最低;類型說明語句和IMPLICIT語句都是不可執(zhí)行語句,必須出現(xiàn)在本程序單元中所有可執(zhí)行語句之前;類型說明語句只能在本程序單元內(nèi)
13、有效;DOUBLE PRECISION語句在Fortran90/95標準完全可以用REAL(8)語句代替,目前已很少使用。第11頁/共25頁第十一頁,共26頁。4.3 字符(z f)型常量及變量 文字處理能力是Fortran語言的另一特色。早期Fortran77中的文字處理能力較弱,在Fortran90/95標準(biozhn)中的文字處理能力已經(jīng)大大加強。本節(jié)將介紹字符型常量和變量的基本概念。第12頁/共25頁第十二頁,共26頁。4.3.1 字符(z f)型變量概述 字符型常量也稱為字符串,它是用引號(單引號或雙引號,F(xiàn)ortran77中只允許(ynx)用單引號)括起來的若干個字符。字符串中
14、的字符可以是計算機系統(tǒng)中允許(ynx)使用的任意字符,通常會大于Fortran字符集。比如字符型常量BEIJING,”PLANE”,”#$%&”,”北京”都是合法的。 在計算機中,一個字符通常會占據(jù)一個字節(jié)的存儲空間;但某些語言的字符在計算中需要多個字節(jié)的空間來存儲。比如,一個漢字在計算機上會占據(jù)4字節(jié)的存儲空間。字符型變量是用來存儲字符型常量的變量,在程序中必須事先定義字符型變量才能使用。定義字符型常量可以使用CHARACTER語句,有四種定義字符型變量的語法形式,這些語法定義會在隨后的小節(jié)進行介紹。第13頁/共25頁第十三頁,共26頁。4.3.2 定義(dngy)形式一 聲明字符型
15、變量的第一種語法形式如下。 CHARACTER : 變量名 在這種形式的定義(dngy)中,類型聲明語句CHARACTER說明其后變量名所代表的變量為字符型變量。Fortran77和Fortran90/95中都可以采用這種形式進行聲明。但需要注意,在Fortran77下不能出現(xiàn)分隔符“:”。采用這種形式進行聲明時,允許對變量的長度進行說明,說明的方式有兩種: 變量名*len 或 變量名(len)第14頁/共25頁第十四頁,共26頁。4.3.3 定義(dngy)形式二 第二種聲明字符(z f)型變量的語法形式如下。 CHARACTER(KIND=n) : 變量名 在這種形式的聲明中,關(guān)鍵字KIN
16、D用于指出賦值號“=”后所跟的數(shù)字n為變量的種別參數(shù)(有關(guān)種別參數(shù)的內(nèi)容會在后面的小節(jié)進行講解)。這個數(shù)字實際上就是說明聲明語句中變量名所代表的變量的長度的,意義同定義形式一中的len。采用這種形式也可以定義字符(z f)型數(shù)組。在實際的編程實踐中,也可以采用如下替代形式: CHARACTER(LEN=n) : 變量名第15頁/共25頁第十五頁,共26頁。4.3.4 定義(dngy)形式三 第三種形式的字符型變量聲明的語法形式如下。 CHARACTER*len : 變量名 在這種形式的聲明中,類型聲明語句后的星號“*”用于指明其后所跟的數(shù)字表示變量的長度,意義和前面兩種定義形式中的差不多。這種
17、形式的定義也可用于聲明字符型數(shù)組,形式如下: CHARACTER*len : 變量名(dim) 其中的dim用于說明字符數(shù)組中的緯度的長,即長度。下面(xi mian)給出幾個實例。 CHARACTER*20 : String CHARACTER*10 : Array_string(20)第16頁/共25頁第十六頁,共26頁。4.3.5 定義(dngy)形式四 在這種形式中,通過IMPLICIT語句來強迫使以某些字母開頭的變量被默認處理成字符型。語法形式如下: IMPLICIT CHARACTER*數(shù)字 字母表 IMPLICIT CHARACTER(數(shù)字) 字母表 Fortran77標準中通常
18、采用前一種形式,F(xiàn)ortran90/95標準中通常采用后一種形式。定義中的數(shù)字表示字符型變量的長度,即能夠存儲多少(dusho)個字符。當數(shù)字緊跟CHARACTER語句之后時,表示統(tǒng)一指定字符長度;當數(shù)字緊跟變量名之后時,表示單獨指定字符的長度。如果統(tǒng)一指定的字符長度與變量個別指定的長度不一致時,以個別指定優(yōu)先于統(tǒng)一指定。定義中括弧內(nèi)的部分可有可無。比如: IMPLICIT CHARACTER(5) (G-N), CHARACTER X第17頁/共25頁第十七頁,共26頁。4.3.6 字符型變量(binling)聲明及其應(yīng)用 實際上,只要字符變量的長度不為1,則可以將其看作(kn zu)數(shù)組來
19、進行理解。正因為如此,在對字符型變量進行操作時,允許對字符型變量中的某一個或某幾個存儲位置上的數(shù)據(jù)進行單獨操作。這在接下來的子字符串的相關(guān)內(nèi)容中進行講解。用PARAMETER語句配合CHARACTER語句還可以定義有名字符型常量,比如: CHARACTER(9) : Name PARAMETER (Name = Peter Pan) 或 CHARACTER(9), PARAMETER : Name = Peter Pan第18頁/共25頁第十八頁,共26頁。4.3.7 子字符串的概念(ginin) 在字符型數(shù)據(jù)的應(yīng)用上,還有一個子字符串(Substring)的概念需要了解。所謂子字符串是指字符
20、串的一部分。比如有一字符串為“Beijing”,則“Bei”、“jing”、“ei”等都是該字符串的子字符串。可以用下面的形式來引用子字符串: 字符串變量名(star:end) 其中(qzhng),star和end都是整型表達式。他們指定了要引用的子字符串在字符串中的起始和終止位置。第19頁/共25頁第十九頁,共26頁。4.4 邏輯(lu j)型常量及變量 邏輯量通常用于程序中的流程控制。在Fortran中,邏輯量主要有三種:邏輯常量、邏輯變量和關(guān)系表達式。本小節(jié)主要介紹Fortran中邏輯常量和邏輯變量的基本概念和應(yīng)用。Fortran中的邏輯常量只有兩個: TRUE,表示“真”,即滿足邏輯條
21、件; FALSE,表示“假”,即不滿足邏輯條件。 例如,當A=0時,此時“A1”的值就為TRUE(真),而“A-1”的值就為FALSE(假)。邏輯常量又稱為邏輯常數(shù),在程序中,它們通常被賦給一個邏輯變量。 邏輯變量被用來存放邏輯常量,它的值只能是TRUE或FALSE中的一個。在程序中使用邏輯變量必須事先加以定義說明。在Fortran中,邏輯變量的定義是通過LOGICAL語句來實現(xiàn)的。該語句的一般(ybn)形式為: LOGICAL(KIND=數(shù)字) :變量名,變量名第20頁/共25頁第二十頁,共26頁。4.5 變量(binling)的初始化 變量在定義之后,通常(tngchng)會由系統(tǒng)按照自身
22、設(shè)置為變量賦給一個初值。這一過程稱為變量的初始化。但是有些系統(tǒng)并不提供這種功能。如果貿(mào)然使用沒有經(jīng)過初始化的變量,很可能導(dǎo)致程序運行出錯。 在Fortran中,允許在聲明變量的同時設(shè)置變量的初置。在Fortran90/95中要設(shè)置變量的初置,可以將想要設(shè)置的初值直接寫在聲明的變量之后。使用這種方法進行初值的設(shè)置時,聲明中的兩個冒號不能省略。第21頁/共25頁第二十一頁,共26頁。4.6 賦值語句(yj) 變量(binling)在聲明后就可以使用了,在使用過程中,變量(binling)需要保存不同的數(shù)據(jù)。將數(shù)據(jù)的值寫進變量(binling)的過程就是賦值的過程。在Fortran語言中,除了一些專
23、用的特殊語句外,最常用的賦值手段就是賦值語句。賦值語句就是等號“=”,在Fortran中有著廣泛的用途。本節(jié)就將介紹賦值的概念和賦值語句的作用。第22頁/共25頁第二十二頁,共26頁。4.6.1 何為(h wi)賦值 所謂賦值,就是將一個常量的值傳輸給一個相應(yīng)的變量。在Fortran中,賦值除了通過DATA語句之外,還可以使用賦值語句來實現(xiàn),并且賦值語句具有比DATA語句更廣泛的用途。賦值語句的作用就是將一個確定的值賦給一個變量,語句的一般格式為: VP 其中,表達式中的等號“=”就是賦值符;V代表一個變量名,P代表一個表達式。 Fortran的賦值語句有三種類型:算術(shù)賦值語句、邏輯賦值語句和字符賦值語句。算術(shù)賦值語句的作用是將一個算術(shù)量賦予一個算術(shù)型變量;邏輯賦值語句的作用是將一個邏輯量賦給一個邏輯性變量;字符賦值語句的作用就是將一個字符型數(shù)據(jù)賦給一個字符型變量。盡管用途不一樣,但是三種賦值語句采用的都是同樣的運算符號,即賦值符“=”。 賦值語句中的“=”號是賦值符,而不是等號。賦值符的作用是將賦值符右邊表達式的值傳遞給賦值符左邊的變量。例如(lr),賦值語句“X=3.0”的作用是將數(shù)值3.0傳遞到變量X中。因此,在閱讀程序代碼時對賦值符的理解應(yīng)是帶方向的,即將什么數(shù)據(jù)賦值給什么變量。第23
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 定制家具預(yù)售合同范本
- 小區(qū)擴展面積合同范本
- 吊車維修合同范本
- 出售民用鋼材合同范本
- 202520薪資福利專項集體合同樣本
- 合作放貸業(yè)務(wù)合同范本
- 江蘇省揚州市江都區(qū)大橋中學(xué)2025年高三第三次聯(lián)考化學(xué)試題試卷含解析
- 湘潭大學(xué)興湘學(xué)院《藏醫(yī)內(nèi)科學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江省溫州市五校2024-2025學(xué)年下學(xué)期期中化學(xué)試題含解析
- 西安郵電大學(xué)《康復(fù)生物力學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2023-2024學(xué)年遼寧省沈陽市南昌中學(xué)八年級(下)月考英語試卷(4月份)
- 國服中山裝的設(shè)計特點及含義
- TB10001-2016 鐵路路基設(shè)計規(guī)范
- 19S406建筑排水管道安裝-塑料管道
- KA-T 20.1-2024 非煤礦山建設(shè)項目安全設(shè)施設(shè)計編寫提綱 第1部分:金屬非金屬地下礦山建設(shè)項目安全設(shè)施設(shè)計編寫提綱
- 綠色生活實踐
- (2024年)硫化氫安全培訓(xùn)課件
- 《聚焦超聲治療》課件
- 2023-2024學(xué)年高一下學(xué)期第一次月考(湘教版2019)地理試題(解析版)
- 婦科炎癥介紹演示培訓(xùn)課件
- 如康家園管理制度
評論
0/150
提交評論