版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、程序設(shè)計基礎(chǔ) Fortran 95,第二章 Fortran95 程序設(shè)計基礎(chǔ),本章將介紹:,字符集、標識符和關(guān)鍵字 程序的書寫格式 數(shù)據(jù)類型 常量和變量 算術(shù)運算符和算術(shù)表達式 標準函數(shù),了解字符集、標識符和關(guān)鍵字 了解程序的固定書寫格式 掌握程序的自由書寫格式 掌握五種內(nèi)部數(shù)據(jù)類型的表示及存儲方式 掌握五種內(nèi)部數(shù)據(jù)類型常量的合法表示方式 掌握變量的表示形式和變量的三種定義方法。 掌握算術(shù)運算符和算術(shù)表達式的運算順序 了解標準函數(shù),并掌握部分常用的標準函數(shù)。,學(xué)習(xí)目標:,Fortran95的字符集,字符集就是編寫源程序時能夠使用的全部字符及符號的集合。包括:,(1)英文字母a-z及A-Z (2
2、)阿拉伯數(shù)字0-9 (3)22個特殊字符 = + - * / ( ) , . : “ ! ; % Y=-467.0; Z=X+Y,自由格式,(3)當一個語句比較長時,在一行中的132列中書寫不完時,允許有續(xù)行。如有續(xù)行,需要使用續(xù)行標志符“&”實現(xiàn)。續(xù)行標志符“&”出現(xiàn)在前一行的末尾。 例如: Y=exp(-0.5*x)*cos(x+3.14258/3)+exp(0.5*x)*& sin(x+3.14258/3)+120*log(1+sqrt(1-x*x),自由格式,如果把一個語句名或函數(shù)名等具有特定意義的字符分成兩行,那么除在本行行末加續(xù)行標志符外,還要在下一行的開頭再加一個續(xù)行標志符。例如
3、: Y= COS(ATAN(SQRT(X*3+Y*3)/(X*2+1)+CO& &S(X*Y/(SQRT(X*2+Y*2)& +EXP(A*X*2+B*X+C),特殊情況:,(4)用!作為注釋符,!可以寫在一行中的任一位置。注釋總是延伸至程序行的結(jié)束,所以在同一行的不同語句之間不能插入注釋。,Fortran 95程序的書寫格式自由格式,一個程序中,數(shù)據(jù)是程序加工處理的對象,而通過語句描述了對數(shù)據(jù)的具體操作。,不同類型的數(shù)據(jù)具有不同的特性,在計算機內(nèi)存中占有不同的存儲長度,存儲的方式不同,具有不同類型的運算。,Fortran 95的數(shù)據(jù)類型,Fortran 95的數(shù)據(jù)類型,整數(shù)類型(intege
4、r),長整型 短整型,整型數(shù)據(jù)包括正整數(shù)、負整數(shù)和零。 在計算機中整數(shù)的取值范圍受限于及其所能表示的范圍,由其類型決定.,整數(shù)類型(integer),超出此范圍,則會發(fā)生溢出錯誤。,表2.2 整數(shù)的存儲空間及取值范圍,實數(shù)類型(real),實數(shù)又稱為浮點數(shù)(floating-point number)。 實行數(shù)據(jù)有兩種類型: 單精度型 雙精度型。 數(shù)值都是近似值,而且有誤差累計。 實型數(shù)兩種表示形式:十進制小數(shù)形式和指數(shù)形式 如:312.0、3.12e+2或0.312E3都代表3.12102。 注意: 指數(shù)部分必須是整數(shù)(若為正整數(shù)時,可以省略“+”號),雙精度類型,即以兩倍的單精度的存儲空間
5、大小來存放數(shù)據(jù),減小累計的截斷誤差,大幅度提高計算的精度。,實數(shù)類型(real),表2.3 實數(shù)的存儲空間、精度及取值范圍,復(fù)數(shù)類型(complex),復(fù)數(shù)就是以 a+bi形式來表示的數(shù)值。 其中的a、b值是兩個實型數(shù)。 兩種類型: 單精度型復(fù)數(shù)和雙精度型復(fù)數(shù)。 復(fù)數(shù)的表示形式: (a,b) 如(1.2,3.5),表示復(fù)數(shù)1.2+3.5i。,Fortran是目前唯一提供復(fù)型數(shù)據(jù)類型的計算機常用語言。,字符類型 (character),計算機除了存儲數(shù)值型數(shù)據(jù)之外,也可以在內(nèi)存中存放一段文本。 字符型數(shù)據(jù)的表示形式: 用一對單引號或雙引號括起來。 如: a “hello!” 只有一個字母或符號時
6、稱為“字符”, 有一連串(多個)的字符時,就稱為“字符串”。,存儲1個字符需要1個字節(jié)的存儲空間 存儲n個字符長度的字符串則需要n個字節(jié)的存儲空間,字符類型 (character),字符類型可以表示的東西非常廣,從鍵盤輸入的任何內(nèi)容,不論是數(shù)字、字母、文本或任何特殊符號都可以。 教材附錄A的ASCII字符集里的字符就是這個類型所能表示的所有字符。,邏輯類型 (logical),表示邏輯判斷的結(jié)果 ,只能有兩種值: “是”(true) “否”(false) 也可以翻譯成“對”、“錯”,或 “真”、“假”等等。,數(shù)據(jù)類型只是數(shù)據(jù)的形式化和抽象化描述,它說明一類數(shù)據(jù)的共同性質(zhì),而不是具體的數(shù)據(jù)對象。
7、程序處理的數(shù)據(jù)必須是具體的數(shù)據(jù)對象,一個數(shù)據(jù)對象可以是常量、變量、數(shù)組或指針等,用戶根據(jù)具體問題的需要定義數(shù)據(jù)對象的數(shù)據(jù)類型。,小結(jié),常量,常量是在程序中直接生成并直接用于計算和處理,且在程序運行期間保持不變的數(shù)據(jù)。 例如:15、0、-21、.1416、256_2、(10.2,5.3) 、 fortran、”student”、 .true.,常量無需類型定義、直接由其表示形式可確定其數(shù)據(jù)類型。 Fortran常量包括前面所介紹的五種內(nèi)部類型常量和一種特殊的常量符號常量,下面分別介紹它們的表示方法及其注意事項。,整型常量可以表示成十進制及2至36進位制形式。,整型常量:,(1)十進制整數(shù):由09
8、的一系列數(shù)字組成。 例如-215、-16、0、18、24等。 對于十進制整數(shù),通過整型kind值(類別類型參數(shù))確定整數(shù)的存儲空間大?。ㄗ止?jié)數(shù))和取值范圍。例如-16_2、18_4、5_1 整型kind值有四種(默認值為4): 1、2、4、8(僅對alpha系統(tǒng)有效),(2)2至36進位制數(shù):其形式r#數(shù)字。 r前面的符號代表整數(shù)的正負 r代表進位計數(shù)制中的基數(shù) 其取值范圍是:2r36。 常用的進制有:2、8和16進制。 缺省值為16。,整型常量,【例2-2】一個10進制整數(shù)3994575的不同進位制表達形式 print *, 2#1111001111001111001111 print *,
9、 7#45644664 print *, +8#17171717 print *, 3994575 print *, #3CF3CF print *, 36#2DM8F end,整型常量,整型常量,程序運行結(jié)果:,注意:Fortran95不允許整數(shù)內(nèi)部出現(xiàn)非數(shù)值字符 如“,”、“:”和空格; 正負號和數(shù)字之間可以保留空格。,整型常量,【例2-3】判定下列整數(shù)哪些是合法整數(shù)?哪些是非法整數(shù)?說明原因。 +0 4654_3 -128 +32769 12.45 134_1 8#79 6 #23 #12A #12_2 1,234 -0 123,456。,整型常量,合法整數(shù)有:+0、-128、+3276
10、9、#12A、-0。 非法整數(shù)有:4654_3(3不是有效的kind值) 12.45(不允許小數(shù)點) 134_1(超出1個字節(jié)取值范圍) 8#79(8進制中不能包含數(shù)字9) 6 #23(不允許出現(xiàn)空格) #12_2(非十進制不允許使用kind值) 1,234(不允許出現(xiàn)逗號)。,整型常量,實型常量有2種表示形式:十進制小數(shù)形式和指數(shù)形式。 (1) 十進制小數(shù)形式 十進制小數(shù)三部分組成整數(shù)部分、小數(shù)點、小數(shù)部分。且必須包含小數(shù)點。例如: +12.5、-13.248、0.243、12.和.123 十進制小數(shù)有 3種不同表達形式: n.m n. .m,實型常量,n代表整數(shù)部分,m代表小數(shù)部分,不允許
11、出現(xiàn)非數(shù)值字符(如逗號、頓號和空格等)。,對于實數(shù),通過實型kind值確定實數(shù)的存儲空間大小、取值范圍和最大有效位數(shù)(精度)。 實型kind值有兩種4、8(缺省值為4)分別表示單精度實數(shù)和雙精度實數(shù) 。,實型常量,【例2-4】 判定下列實數(shù),哪些是合法實數(shù)?哪些是非法實數(shù)?說明原因。 +00.0.023.587_4654._5-. -.01200-34.6¥1,234,897.00$125.5。,實型常量,合法實數(shù)有:0.0、.0、23.587_4、-.01200。 非法實數(shù)有:+0(合法整數(shù),沒有小數(shù)點) 654._5(非法的實型kind值) -.(小數(shù)點前后不能都沒有數(shù)字) -34.6¥、
12、1,234,897.00、$125.5(整數(shù)、小數(shù)部分不能有非數(shù)值字符)。,實型常量,(2)指數(shù)形式 用來表示一個絕對值非常大或非常小的數(shù)。 指數(shù)形式的實數(shù)三部分組成:有效數(shù)字、E(或e)和指數(shù)。 例如: +0.125E+2、-132.48e-1、243E-3、 .12e+2,1.2e+1 1.32e5表示132000或1.32*105。 1.285E-12表示1.285*10-12。,實型常量,指數(shù)形式的實數(shù)有下列四種表達方式: n.mES n.ES nES .mES,實型常量,n代表有效數(shù)字的整數(shù)部分,m代表有效數(shù)字的小數(shù)部分,最前面的正負號表示數(shù)值的正負。 字符E后面是指數(shù)部分,正負號確
13、定指數(shù)的正負,指數(shù)必須是十進制整數(shù),表示10的多少次方。字符E前后均不能為空。有效數(shù)字部分和指數(shù)部分的數(shù)字遵循整數(shù)和小數(shù)形式實數(shù)的要求。若指數(shù)標識為D或d,則表示該實數(shù)為雙精度實數(shù),等價于kind值為8,但不能指定kind值,即D指數(shù)不允許指定實型kind值。,指數(shù)形式應(yīng)注意以下事情: 有效數(shù)字可以是整型或?qū)嵭统A?,?E2和1.0E2兩者都表示100.0,它們等價,但它們與100是不等價的,因為100代表一個整型常量; E前面的數(shù)據(jù)不能省略,E后面的指數(shù)只能是整型常量,如5E3.2,E4.,.E8都是錯誤的指數(shù)表示。 若指數(shù)標識為D或d,則表示該實數(shù)為雙精度實數(shù),等價于kind值為8,但不能
14、指定kind值,即d指數(shù)不允許指定實型kind值。,實型常量,【例】 判定下列實數(shù),哪些是合法實數(shù)?哪些是非法實數(shù)?說明原因。 0E0 0.E0-234E-5_8 23.58E-2.5 9.8E3_31,234,567E-6 .123E-1 12.3E$3¥125.5E001 E+5 - 2.34E24.5 6E2 1.35E+3 11.24E+ 312.5D3415.6D45_8。,實型常量,合法實數(shù)有:0E0、0.E0、-234E-5_8、.123E-1、 - 2.34E2、1.35E+3、12.5D34。 非法實數(shù)有:23.58E-2.5(指數(shù)部分不能為實數(shù)) 9.8E3_3(非法的實型
15、KIND值) 1,234,567E-6(不能含非數(shù)值字符) 12.3E$3(不能含非數(shù)值字符) ¥125.5E001(不能含非數(shù)值字符) E+5(E 前面不能為空) 4.5 6E2(不能含非數(shù)值字符空格) 11.24E+ 3(指數(shù)部分的正負號與數(shù)字之間不能有空格),實型常量,在計算機輸出數(shù)據(jù)時,只能按照一種標準的指數(shù)形式進行輸出。不同的計算機系統(tǒng)采用不同的標準化指數(shù)形式,常用的標準化形式有二種。,實型常量,1. 數(shù)字部分的絕對值小于1(即小數(shù)點前面的數(shù)字必須為0),且小數(shù)點后第一個數(shù)字必須為一個非0的數(shù)字。例如,0.1234E4、0.56E-3是標準化指數(shù)形式。對于不符合標準化條件的實數(shù),可以
16、通過改變指數(shù)部分的數(shù)值使其轉(zhuǎn)變?yōu)闃藴驶笖?shù)形式。例如實數(shù)0.0001234的標準化指數(shù)形式是0.1234E-3。 2. 數(shù)字部分的絕對值小于10且大于1(即小數(shù)點前只能有且只有一個非0數(shù)字)。例如,1.234E3、5.6E-4是標準化指數(shù)形式。對于不符合標準化條件的實數(shù),可以通過增大或減小指數(shù)部分的值使其轉(zhuǎn)變?yōu)闃藴驶笖?shù)形式。例如實數(shù)0.0001234的標準化指數(shù)形式是1.234E-5。,實型常量,復(fù)型常量是采用圓括號將兩個以逗號分割的實數(shù)或整數(shù)括起來表示的。其中第一個實數(shù)或整數(shù)表示復(fù)數(shù)中的實部,第二個實數(shù)或整數(shù)表示復(fù)數(shù)中的虛部。 (實數(shù)1,實數(shù)2)實數(shù)1+實數(shù)2i (1.25,0.4) 1.
17、25+0.4i (1E2,-3.4) 100.0-3.4i (1.0_4,4.2_8) 1.0_8+4.2_8i (1,4) 1.0+4.0i,復(fù)型常量,轉(zhuǎn)換原則是:遇整變實,向高看齊,在Fortran語言中,復(fù)型常量的實部和虛部的數(shù)據(jù)類型被自動識別為實型。當復(fù)數(shù)實部和虛部的數(shù)據(jù)類型不一致,或它們的kind值不同時,編譯系統(tǒng)會自動將其轉(zhuǎn)換。,字符型常量又叫字符串,它是用單引號或雙引號括起來的字符序列。 例如,a、 123、 Im a student.、China、我是中國人! 字符型常量中的字符可以是計算機系統(tǒng)中允許使用的任何字符。在字符串內(nèi)大小寫字母均可使用,但它們是不同的字符。單引號和雙引
18、號只起定界作用,它們不是字符串的組成部分。,字符型常量,字符串本身中含有單引號或雙引號的處理,例如要將Im a student作為一個字符串來處理,為了區(qū)分是字符串中的字符還是定界符,可采用兩種方式表示: 1.交替使用法, I m a student He said:I am feeling well. 2.重復(fù)使用法, Im a student He said:Im feeling well.,字符型常量,字符串內(nèi)字符的個數(shù)稱為字符串的長度。長度為0的字符串稱為空串。在字符串內(nèi)部的空格是有效字符,并占有一個字符的位置。例如, ABC 和A B C 是兩個不同的字符串。前者字符串的長度為3,后
19、者為5。 字符串中的一個西文字符占據(jù)一個字節(jié)的存儲空間,一個漢字(含漢語標點符號)占據(jù)2個字節(jié)的存儲空間,且按兩個西文字符計算長度,如字符串中國的長度是4,字符型常量,字符通常是以其ASCII代碼的二進制存儲在內(nèi)存中的。,Fortran95支持C字符串,所謂C字符串就是C語言中的字符串。C字符串中允許出現(xiàn)非打印字符(控制字符),如回車符、換行符、退格符等等。C字符串中使用特殊字符“”后 跟非打印字符的ASCII碼或標志符來表示非打印字符。 Fortran95中,如果一個字符串的后面緊接一個字符C,那么這個字符串就是C字符串。例如,中國NC CHINAC. 通過C字符串可表示任何可輸出的字母字符
20、、專用字符、圖形字符和控制字符。,字符型常量,一個字符常量需要寫成多行源程序時,有一條特殊的規(guī)則:不僅每一續(xù)行都不能尾隨注釋,而且每一續(xù)行必須以續(xù)行標識符(&)作為開頭,任何尾隨&號之后或者前導(dǎo)&號之前的空格都不是字符常數(shù)的組成部分,&號本身不是常數(shù)的組成部分。其它的字符包括空格都是字符常數(shù)的有效組成部分。,字符型常量,邏輯常量只有真和假兩種值: .true. .false.。 需要注意的是:邏輯值兩邊的小數(shù)點“.”必須有;邏輯值中字母不區(qū)分大小寫。,邏輯型常量,符號常量,所謂符號常量,是用一個標識符來代表一個常量。符號常量常用parameter語句來定義。例如: parameter(PI=3
21、.1416,M=10,)。 parameter為特有的常量定義標識,要定義的項必須放在()內(nèi),如果有多項,每項之間要用逗號隔開。 符號常量無需類型說明,直接由其表示形式可確定其數(shù)據(jù)類型,注意,符號常量與變量有著本質(zhì)的區(qū)別: PARAMETER語句是非執(zhí)行語句,必須放在可執(zhí)行語句的前面在編譯源程序時,編譯程序?qū)⒊绦蛑械姆柍A棵刻鎿Q成所對應(yīng)的常量。變量對應(yīng)于一個存儲單元,程序執(zhí)行時,可將表達式的值存放到變量所對應(yīng)的存儲單元中(即給變量賦值)或從變量所對應(yīng)的存儲單元中取出相應(yīng)的值。所以,符號常量不能當變量使用。 符號常量也可以在需要改變一個常量的值時做到“一改全改”。,符號常量,【例2-7】符
22、號常量的使用示例。 parameter (g=9.80655) t=10 v=g*t print *, v End 該語句定義了符號常量g,在該語句所在的程序單元內(nèi),g都代表9.80655,和常量一樣進行運算。,符號常量,變量,變量的概念 變量是程序運行期間其值發(fā)生改變的數(shù)據(jù),是程序主要處理的對象。變量用變量名(標識符)表示,它代表了某個存儲空間及所存儲的數(shù)值。,在Fortran中經(jīng)常可以如下語句: n=n+1 該語句理解為:“空間n里的數(shù)據(jù)增加1”。,+1,6,5,變量,變量通過一個變量名來識別,在同一個程序單位中不能用同一個變量名代表不同的變量。 變量名按照標識符規(guī)則命名。,變量,在使用變
23、量之前,必須用相關(guān)標識符(關(guān)鍵字)說明變量的數(shù)據(jù)類型,使編譯器能夠依照數(shù)據(jù)類型給每個變量分配存儲單元,用于存放變量的值。 說明語句是非執(zhí)行語句,要放在程序單元的頭部。 實行“先定義,后使用”。,變量的說明(定義),變量,變量的說明,FORTRAN中變量類型的定義有三種方式: 1.使用類型說明語句說明(強制說明) 一般格式為: 類型說明符: 變量名,變量名 注意:符號“:”,在變量定義語句中可有可無。若有可對變量賦初值,否則不能賦初值,賦值則會出錯。,integer整型說明符 real實型說明符 double precision雙精度型說明符 complex復(fù)型說明 logical邏輯型說明 c
24、haracter字符型說明,類型說明符為:,變量的說明,例如: integer x,y,z !定義x、y和z是整型變量。 integer(2) : a=1,b Integer*2 : a=1,b !定義a、b是短整型變量,對變量a賦初值1,缺省值為4 real i !定義i是單精度實型變量 real*8 J 或real(8) J !定義J是雙精度實型變量,變量的說明,complex : s=(1.5,8.9) !定義s是單精度復(fù)型變量,并對其賦初值(1.5,8.9) character name !定義name是字符型變量 Character*6 name1 Character(6) name
25、1,name2*8,name4 Character(len=6) name3,變量的說明,2. 隱含說明語句implicit,implicit說明語句可以將某個或某些字母開頭的變量規(guī)定為所需的類型,一般格式為: implicit 類型說明符(變量名起始字符,變量名起始字符, ) implicit 類型說明符(變量名起始字符-變量名起始字符) 例如: implicit integer( a, c, t-v ),real(e,k) 該語句的含義是將以a和c及t到v開頭的變量規(guī)定為整型,以e和k開頭的變量規(guī)定為實型。,變量的說明,3. 隱含約定,Fortran語言規(guī)定,凡以i,j,k,l,m,n 6
26、個字母開頭的變量被默認為整型變量,以其他字母開頭的變量被默認為實型變量。該規(guī)則又稱為IN規(guī)則。 例如:在沒有前面兩種說明的情況下,i1,ma,n3s等都為整型變量。,變量的說明,(1)在以上三種變量說明方式中 ,第一類優(yōu)先級最高,第二類次之,隱含約定最低。也就是說,當一個變量被強制定義為某種類型時,implicit語句和隱含約定將不再起作用。在implicit語句后可以使用類型定義語句重新說明已隱含定義的變量類型,反之則不允許 。,說明:,變量的說明,例如有如下連續(xù)說明語句: implicit integer(a-d) !合法 implicit real(c-f) !非法,以字母c和d開頭的變
27、量已 被隱含定義為整型變量。 integer c,d !合法,類型定義語句比 implicit語句優(yōu)先。 implicit logical(c) !非法,以字母c開頭的變量已被 定義為整型變量。,變量的說明,(3) IN規(guī)則具有一定的副作用,如隱含說明與強制說明一同使用時,變量類型不清晰,因此一般不提倡使用,可以通過在程序變量說明之前加入:implicit none語句來取消IN規(guī)則。,(2)在一個程序中,一個字母不能同時出現(xiàn)在兩個或兩個以上的implicit語句中。,變量的說明,(4) 變量類型說明語句都為非執(zhí)行語句,應(yīng)把它們放在所有可執(zhí)行語句之前,其中implicit語句要放在類型說明定義
28、語句之前。,(5)類型說明只在所在程序單元中有效。,變量的說明,(6)需要特別指出的是,對于字符型變量的說明通常采用的格式為: character(len=n) 變量表 格式中的len=n 代表被說明變量的長度,len=常省略。 例如:character(20) name !定義了一個長度為20的字符型變量name。 當n=1時,字符型變量的定義格式可簡化為: character 變量表 例如: character a(10) !定義了一個包含10個字符型元素的數(shù)組,并且每個數(shù)組元素的長度都為1。 字符型數(shù)據(jù)定義時還可以單獨指定變量表中某個變量的長度,遇到這種情況時,遵循的原則是“個別優(yōu)于一般
29、”。 例如: character(8) a*10,b,c*13 !定義了三個字符型變量,根據(jù)上面的原則可知a的長度為10,b的長度為8,c的長度為13。,變量的說明,變量 的初始化,通常一個變量是先定義,再賦值。 例如: integer a a=20 可以在定義變量時對其賦初值,即初始化。 integer : a=10,初始化時,雙冒號不能省略,變量,用data語句初始化 格式: data 變量1,變量2,變量n/常量1,常量2,,常量n/ 例如: integer a,b,c data a,b,c/1,2,3/ data i,j,k/3*5/,變量 的初始化,說明: 1)data可以給多個變量
30、同時賦初值,中間用逗號隔開; 2) 被賦值的常量一定要放在一對“/”之中。 3) 被賦值的常量與對應(yīng)的變量數(shù)據(jù)類型要一致。 4) 被賦值的常量中還可以使用“*”來表示數(shù)據(jù)的重復(fù)。,變量 的初始化,例如: real a,b,c data a,b,c/1.0,2.0,3.0/ 通過此data賦值語句a=1.0,b=2.0,c=3.0 又如下面的語句 data m,n,k/3*5/ 執(zhí)行此語句后,m,n,k的值都為5。,變量 的初始化,Fortran95 算術(shù)運算符與算數(shù)表達式,運算符是對相同類型的數(shù)據(jù)進行運算操作的符號 。 將常量、變量、函數(shù)用運算符連接起來的式子稱為表達式。 表達式的類型由運算符
31、的類型決定,每個表達式按照規(guī)定的運算規(guī)則產(chǎn)生一個唯一的值 。,根據(jù)運算符的不同,表達式分為: 算術(shù)表達式 字符表達式 關(guān)系表達式 邏輯表達式,Fortran95 算術(shù)運算符與算數(shù)表達式,提供5中算術(shù)運算,運算符依次為: +、-、*、/、*,加、減、乘、除、乘方運算 例如:2*3表示23,m*n表示mn。 算術(shù)運算符的運算優(yōu)先級為: 乘方,乘、除,加、減, +、-、*、/同級運算從左到右依次運算,乘方同級運算從右到左,Fortran95 算術(shù)運算符與算數(shù)表達式,Fortran95 算術(shù)運算符與算數(shù)表達式,算術(shù)表達式是由算術(shù)運算符將數(shù)值型常量、變量和返回數(shù)值型數(shù)據(jù)的函數(shù)等連接起來的式子,其結(jié)果是數(shù)
32、值型數(shù)據(jù)。 例如:3+2*5/4 -5.5*4*2 sin(a+1)*2)/(n*2+1),例如: 12-5*2*3/8 計算過程為: 2*3=85*8=40 40/8=5 12-5=7。 2*3*3 3*3=27 2*27=134217728。 (A*B)*3表示(AB)3,Fortran95 算術(shù)運算符與算數(shù)表達式,Fortran95 算術(shù)運算符與算數(shù)表達式,注意:當算術(shù)運算符兩側(cè)的操作數(shù)數(shù)據(jù)類型不一致時,要先轉(zhuǎn)換成同一數(shù)據(jù)類型后再計算。轉(zhuǎn)換原則是低級向高級轉(zhuǎn)換。 【例2-9】給出下面表達式的計算順序和各順序?qū)?yīng)的值及數(shù)據(jù)類型。 2*3*2.0-10.0_8 計算順序是: 2*3,結(jié)果 8
33、(整型) 8*2.0,結(jié)果16.0(雙精度) 16.0-10.0_8 結(jié)果6.0(雙精度),算術(shù)表達式注意事項說明: (1)表達式中常量的表示、變量的命名以及函數(shù)的引用要符合Fortran語言的規(guī)定。,Fortran95 算術(shù)運算符與算數(shù)表達式,(2)Fortran表達式只能在行上從左到右書寫,即所有字符都必須寫在一行, Fortran表達式中沒有帶有下標的變量、分式等。 例如: 寫成: x1/y1+x2/y2。,Fortran95 算術(shù)運算符與算數(shù)表達式,Fortran95 算術(shù)運算符與算數(shù)表達式,(3)算術(shù)表達式中的乘號不能省略。 (4)Fortran表達式只允許用小括號,不能使用大、中括
34、號。根據(jù)需要用括號表明運算順序。 例如數(shù)學(xué)表達式: 應(yīng)寫成:(a+b)*2+(a-b)*2)*3+c)+8。,(5)兩個整數(shù)相除的結(jié)果一定也為整數(shù),小數(shù)部分自動舍去。當分子小于分母時結(jié)果一律為0。 例如:3/2 !結(jié)果為1,而不是1.333333。 3/4*4 !結(jié)果為0,而不是3。 (6)在進行實型數(shù)運算時,要注意誤差問題。,Fortran95 算術(shù)運算符與算數(shù)表達式,Fortran 95標準函數(shù),函數(shù)在科學(xué)計算領(lǐng)域有廣泛的使用,數(shù)學(xué)等學(xué)科為我們提供了大量的函數(shù),如:三角函數(shù)、對數(shù)函數(shù)、雙曲函數(shù)、字符串處理函數(shù)等等。計算機語言中提到的函數(shù)是對數(shù)學(xué)等學(xué)科中函數(shù)的計算機實現(xiàn),它實際上是具有獨立功能
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版城市基礎(chǔ)設(shè)施建設(shè)委托合同范例大全3篇
- 2025年樹林資源綜合利用與循環(huán)經(jīng)濟承包合同范本3篇
- 2025年食堂食品安全風(fēng)險評估承包合同3篇
- 2025年山東貨運從業(yè)資格證500道題目及答案
- 2025版停薪留職合同模板:民營企業(yè)員工休整計劃書3篇
- 二零二五年度城市綠化工程項目采購安裝合同3篇
- 二零二五年度地質(zhì)勘探臨時駕駛員用工合同4篇
- 2025年度物流園區(qū)個人運輸承包服務(wù)協(xié)議2篇
- 2025年度模板木方項目合作協(xié)議范本大全3篇
- 2025年度個人對個人個人應(yīng)急借款合同模板4篇
- 土地買賣合同參考模板
- 新能源行業(yè)市場分析報告
- 2025年天津市政建設(shè)集團招聘筆試參考題庫含答案解析
- 房地產(chǎn)運營管理:提升項目品質(zhì)
- 自愿斷絕父子關(guān)系協(xié)議書電子版
- 你劃我猜游戲【共159張課件】
- 專升本英語閱讀理解50篇
- 中餐烹飪技法大全
- 新型電力系統(tǒng)研究
- 滋補類用藥的培訓(xùn)
- 北師大版高三數(shù)學(xué)選修4-6初等數(shù)論初步全冊課件【完整版】
評論
0/150
提交評論