第二章Fortran程序設(shè)計基礎(chǔ)_第1頁
第二章Fortran程序設(shè)計基礎(chǔ)_第2頁
第二章Fortran程序設(shè)計基礎(chǔ)_第3頁
第二章Fortran程序設(shè)計基礎(chǔ)_第4頁
第二章Fortran程序設(shè)計基礎(chǔ)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、c fixed format demo program fixed print*,hello $world! print 1010 format(1x,this program is written in fixed format.) end* 固定格式是為配合早期使用穿孔卡片輸入程序所發(fā)明的格式, 這里介紹固定格式,只是讓大家對 fortran 77 程序有所了解,建議大家在編寫程序時采用前述地自由格式。* 固定格式盡管有其過多的限制,但由于具有一定的規(guī)范性,方便程序的編寫和檢查。 fortran 90 字符集由下列字符組成: (1) 26個英文字母(az 和 az); (2) 數(shù)字09;

2、(3) 下劃線 _ ; (4) 特殊字符 空格,*,/, (,),:,!, 等等,詳見表 2-1 所示kind 函數(shù)的功能:在 fortran 90中 kind 函數(shù)用來獲取缺省種類參數(shù)的值;huge 函數(shù)的功能:在 fortran 90中 huge 函數(shù)用來獲得取值范圍的上限,上限加1 為取值范圍的下限。程序代碼段如下: integer(8) i, big, small big=huge(i) small=big+1 print*, largest: , big print*, smallest: , small根據(jù)表2-2,integer(8)表示整數(shù)i的取值范圍為: -922337203

3、68547758089223372036854775807根據(jù)huge函數(shù)的定義,則big=9223372036854775807small=-9223372036854775808平臺(處理器和編譯器)不同,相同的種類參數(shù)可能有不同的取值范圍。缺點:影響程序代碼的可移植性。fortran 90 提供selected_int_kind 函數(shù),即: result = selected_int_kind(r)result 代表整數(shù) n 在范圍-10rn10r內(nèi)的種類參數(shù)例如:result=selected_int_kind(3) !2result=selected_int_kind(8) !4re

4、sult=selected_int_kind(10) !8result=selected_int_kind(19) !-1 返回-1表示沒有可用的種類參數(shù)例如:要在不同的平臺下表示1010內(nèi)的整數(shù) i,可以采取如下的聲明方式:integer,parameter : k10 = selected_int_kind(10) integer(k10)i先聲明依賴于特定平臺的種類常數(shù),再以該常數(shù)為種類參數(shù)聲明變量。:表示在變量聲明數(shù)據(jù)類型的同時,給變量賦初值例 2-3 program main interest=0.08 count=0.08 print*, interest = ,interest

5、!0 print*, count = , cont !0.0 end program main implicit none real interest, count interest=0.08 count=0.08 print*, interest = ,interest !0.08 print*, count = , count !0.08 end通過類型聲明,消除隱含約定帶來的錯誤。例2-4 變量聲明及初始化program main implicit none integer a real(8) :b=2.0 complex(8) :c=(1.0,2.0) character(20) :s

6、tr=“fortran 90” a=6 print*, a=, a, ,b=, b, ,c=, c, ,str=, strend程序執(zhí)行結(jié)果:a=6 ,b=2.0 ,c=(1.0,2.0) ,str=fortran 90在聲明的同時給變量賦初值,符號“ ”不能省略,省略時可采用如下形式: intrger a a=6三. 常量聲明(parameter)在程序中固定不變的常數(shù),如圓周率、重力加速度等,可以聲明成變量。符號常量只能在聲明時通過 parameter 屬性設(shè)置其值,而且只能設(shè)置一次。在程序中不能改變。例 2-6 常量聲明 program main implicit none real,p

7、arameter :pi=3.14159 print 10, pi/6.010 format(pi/6.0=,f4.2) end計算結(jié)果:3.14159/6.0=0.523598在格式要求中f4.2,即帶小數(shù)點后兩位共四位的實數(shù),按照四舍五入的原則,得到結(jié)果:0.52 算術(shù)表達式由運算符、常量和變量組成,算術(shù)表達式獲得的結(jié)果是標(biāo)量,只是涉及到數(shù)值的大小。1. 運算符及其優(yōu)先級 fortran 有5 種算術(shù)運算符,分別是加、減、乘、除和乘冪,按優(yōu)先級由低到高排列如下: + 加, 減,* 乘, / 除,* 乘冪(兩個星號之間不能有空格),( ) 括號例如3+4.0,程序執(zhí)行時先將3轉(zhuǎn)換成3.0,然

8、后執(zhí)行3.0+4.0,得到實型結(jié)果7.0。程序執(zhí)行時,先進行9/4 整數(shù)除法運算,得整型數(shù)2,然后整型數(shù)2 被轉(zhuǎn)換成實型數(shù)2.0,再除以實型數(shù)3.0,最后結(jié)果時0.6666667,而不是數(shù)學(xué)上的結(jié)果0.75。 如果數(shù)值運算為9/4.0/3.0,最后結(jié)果是0.666666,根據(jù)數(shù)據(jù)格式寫出結(jié)果。 表控輸入/輸出語句, read*和 print* 語句。read和print表示輸入/輸出,“*” 表示表控輸入或輸出,要求從系統(tǒng)隱含指定的輸入/輸出設(shè)備上輸入或輸出數(shù)據(jù)。1. 表控輸入語句 表控輸入:自由格式輸入。read*語句的一般形式為: read* ,變量列表約定:表控輸入,不必指定輸入數(shù)據(jù)的格

9、式,只需將數(shù)據(jù)依次輸入;變量列表的變量用逗號分開,例如:a1,a2,a3當(dāng)程序執(zhí)行到 read* 語句時,向設(shè)備發(fā)出輸入數(shù)據(jù)的指令,通過鍵盤輸入數(shù)據(jù)。 1,2,abc,.true.,(1,-1) -這里用的分隔符是 ,結(jié)果:a=1 ,b=2.0000000 ,c=abc ,d=t ,e=(1.0000000,-1.0000000)program main implicit none integer :a=1,b=5,c=8 print*, max(a,b,c)=, max(a,b,c)end 程序由聲明語句和執(zhí)行語句構(gòu)成,以end結(jié)尾;fortran90自由格式,任一列開始,容納132字符,可續(xù)行39個;記號內(nèi)不允許出現(xiàn)空白;注釋以感嘆號標(biāo)識 字符集包括26個字母,數(shù)字、下劃線及21個特殊字符;標(biāo)識符名只能由字母、數(shù)字和下劃線構(gòu)成,并以字母開頭,長度可達31個字符 數(shù)據(jù)類型:整型、實型、復(fù)數(shù)型、邏輯型和字符型,并以種類參數(shù)kind(存儲字節(jié)數(shù))控制數(shù)據(jù)取值范圍和精度。字符型除種類可選參數(shù)(值為1)外,還有規(guī)定字符串長度的可選參數(shù) 通過implicit none 強制類型說明、聲明變量的通用形式:數(shù)據(jù)類型,屬性:變量列表,當(dāng)有屬性存在,或聲明變量的同時進行初始化,聲明操作符(:)是必須的。聲明常量使用parameter屬性,并在聲明同時進行賦值 算術(shù)運算規(guī)則及運算符號的優(yōu)

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論