freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

fortran語法手冊-資料下載頁

2025-06-29 07:03本頁面
  

【正文】 al, external :: function_name一般自定義函數(shù)也是放在主程序之后。形式:function function_name(parameter1, parameter2)implicit none real:: parameter1, parameter2!聲明函數(shù)參數(shù)類型,這是必需的real::function_name!聲明函數(shù)返回值類型,這是必需的…………function_name=….!返回值的表達式returnend也可以這樣直接聲明返回值類型,簡潔些:real function function_name(parameter1, parameter2)implicit nonereal:: parameter1, parameter2!這個還是必需的…………function_name=….!返回值表達式returnend調(diào)用:function_name(parameter1,parameter2)不需要call命令。 自定義函數(shù)可以相互調(diào)用。調(diào)用時也需要事先聲明。 總之,調(diào)用自定義函數(shù)前需要做聲明,調(diào)用子程序則不需要。關(guān)于函數(shù)中的變量(1)注意類型的對應(yīng)。Fortran 中甚至可以傳遞數(shù)值常量,但只有跟函數(shù)定義的參數(shù)類型 對應(yīng)才會到想要的結(jié)果。如call ShowReal()。(2)傳遞數(shù)組參數(shù),也跟C一樣是傳地址,不過不一定是數(shù)組首地址,而可以是數(shù)組某個 指定元素地址。比如有數(shù)組a(5),調(diào)用call function(a)則傳遞a(1)的地址,調(diào)用call functio n(a(3))則遞a(3)的地址。(3)多維數(shù)組作為函數(shù)參數(shù),跟C相反的是,最后一維的大小可以不寫,其他維大小必須 寫。這決于Fortran中數(shù)組元素column major的存放方式。(4)在函數(shù)中,如果數(shù)組是接收用的參數(shù),則在聲明時可以用變量賦值它的大小,甚至可 以不指定小。例如:subroutine Array(num,size)implicit noneinteger:: size integer num(size)!可以定義一個數(shù)組,其大小是通過傳遞過來的參數(shù)決定的。這很實用…………returnend(5)save命令:將函數(shù)中的變量值在調(diào)用之后保留下來,下次調(diào)用此函數(shù)時該變量的值就 是上次保的值。只要在定義時加上save就行:integer, save :: a=1(6)傳遞函數(shù)(包括自定義函數(shù)、庫函數(shù)、子程序都是可以的)。類似于C中的函數(shù)指針需要在 主程序和調(diào)用函數(shù)的函數(shù)中都聲明作為參數(shù)傳遞的函數(shù)。如real, external :: function!自定義函數(shù)real, intrinsic :: sin!庫函數(shù)external sub!子程序(7)函數(shù)使用接口(interface):一段程序模塊。以下情況必需: 。 具體用法結(jié)合例子容易看懂。例子都很長。看書吧。全局變量功能就不用說了。原理:根據(jù)聲明時的相對位置關(guān)系而取用,不同與C中根據(jù)變量名使用。如果在主程序中定義:integer :: a,bmon a,b!就是這樣定義全局變量的在子程序或自定義函數(shù)中定義:integer :: c,dmon c,d則a和c共用相同內(nèi)存,b和d共用相同內(nèi)存。全局變量太多時會很麻煩。可以把它們?nèi)藶闅w類,只需在定義時在mon后面加上區(qū)間名,如mon /groupe1/ a,mon /group2/ b。這樣使用時就不必把所有全局變量都列出來,再聲明mon /groupe1/ c就可以用a、c全局變量了??梢允褂胋lock data程序模塊。在主程序和函數(shù)中不能直接使用前面提到的data命令給全局變量賦初值。可以給它們各自賦初值;如果要使用data命令必須要這樣:block data [name]implicit noneinteger a,b,creal d,emon a b cmon /group1/ d,edata a,b,c,d,e /1,2,3,end [block data [name]]Module Module不是函數(shù)。它用于封裝程序模塊,一般是把具有相關(guān)功能的函數(shù)及變量封裝在一起 。用法很單,但能提供很多方便,使程序變得簡潔,比如使用全局變量不必每次都聲明一長串, 寫在odule里調(diào)用就行了。Module一般寫在主程序開始之前。 形式:module module_name …… …… end [module [module_name]]使用:在主程序或函數(shù)中使用時,需要在聲明之前先寫上一行:use module_name. Module中有函數(shù)時必須在contains命令之后(即在某一行寫上contains然后下 面開始寫數(shù),多所有函數(shù)都寫在這個contains之后)。并且module中定義過的變量在module里的 函數(shù)中可直接使用,函數(shù)之間也可以直接相互調(diào)用,連module中的自定義函數(shù)在被調(diào)用時也不用 先聲明。include放在需要的任何地方,插入另外的文件(必須在同一目錄下)。如:include 39。39。八、文件文本文件 Fortran里有兩種讀取文件的方式,對應(yīng)于兩種文件順序讀?。河糜谖谋疚募苯幼x?。河糜诙M制文件這里只摘錄關(guān)于文本文件的讀取。一般模式如下。character(len=20)::filenamein=, filenameout=!文件名logical alive integer::fileidin=10,fileidout=20!10,20是給文件編的號,除1,2,5,6的正整數(shù)都可,因為6是默認的輸出位置(屏幕 ),5是默認的輸入位置(鍵盤)integer::error real::in,out!下面這一段用于確認指定名字的文件是否存在inquire(file=filenamein, exist=alive)!如果存在,alive賦值為0if(.NOT. alive) then write(*,*) trim(filenamein), doesn39。t exist.!trim用于刪去filenamein中字串 !后面的stop多余空格,輸出時好看些end if open([unit=]fileidin, file=filenamein, status=old) open([unit=]fileidout,file=filenameout[,status=new])!unit指定輸入/輸出的位置。打開已有文件一定要用status=old;打開新文件用status=new; !不指定status,則默認status=unknown,覆蓋已有文件或打開新文件……read([unit=]fileidin, [fmt=]100,iostat=error )in!error=0表示正確讀入數(shù)據(jù)。100 format(1X,)!按一定格式輸入輸出,格式可以另外寫并指定行代碼,也可以直接寫在read/write中write(([unit=]fileidout, (1X,))out close(fileidin) close(fileidout)!1X代表一個空格。(含小數(shù)點),其中小數(shù)點后三位。 !常用的還有I3,用于整型數(shù)據(jù),共占三個字符;A8,字符型,占8個字符。換行用 / 二進制文件的讀取有所不同。不再列舉。內(nèi)部文件另一個很實用的讀寫功能是內(nèi)部文件(internal file)??纯催@個例子就明白了。integer::a=1,b=2character(len=20)::stringwrite(unit=string,fmt=(I2,39。+39。,I2,39。=39。,I2))a,b,a+bwrite(*,*)string則結(jié)果輸出1+2=3。反過來也是可以的:integer acharacter(len=20)::string=123read(string,*)awrite(*,*)a則輸出123。!全文結(jié)束。20
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1