版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、常量與變量(三)常量與變量1.常量指程序中其值固定不變的一些量,包括以下 6 種類型。(1)整形常量,也稱整數(shù)。一個整數(shù)可采用正、負號和數(shù)字字符表示,正號可以省略.(2)實型常量,也稱實數(shù)??梢杂眯?shù)形式或指數(shù)形式表示。用指數(shù)形式表示的實數(shù)如 11.3E5,11. 3E+5, 1. E-12,.23E12 等。(3)雙精度實型常量,或稱雙精度實數(shù)。雙精度實數(shù)也是實數(shù)。但在一般的微型計算機中,實數(shù)的有效位數(shù)為 7 位,雙精度實數(shù)的有效位數(shù)可以達到 1517 位。雙精度實數(shù)的表示方法,除在指數(shù)形式的表達中用字符D 代替E 以外,其余和實數(shù)相同。(4)復(fù)型常量,簡稱復(fù)數(shù)。在 FORTRAN 中,用一
2、對圓括弧括起來的兩個實數(shù)表示。 如(12 . 0 ,6.E2 )表示復(fù)數(shù) 12.0600.0i。(5)邏輯型常量。FORTRAN 中的邏輯型常量有兩個值: . TRUE.與. FALSE.。(6)字符型常量,也稱為字符串。計算機系統(tǒng)使用的若干個字符,用一對單引號括起來后,就作為字符串。2.變量指在程序運行期間可以改變的量。(1)變量的類型與常量相對應(yīng),分為整型變量、實型變量、雙精度實型變量、復(fù)型變量、邏輯型變量與字符串變量。(2)變量名按一定的規(guī)則命名。在 FORTRAN 中,變量名采用 1 至 6 個字符(數(shù)字 或字母) ,其中第一個字符必須是字母。FORTRAN77 規(guī)定,變量名書寫時不區(qū)
3、別字母的大寫與小寫,例如 ABc 與 aBC 都指同一個變量。(3)變量類型的說明方法。1) I-N 隱含規(guī)則。在程序中沒有其他說明時,以字母 I, J, K, L, M, N 中的任一個字母打頭命名的變量都是整型變量。2)用類型說明語句規(guī)定變量類型。例如:EGER A, COUNTREAL ICOUNTDOUBLE PRECIXINGCOMPLEX DUPLOGICAL JUGCHARACTER 頭 10 FILENM分別表示變量 A, COUNT 為整型, ICOUNT 為實型, XING 為雙精度實型, DUP 為復(fù)制, JUG 為邏輯型, FILENM 為字符型變量,其長度為 10 個
4、字符。3)用隱含說明語句 IMPLICIT 語句,可以將程序中以某一字母開頭的所有變量指定為所需類型。例如:IMPLICITEGER (A, C), REAL (I-K)指定了以A 與C 字母開頭的所有變量都是整型變量,以字母I 至K 開頭的所有變量為實型變量。類型說明語句和隱含說明語句只在本程序中有效;它們必須放在程序所有可 執(zhí)行語句的前面,而 IMPLICIT 語句又必須在所有的類型說明語句的前面。確定變量類 型的三種方法中,類型說明語句的優(yōu)先級最高, I-N 規(guī)則的優(yōu)先級最低。(四)數(shù)組1.數(shù)組的定義有些互相關(guān)聯(lián)的數(shù)據(jù),作為單個變量處理并不方便。程序設(shè)計語言通常把這種相互關(guān) 聯(lián)的數(shù)據(jù)按一
5、定的順序關(guān)系組成一個集合,該集合稱為數(shù)組;組成數(shù)組的基本單元稱為數(shù) 組元素,每一個數(shù)組元素對應(yīng)一個數(shù)據(jù)。在 FORTRAN 中,使用數(shù)組前必須對數(shù)組進行定義,包括對數(shù)組命名;確定數(shù)組的類型;確定數(shù)組的維數(shù)及大小;數(shù)組各維下標的下限與上限。數(shù)組名規(guī)則與變量的命名規(guī)則相同。確定數(shù)組類型、維數(shù)及其大小的方法有以下兩種。(1)用類型說明語句定義數(shù)組。例如:EGER X (-2:30), XYZ (1 :20, 0: 15)定義了兩個整型數(shù)組。其中 X 稱為一維數(shù)組,下標的下限與上限分別為-2 與 30,即這 個一維數(shù)組共有 30(2) + 1 = 33 個元素,它們分別為: X (- 2), X (-
6、1), X(0), X (1), X (30); XYZ 稱為二維數(shù)組,第一個下標的下限與上限分別為 1 與20,第 二個下標的下限與上限分別為 0 與 15,即這個二維數(shù)組共有(201 + 1) x (150 + 1)2016=320 個整型元素,它們分別為:XYZ (1, 0), XYZ (1, 1), XYZ (1, 15)XYZ ( 20, 0), XYZ ( 20, 1), XYZ (20, 15 )字符型數(shù)組必須用類型說明語句定義。例如:CHARACTER*8 OUT (10)數(shù)組 OUT 每個元素的長度都是 8,即每個元素都可以存放 8 個字符。(2)用 DIMEN語句定義數(shù)組。
7、這時,數(shù)組的類型按隱含規(guī)則確定,或者可以用類型說明語句再次說明其類型。例如:IM (-1:10), IA (0:100 , - 2:0), X (1:5 )DIMENREAL IAEGER X其中,IM 為一維整型數(shù)組, IA 為 2 維實型數(shù)組,X 為一維整型數(shù)組。當數(shù)組的下標下限為 1 時,可以省略說明下標下限。例如,下列數(shù)組說明DIMENA (100), B (5,5)等價于DIMENA (1:100), B (1:5, 1:5)目前在許多微機上使用的 FORTRAN 77 子集中,數(shù)組的下標下限只允許為 1,并且也只允許用省略下限的數(shù)組說明。數(shù)組說明語句必須放在所有可執(zhí)行語句與 DAT
8、A 語句之前。2.數(shù)組在內(nèi)存中的形式在 FORTRAN 中,數(shù)組的各元素是按順序在計算機內(nèi)存單元中的。(特別需要注意的是, 2 維和 2 維以上的數(shù)組中,各元素是以列為主的。)一個二維數(shù)組 1(1:2,1:3),該數(shù)組可以寫成數(shù)表的形式例I(1, 1) I(1, 2) I(1, 3)I(2, 1) I(2, 2) I(2, 3)各元素的值為I(1, 1)1,1(1,2) =2, 1(1,3)1, I ( 2, 1) = 20 , I( 2 , 2) = 40 , I (2, 3)50,在內(nèi)存中存放的順序是 1(1, 1), 1(2, 1), 1(1,2),I (2, 2), I (1, 3)
9、I (2, 3),如果按內(nèi)存存放順序?qū)⑦@個數(shù)組的元素打印出來,數(shù)據(jù)的順序?qū)⑹?1,20,2,40,1,50其他數(shù)組中的元素也是按同樣規(guī)則的,即先第 1 列,再第 2 列,以此類推,最后數(shù)組中的最后一列。各種運算符及其運算的優(yōu)先級(五)各種運算符及其運算的優(yōu)先級1.算術(shù)運算符。FORTRAN 有五個算術(shù)運算符,它們是:加法運算符+減法運算符-乘法運算符* 除法運算符/乘幕運算符*這五個算術(shù)運算符的運算順序是:(1)乘幕運算符*優(yōu)先級最高;(2)乘法與除法運算符*,/優(yōu)先級次之;(3)加法與減法運算符十,一優(yōu)先級最低。對于同一優(yōu)先級的兩個運算符,按先左后右的原則進行計算。2.關(guān)系運算符。FORTR
10、AN 有六個關(guān)系運算符,用于比較兩個表達式相等或不等。它們是:大于.GT.大于或等于.GE.小于.LT.小于或等于.LE.等于.EQ.不等于.NE.經(jīng)過關(guān)系運算符比較后,得到一個邏輯型的值。例如,整型變量I 的值為 10, J 的值為 12,則 I.LT.J 的結(jié)果為真 (. TRUE.),而 I.EQ.J 的結(jié)果為假 (. FALSE.)3.邏輯運算符。FORTRAN 有五個邏輯運算符,它們是:邏輯與.AND.兩個邏輯型量都為真時,其值為真,否則為假,邏輯或.OR.兩個邏輯型量都為假時,其值為假,否則為真;邏輯非.NOT.一個邏輯型量為真時,其值為假,否則為真,邏輯等.EQV.兩個邏輯型量等
11、值時,其值為真,否則為假,邏輯不等.NEQV.兩個邏輯型量不等值時,其值為真,否則為假。邏輯運算符中,除了邏輯非運算符. NOT.只有一個運算對象外,其余四個邏輯運算有兩個運算對象。邏輯運算符的優(yōu)先級如下:(1). NOT.(2). AND.(3).OR.EQV.與.NEQV.這兩個運算符按先左后右的原則進行計算。(4)三、賦值語句賦值語句的一般格式為:變量名=表達式其中,連接變量名和表達式的符號 稱為賦值號。在 FORTRAN 77 中,有三種賦值語句:算術(shù)賦值語句,邏輯賦值語句和字符賦值語句。(一)算術(shù)賦值語句1.算術(shù)賦值語句中賦值號右邊是算術(shù)表達式。算術(shù)表達式可以是單個變量或數(shù)組元素,可
12、以是用算術(shù)運算符號連接起來的數(shù)值計算過程。(1)算術(shù)表達式中的各個數(shù)據(jù)量(常量或變量)的類型一般應(yīng)該一致。如果不一致,FORTRAN 程序在運行中先將其進行轉(zhuǎn)換,再進行計算。例如實型變量和整型變量進行計算時,整型變量的數(shù)值先被轉(zhuǎn)換為實型。(2)算術(shù)表達式計算中,特別應(yīng)注意兩個整型量之間的除法(稱為整除)。例如,算術(shù)表達式 10.0-2/4*10.0 的計算過程是10.0 0*10.0= 10.0 -0.0= 10.0如果表達式寫為 10.0-2/4.0*10.0,則計算過程是10.0-2.0/4.0*10.0=10.0-0.5*10.0=5.0因為 2/4 是整除,其結(jié)果為 0,而進行 2/4
13、.0 的計算時,整型量 2 先被轉(zhuǎn)化為實型。2.算術(shù)賦值左邊只能是數(shù)值型變量名或數(shù)值型數(shù)組元素。如果賦值號左邊的變量與右邊的表達式類型不一樣時,系統(tǒng)將自動把右邊表達式計算的結(jié)果轉(zhuǎn)換為與左邊變量的類 型一致后再賦給該變量。(二)邏輯賦值語句在邏輯賦值語句中,賦值號左邊為邏輯變量或邏輯型數(shù)組元素,右邊為一個邏輯表達式。(三)字符賦值語句1.字符賦值語句賦值號的左邊為字符變量或字符型數(shù)組元素。2.賦值號的右邊為字符表達式,可以是單個字符串或用字符運算符連接起來的字符串。字符運算符只有一個,表示為礦,含義為連接該符號兩邊的字符串.3.執(zhí)行字符賦值語句時,應(yīng)注意字符串的長度與賦值號右邊變量或數(shù)組元素的長
14、度的關(guān)系。例如:CHARACTER*4 A, B*6, CA= FILEB=A/NAMEC=B (5:6)定義字符型變量時,根據(jù)類型說明語句的規(guī)定,A、C 長度為 4,而變量 B 因有專門說明,其長度為 6。程序運行后,變量 A 的長度與賦值號右邊字符串長一致,A 的值為FILE ;而 B 的長度小于FILE和NAME兩個字符串長度之和,因此多余的字 符被截去,B 的值為FILENA; C 的結(jié)果為NA ,其中最后兩格為空格符,這是 因為C 的長度為 4,大于字符串NA的長度,于是在其右邊補上 2 個空格符后形成 4 個字符長再賦值給 C.在上面的程序例中,出現(xiàn)表達式 B (5:6),稱為子串
15、,表示取出字符串的一部分,本例中,表示將 B 的字符串FILENA中的第 5 個字符至第 6 個字符取出。四、循環(huán)語句(一)DO 語句DO 語句的一般形式為:DO n V = el, e2, e3n 循環(huán)體其中,n 為語句標號;V 為循環(huán)控制變量,它只能是簡單變量(整型或?qū)嵭? ,不能是表達式; el, e2, e3 分別為循環(huán)控制變量的初值、終值與增量(步長) ,它們都可以是表達 式,當 e3 為 1 時可以省略不寫。循環(huán)體是若干語句的集合,其中最后一個語句稱為循環(huán) 終端語句;若循環(huán)體只有一個語句,則該語句也就是終端語句。終端語句必須有標號 n。在 DO 循環(huán)執(zhí)行時,首先計算表達式 el,
16、e2, e3 的值,并將它們化為與循環(huán)控制變量 V 的類型一致;然后將初值賦給循環(huán)控制變量 v,并計算需要循環(huán)的次數(shù);最后根據(jù) 循環(huán)次數(shù)重復(fù)執(zhí)行循環(huán)體中的語句,并每次執(zhí)行完循環(huán)體后,將循環(huán)控制變量增值一次,循環(huán)次數(shù)減少一次。當循環(huán)次數(shù)為零時,則結(jié)束循環(huán),轉(zhuǎn)向程序規(guī)定的下一個語句。(二)繼續(xù)語句 CONTINUECONTINUE 是一個可執(zhí)行語句,其功能是使程序的流程繼續(xù)到邏輯上的下一個語句。FORTRAN 77 規(guī)定,循環(huán)終端語句必須是一個可執(zhí)行語句,但不能是 GOTO 語句、 塊IF 語句、ELSE 語句、ELSE IF 語句、ENDIF 語句、00 語句、STOP 語句、END 語句。由于
17、這些限制,通常用 CONTINUE 語句作為循環(huán)的終端語句。當然, CONTINUE 語句也可用在其他場合。(三)循環(huán)嵌套使用循環(huán)嵌套可以實現(xiàn)多重循環(huán)。這時應(yīng)注意各重循環(huán)的層次和循環(huán)變量的關(guān)系。例如,編寫一個計算乘法表的程序段,可以寫為:DO10 1=1, 9DO8 J=l, 9IJ= I*j8 CONTINUE10 CONTINUE本例中,外層循環(huán)控制變量I 初值為 1,終值為 9,內(nèi)層循環(huán)控制變量 J 初值為外層循環(huán)控制變量I 的當前值,終值為 9。外層的第 1 次循環(huán),內(nèi)層經(jīng)過 9-1+1=9 次循環(huán),依次 計算 11=1,12=2,19=9,外層的第 2 次循環(huán),內(nèi)層經(jīng)過 9-2+18
18、 次循 環(huán),依次計算 22=4, 23=6, 29 = 18(四)使用循環(huán)語句應(yīng)注意的若干問題1.正確選定循環(huán)變量的初值。比如,對累加問題和連乘問題,變量初值不正確,使 影響最終結(jié)果。例如計算 m=l!十 2! +十 10! ,采用循環(huán)語句編寫程序,涉及到累加和連乘。其程序可編寫如下:m=0n1DO 20 I= 1, 10n=nImm 十n20 CONTINUEPR*,mEND例中, n 用于存放連乘結(jié)果,其初值設(shè)定為 1,而 m 用于存放累加結(jié)果,其初值設(shè)定為 0。2. DO 語句可以和轉(zhuǎn)換語句,條件語句等結(jié)合起來使用,此時應(yīng)注意從循環(huán)體內(nèi)可以 轉(zhuǎn)向循環(huán)體外,但不允許從循環(huán)體外轉(zhuǎn)向循環(huán)體內(nèi);
19、從內(nèi)層循環(huán)中可以轉(zhuǎn)向外層循環(huán),但不允許從外層循環(huán)轉(zhuǎn)向內(nèi)層循環(huán)中。3.當內(nèi)外層循環(huán)體的終端語句相同,且兩個終端語句之間沒有其他語句時,可以合并使用一個終端語句。例如,前面計算乘法表的程序段可以寫為:DO10 I=1. 9DO10J=I,9IJ= I*j10CONTINUE或?qū)憺镈O10 I=1,90010 J=I, 910IJ=I*J輸入輸出語句五、輸入輸出語句(一)表控輸入輸出表控輸入輸出語句是一種隱含格式的輸入輸出語句,其格式由程序編譯系統(tǒng)提供,在 程序語句中不予表示。1.表控輸出語句FORTRAN 77 表控輸出語句有兩種方式:PR*,輸出量表WRITE (*,*)輸出量表這兩種表控輸出語
20、句的作用是相同的,但一般微機上的 FORTRAN 77 子集不提供PR語句,所以通常使用 WRITE 語句。2.表控輸入FORTRAN 77 表控輸入語句有兩種型式:READ*,輸入量表READ (*,*)輸入量表表控輸入又稱為格式輸入。表控輸入語句要求用戶在隱含的輸入設(shè)備(通常是鍵 盤)上輸入所需的數(shù)據(jù),在輸入數(shù)據(jù)時,各數(shù)據(jù)之間用逗號或空格分隔。(二)格式輸入輸出1.格式輸出數(shù)據(jù)語句 WRITE 語句和 FORMAT 語句WRITE 語句的一般形式為:WRITE (u, f)輸出量表其中, u 為說明符,用以在哪個設(shè)備上進行輸出,通常也稱為通道號,當U為記號*時,表示在顯示器(標準輸出設(shè)備)
21、上進行輸出。f 為格式說明,它通常是一個格式語句的標號,用以輸出數(shù)據(jù)所采用的格式。格式語句的一般形式為:標號 FORMAT (格式說明)例如:WRITE (*, 10) A, B, A*B10 FORMAT (lX, F6.2, F7.3, F10.4)FORMAT 語句中,第一個1X稱為縱向控制符,它表示前進一空格后再輸出后面的數(shù)據(jù),后面的三個項分別說明了三個實型數(shù)據(jù)輸出的,稱為格式編輯符。FORTRAN 77 也允許在 WRITE 語句中直接指定輸出格式,從而可以省略格式語句FORMAT。例如,上面的輸出語句與格式語句可以合并成一個,即:WRITE (*, I (1X , F6. 2, F7. 3, F10.4) ) A, B, A*B2.格式編輯符 FORTRAN 常用的格式符有十幾種,詳細可參照任何一本 FORTRAN 教材或于冊。(三)隱循環(huán)的輸入輸出數(shù)組元素的輸入輸出可以采用循環(huán)方式實現(xiàn)。 例如:DIMENX(20)DO 10 1= 1,2020 READ*, X(I)程序段執(zhí)行時進行 20 次循環(huán),每次輸入 1 個數(shù)據(jù)。這個輸入程序段可以改寫如下:DIMENX (20)READ*, (X (I), I = 1, 20)其中第 2 句就是隱循環(huán)的輸入語句。循環(huán)控制變量I 的初值為 1,終
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度吊頂工程風險管理與保險合同3篇
- 二零二五年度智慧城市建設(shè)規(guī)劃與實施合同2篇
- 二零二五年巖土工程勘察分包執(zhí)行合同3篇
- 2025年度汽車維修配件銷售代理合同(汽車配件)
- 梯形鋼屋架課程設(shè)計61
- 海南政法職業(yè)學院《非編技術(shù)基礎(chǔ)》2023-2024學年第一學期期末試卷
- 觀影課程設(shè)計案例
- 海南衛(wèi)生健康職業(yè)學院《市政工程概預(yù)算》2023-2024學年第一學期期末試卷
- 二零二五年度汽車租賃與新能源車租賃服務(wù)合同
- 海南體育職業(yè)技術(shù)學院《影視音效設(shè)計與創(chuàng)作》2023-2024學年第一學期期末試卷
- 常用口服藥品的正確使用方法
- 2024年危險化學品生產(chǎn)經(jīng)營單位其他從業(yè)人員考試題庫附答案
- 信號分析與處理課程設(shè)計課程教學大綱基本要求及規(guī)范(集中實踐環(huán)節(jié))
- 2024年中考物理真題及分類匯編-考點25:磁現(xiàn)象-電生磁
- 2024年更新版:精準農(nóng)業(yè)無人機植保服務(wù)合同
- 2024年度中國醫(yī)院人力資源現(xiàn)狀調(diào)研報告
- 前程無憂測評題庫及答案
- 【MOOC】有機化學-華中農(nóng)業(yè)大學 中國大學慕課MOOC答案
- 二水石膏轉(zhuǎn)化為半水石膏的研究
- 中醫(yī)特色治療進修匯報
- 闌尾炎內(nèi)鏡治療
評論
0/150
提交評論