Fortran的主要版本與差別_第1頁
Fortran的主要版本與差別_第2頁
Fortran的主要版本與差別_第3頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、、 Fortran 的主要版本及差別按其發(fā)展歷史,F(xiàn)ortran編譯器的版本其實(shí)很多。現(xiàn)在在廣泛使用的是Fortran 77 和 Fortr an90。Fortran 90 在 Fortran 77 基礎(chǔ)上添加了不少使用的功能,并且改良了 77編程 的版面格式, 所以編程時推薦使用 90。鑒于很多現(xiàn)成的程序只有 77版本,有必要知道 77的一些基本 常識,至少保 證能夠看懂 77 程序。以下是 77 和 90 的一些格式上的區(qū)別Fortran 77 : 固定格式(fixed format ),程序代碼擴(kuò)展名:.f或.for( 1)若某行以 C,c 或 * 開頭,則該行被當(dāng)成注釋;(2)每行前六

2、個字符不能寫程序代碼,可空著,或者15 字符以數(shù)字表明行代碼(用作格 式化輸入 輸出等); 772為程序代碼編寫區(qū); 73 往后被忽略; (3)太長的話可以續(xù)行,所續(xù)行的第六個字符必須是 "0" 以外的任何字符Fortran 90 :自由格式( free format ), 擴(kuò)展名: .f90( 1)以 "!" 引導(dǎo)注釋;( 2)每行可 132 字符,行代碼放在每行最前面;( 3)以 &續(xù)行,放在該行末或下行初。以下都是討論 Fortran 90 。3、Fortran的一些特點(diǎn),和 C的一些不同 其實(shí)很多,在下面涉及具體方面時可以看到。這里只是大

3、致提一些。( 1)不分大小寫( 2)每句末尾不必要寫分號( 3)程序代碼命令間的空格沒有意義( 4)不像 C, Fortran 不使用 ( 5)數(shù)據(jù)類型多出了復(fù)數(shù)和邏輯判斷類型。比如復(fù)數(shù)類型complex : a ! 聲明復(fù)數(shù)的方法。復(fù)數(shù)顯然方便了科學(xué)計算,滿足了工程方面 的需求a=(1.0,2.0) ! a=1+i( 6)多出了乘冪運(yùn)算( * )。乘冪除了整數(shù)還可以是實(shí)數(shù)形式。如開方, 方,a=8.0*(1.0/3.0) 。 (7)數(shù)組有一些整體操作的功能;可以方便的對部分元素進(jìn)行操作 (8)有些情況下可以聲明大小待定的數(shù)組,很實(shí)用的功能4、Fortran 的基本程序結(jié)構(gòu) 先看一看所謂的 &

4、quot;Hello Fortran" 程序。 program main !程序開始, main 是 program 的名字,完全自定義write(*,*) "Hello" !主程序stop !終止程序end programmain !end 用于封裝代碼,表示代碼編寫完畢。 中的容可省略,下同。要求再看一段實(shí)用一些的程序, 好有點(diǎn)感性認(rèn)識。 程序用于計算圓柱的表面積, 輸入底面 半徑和高。其中展示了 Fortran 的一些特色用法。程序摘自維基。其實(shí)是一個叫 www.answers.的網(wǎng)上引 用的維基的網(wǎng)頁。推薦去看看 ! 能查到不少有意思的東西。program

5、 cylinder ! 給主函數(shù)起個名字! Calculate the area of a cylinder.! Declare variables and constants.! constants=pi! variables=radius squared and heightimplicit none ! Require all variables to be explicitly declared這個一般都是要寫上的。下面會進(jìn)一步說明integer : ierrcharacter : ynreal : radius, height, areareal, parameter : pi =

6、3.1415926536 !這是常量的聲明方法interactive_loop: do !do 循環(huán), Fortran 中的循環(huán)可以加標(biāo)簽,如 d面的 interactive_loop 就是標(biāo)Prompt the user for radius and height and read them.write (*,*) 'Enter radius and height.' read (*,*,iostat=ierr) radius,height !屏幕輸出鍵盤輸入。 isotat 的值用于判斷! 輸入成功否If radius and height could not be rea

7、d from input, then cycle through the loop.if (ierr /= 0) thenwrite(*,*) 'Error, invalid input.' cycle interactive_loop !cycle end if相當(dāng)于 C 里的 continue! Compute area. The * means "raise to a power." area = 2 * pi * (radius*2 + radius*height) !便! Write the input variables (radius, hei

8、ght)! and output (area) to the screen.write (*,'(1x,a7,f6.2,5x,a7,f6.2,5x,a5,f6.2)') & !"&" 這里指數(shù)運(yùn)算比 C 方表示續(xù)行。還顯示了格式化輸出'radius=',radius,'height=',height,'area=',areayn = ' 'yn_loop: do! 嵌的另一個 do 循環(huán)write(*,*) 'Perform another calculation? yn

9、' read(*,'(a1)') ynif (yn='y' .or. yn='Y') exit yn_loopif (yn='n' .or. yn='N' .or. yn=' ') exit interactive_loop end do yn_loop ! 結(jié)束嵌 do 循環(huán)end do interactive_loop end program cylinderFortran 程序的主要結(jié)構(gòu)就是這樣了。 一般還會有些 module 的部分在主函數(shù)前, 函數(shù)在主函 數(shù)后。三、數(shù)據(jù)類型及基本輸

10、入輸出1、數(shù)據(jù)類型,聲明及賦初值( 1) integer : 短整型 kind=2, 長整型 kind=4integer(kind=2) : a=3如果聲明成 integer: a ,則默認(rèn)為長整型。!":" 在聲明并同時賦初值時必須要寫上; 類型名后面有形容詞時也必須有; 其 他情況可 略去! 所謂形容詞,可以看一下這個。比如聲明常數(shù)real ,parameter : pi=3.1415926。 parameter 就是形容詞。(2) real :單精度 kind=4 (默認(rèn)),雙精度 kind=8real(kind=8) : a=3.0還有指數(shù)的形式,如1E10為單精度

11、,1D10為雙精度( 3) complex 單精度和雙精度complex(kind=4) b( 4) charactercharacter(len=10) c !len為最大長度( 5) logicallogical*2 : d=.ture. ( 等價于 logical(2):d=.ture.)6)自定義類型 type :類似于 C 中的 structFortran 77中給變量賦初值常用DATA命令,可同時給多個變量賦初值 data a,b,string /1, 2.0, 'fortran'/照默認(rèn)的規(guī)定,以 i,j,k,l,m,n需在程序聲明與C不同的是,F(xiàn)ortran中變

12、量不聲明也能使用,即有默認(rèn)類型(跟implicit 命 令有關(guān))。按開頭的變量被定義為 integer, 其余為 real 。取消該設(shè)置部分之前 加 implicit none 。國倫建議一般都使用該語句。 另一點(diǎn)關(guān)于聲明的不同是 Fortran 有"等價聲明 ": integer a,b equivalence(a,b) 使得a,b使用同一塊存。這樣可以節(jié)省存;有時可精簡代碼。如:equivalence(很 長名字的變量比如三維數(shù)組的某個元素,a),之后使用a來編寫程序就簡潔多了2、基本輸入輸出輸入: read(*,*) a!輸出: write(*,*) "te

13、xt" !從鍵盤讀入在屏幕上輸出。 Fortran 77 用 ' text' 。 Fortran 90!一般" " 和' ' 都可print *, "text" ! 只能屏幕輸出( *,* )完整寫為( unit=*,fmt=* )。其中 unit 為輸入/ 輸出位置,如屏幕,文 件等; fmt 為 格式。如果這兩項都寫成 *,則按默認(rèn)的方式進(jìn)行,即上面描述的。 print 后面的 *表示按 默認(rèn)格式輸四、流程控制1、運(yùn)算符用法用法(1)邏輯運(yùn)算符= /= > >= < <=!Fortra

14、n 90.EQ. .NE. .GT. .GE. .LT. .LE. !Fortran 77(2)涉及相互關(guān)系的集合運(yùn)算符.AND. .OR. .NOT. .EQV. .NEQV.!僅.NOT.連接一個表達(dá)式,其余左右兩邊都要有表達(dá)式(可以是logical類型的變量)LEQV.:當(dāng)兩邊邏輯運(yùn)算值相同時為真,.NEQV.:當(dāng)兩邊邏輯運(yùn)算值不同時為 真2、IF(1) 基本 : if( 邏輯判斷式 ) thenend if如果 then 后面只有一句,可寫為if(邏輯判斷式) !then 和end if可省略(2) 多重判斷:if( 邏輯判斷式 ) then else if else if else

15、end if(3)嵌套:if( 邏輯判斷式 ) thenif( 邏輯判斷式 ) thenif( 邏輯判斷式 ) thenelse if(邏輯判斷式 ) thenelseend if !沒必要跟C語句多時用 了,因為有end ifend ifend if(4) 算術(shù)判斷: program example implicit none real c write (*,*) "input a number" read (*,*) cif(c) 10,20,30 !10,20和30為行代碼,根據(jù)c小于/等于/大于0,執(zhí)行10/20/30 行的程 序10 write (*,*) &qu

16、ot;A"goto 40 !goto 可實(shí)現(xiàn)跳到任意前面或后面的行代碼處,但用多了破壞 程序結(jié)構(gòu)20 write (*,*) "B"goto 4030 write (*,*) "C"goto 4040 stopend3、SELECT CASE 類似于 C 的 switch 語句 select case( 變量 )case (數(shù)值1) !比如case(1:5)代表1<=變量<=5會執(zhí)行該模塊 !case(1, 3, 5)代表變量等于1或3或5會執(zhí)行該模塊case (數(shù)值2) !括號中數(shù)值只能是integer,character 或lo

17、gical 型常量,不 能 是 real 型case default end case4、PAUSE, CONTINUEpause暫停程序執(zhí)行,按 enter可繼續(xù)執(zhí)行continue 貌似沒什么用處,可用作封裝程序的標(biāo)志五、循環(huán)1、DOdo counter= 初值, 終值, 增/減量 !counter 的值從初值到終值按增 /減量變化, !co unter每取一個值對應(yīng)著一次循環(huán)。增 / 減量不寫則默認(rèn)為 1循環(huán)主體也沒有必要用 end doFortran 77 中不是用 end do 來終止,而是下面這樣子: do 循環(huán)最后一行的行代碼 counter= 初值, 終值, 增/減量行代碼 !

18、 這是do的最后一行2、DO WHILE do while( 邏輯運(yùn)算)end do類似于C中的while(邏輯運(yùn)算)。一開始那個計算圓柱表面積的程序中,應(yīng)該也算是這一類。不過它是通過部的 if 語句來 控制循 環(huán)??磥硪彩强梢缘模贿^在這本書上沒看到這樣寫。其實(shí)應(yīng)該也可以歸于下面 這種。3、沒看到和C里面的dowhile(邏輯運(yùn)算);相對應(yīng)的循環(huán)語句,不過可以這樣,保證 至少做一次循環(huán):if( 邏輯運(yùn)算) exit !exit 里是 cydo while(.ture.)就好比C里面的break °C里的continue在Fortran cle end do4、Fortran 的一個

19、特色:帶署名的循環(huán) 可以這樣,不易出錯:outer: do i=1,3inner: do j=1,3end do inner end do outer還可以這樣,很方便:loop 1: do i=1,3loop2: do j=1,3終止整個循環(huán) loop1跳出 loop2 的本次循環(huán),進(jìn)行 loop2 的if(i=3) exit loop1 !exitif(j=2) cycle loop2 !cycle一次循環(huán) write(*,*) i,j end do loop2 end do loop1還有一些循環(huán)主要用于 Fortran 中的數(shù)組運(yùn)算,為 Fortran 特有,很實(shí)用六、數(shù)組1、數(shù)組的聲

20、明和C不同的是,F(xiàn)ortran中的數(shù)組元素的索引值寫在(),且高維的也只用一個 (),如下integer a(5) ! real : b(3,6) !聲明一個整型一維數(shù)組聲明一個實(shí)型二維數(shù)組類型可以是 integer, real, character, logical或 type 。最高可以到 7 維。數(shù)組大小必須為常數(shù)。但是和C語言不同,F(xiàn)ortran也有辦法使用大小可變的數(shù) 組,方法如下: integer, allocatable : a(:) !聲明大小可變經(jīng)過某個途徑得知所需數(shù)組大小 size 之后,用下面的語句: allocate(a(size) ! 配置存空間 之后該數(shù)組和通過一般

21、方法聲明的數(shù)組完全相同。與C不同,F(xiàn)ortran索引值默認(rèn)為從1開始,而且可以在聲明時改變該規(guī)則: integer a(-3:1) ! 索引值為-3, -2, -1, 0, 1 integer b(2:3,-1:3) !b(23,-13)為可使用的元素2、數(shù)組在存中的存放和C不同,F(xiàn)ortran中的數(shù)組比如a(2,2)在存中存放順序為 a(1,1),a(2,1),a(1,2),a(2,2) 。原則是先放低維的元素,再放高維的元素。此規(guī)則稱為 column major 3、賦初值(1)最普通的做法:integer a(5)data a /1,2,3,4,5/或 integer : a(5)=(/

22、1,2,3,4,5/)若 integer : a(5)=5 ,則 5 個元素均為 5 對于 integer : a(2,2)=(/1,2,3,4/) 根據(jù)數(shù)組元素在存中存放的方式,等價于賦值 a(1,1)=1,a(2,1)=2,a(1,2)=3,a(2,2)=4( 2)利用 Fortran 的特色:隱含式循環(huán) integer a(5) integer i data (a(i),i=2,4)/2,3,4/ !(a(i),i=2,4) 認(rèn)值 1看例子就明白了。表示 i 從 2到 4循環(huán),增量為默還可以這樣:integer i五個元素分別賦值為 1,2,2,2,5五個元素分別賦值為 1,2,3,4,

23、integer : a(5)=(/1,(2,i=2,4),5/)integer : b(5)=(/i, i=1,5/) !5還可以嵌套data (a(i,j),i=1,2),j=1,2)=/1,2,3,4/ !a(1,1)=1,1(2,1)=2,a(1,2)=3,a( 2,2)=44、操作整個數(shù)組設(shè) a, b 為相同類型、維數(shù)和大小的數(shù)組a=5 ! a=(/1,2,3/) ! a=b !所有元素賦值為 5這里假設(shè) a 為一維, a(1)=1,a(2)=2,a(3)=3 對應(yīng)元素賦值,要求 a,b,c 維數(shù)和大小相同,下同a=b+c a=b-c a=b*ca=b/ca=sin(b) !部函數(shù)都可

24、以這樣用5、操作部分?jǐn)?shù)組元素a 為一維數(shù)組a(3:5)=(/3,4,5/) !a(3)=3,a(4)=4,a(5)=5a(1:5:2)=3 !a(1)=3,a(3)=3,a(5)=3a(3:)=5 !a(3) 以及之后的所有元素賦值為 5 a(1:3)=b(4:6) ! 類似于這種的要求左右數(shù)組元素個數(shù)相同 a(:)=b(:,2) !a(1)=b(1,2),a(2)=b(2,2) ,以此類推6、WHEREwhere 形式上類似于 if ,但只用于設(shè)置數(shù)組。設(shè)有兩個同樣類型、維數(shù)和大小 的數(shù)組 a,b 34m where(a<3)b=a !a中小于 3 的元素賦值給 b 對應(yīng)位置的元素en

25、d where再如: where(a(1:3)/=0) c=a !略去了 end where, 因為只跟了一行 where 可嵌 套,也可類似 do 循環(huán)有署名標(biāo)簽7、FORALL有點(diǎn)像 C 中的 for 循環(huán):forall(triplet1,triplet2 ,triplet3,mask)其中 triplet 形如 i=2 :6:2,表示循環(huán),最后一個數(shù)字省略則增量為1例如:forall(i=1:5,j=1:5,a(i,j)<10)a(i,j)=1end forall又如: forall(i=1:5,j=1:5,a(i,j)/=0) a(i,j)=1/a(i,j)forall也可以嵌套

26、使用,好比C中for循環(huán)的嵌套。七、函數(shù)Fortran 中函數(shù)分兩類:子程序( subroutine )和自定義函數(shù)( function )。自 定義函數(shù)本 質(zhì)上就是數(shù)學(xué)上的函數(shù),一般要傳遞自變量給自定義函數(shù), 返回函數(shù)值。子程序不一定是 這樣,可 以沒有返回值。傳遞參數(shù)要注意類型的對應(yīng),這跟 C是一樣的 1、子程序 目的:把某一段經(jīng)常使用的有特定功能的程序獨(dú)立出來,可以方便調(diào)用。 習(xí)慣上一般都把子程序放在主程序結(jié)束之后。形式:subroutine name (parameter1, parameter2)! 給子程序起一個有意義的名字。可以傳遞參數(shù),這樣可以有返回值。括號也可 以 空著,代表

27、不傳遞參數(shù)。implicit noneinteger: parameter1, parameter2 !需要定義一下接收參數(shù)的類型。!接下來的程序編寫跟主程序沒有任何差別mreturn !跟C不同,這里表示子程序執(zhí)行后回到調(diào)用它的地方繼續(xù)執(zhí)行下面的 程序。不一定! 放在最后??梢苑旁谧映绦虻钠渌恢茫饔孟嗤?;子程序中 return 之后的部分不 再執(zhí)行。end subroutine name 調(diào)用:使用 call 命令直接使用,不需要聲明。在調(diào)用處寫: call subroutine name(parameter1,parameter2)、I 、+:注意點(diǎn):a. 子程序之間也可相互調(diào)用。直接

28、調(diào)用就是了,像在主程序中調(diào)用子程序一樣b. 傳遞參數(shù)的原理和 C 中不同。 Fortran 里是傳址調(diào)用 (call by address/reference) ,就是 傳遞時用的參數(shù)和子程序中接收時用的參數(shù)使用同一個地址, 盡管命名可以不同。 這樣如 果子程序 的執(zhí)行改 變子程序中接收參數(shù)的值,所傳遞的參數(shù)也相應(yīng)發(fā)生變化。c. 子程序各自部定義的變量具有獨(dú)立性,類似于Co各自的行代碼也具有獨(dú)立性。 因此各 個子程序 和主程序中有相同的變量名、行代碼號,并不會相互影響。2、自定義函數(shù)和子程序的明顯不同在于:需要在主程序中聲明之后才能使用。調(diào)用方式也有差 別。另外按照慣例調(diào)用函數(shù)不去改變自變量的

29、值。如果要改變傳遞參數(shù)的值,習(xí)慣上用子程序來做 聲明方式: real, external : function_name般自定義函數(shù)也是放在主程序之后。形式:function function_name(parameter1, parameter2)implicit nonereal: parameter1, parameter2 !聲明函數(shù)參數(shù)類型,這是必需的real:function_name !聲明函數(shù)返回值類型,這是必需的function_n ame=.! 返回值的表達(dá)式 returnend也可以這樣直接聲明返回值類型,簡潔些:real function function_name(p

30、arameter1, parameter2) implicit nonereal: parameter1, parameter2 ! 這個還是必需的function_n ame=.! 返回值表達(dá)式 returnend調(diào)用: function_name(parameter1,parameter2)不需要 call 命令。 自定義函數(shù)可以相互調(diào)用。調(diào)用時也需要事先聲明。 總之,調(diào)用自定義函數(shù)前需要做聲明,調(diào)用子程序則不需要3、關(guān)于函數(shù)中的變量( 1)注意類型的對應(yīng)。 Fortran 中甚至可以傳遞數(shù)值常量,但只有跟函數(shù)定義 的參數(shù)類型 對應(yīng)才會得到想要的結(jié)果。如 call ShowReal(1.0

31、) 就必須用 1.0 而不是 1。( 2)傳遞數(shù)組參數(shù),也跟 C 一樣是傳地址,不過不一定是數(shù)組首地址,而可以 是數(shù)組某個的地址。比如有數(shù)組 a(5) ,調(diào)用 call function(a) 則傳遞 a(1) 的地址,調(diào)用 callfunctio n(a(3) 則 傳遞 a(3) 的地址。( 3)多維數(shù)組作為函數(shù)參數(shù),跟C 相反的是,最后一維的大小可以不寫,其他維大小必須 寫。這決定于 Fortran 中數(shù)組元素 column major 的存放方式。(4) 在函數(shù)中,如果數(shù)組是接收用的參數(shù),則在聲明時可以用變量賦值它的大 小,甚至可以不指定大小。例如:subroutine Array(nu

32、m,size)implicit noneinteger: sizeinteger num(size) ! 可以定義一個數(shù)組, 其大小是通過傳遞過來的參數(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, int

33、rinsic : sin ! 庫函數(shù) external sub ! 子程序 ( 7)函數(shù)使用接口( interface ):一段程序模塊。以下情況必需:a. 函數(shù)返回值為數(shù)組b. 指定參數(shù)位置來傳遞參數(shù)時c. 所調(diào)用的函數(shù)參數(shù)個數(shù)不固定d. 輸入指標(biāo)參數(shù)時e. 函數(shù)返回值為指針時。 具體用法結(jié)合例子容易看懂。例子都很長。看書吧。4、全局變量 功能就不用說了。 原理:根據(jù)聲明時的相對位置關(guān)系而取用, 不同與 C 中根據(jù)變 量名使用。如果在主程序中定義: integer : a,bcommon a,b ! 就是這樣定義全局變量的 在子程序或自定義函數(shù)中定義: integer : c,d commo

34、n c,d則 a 和 c 共用相同存, b 和 d 共用相同存。全局變量太多時會很麻煩。可以把它們?nèi)藶闅w類,只需在定義時在comm o后面加上區(qū)間名 。如common /groupe1/ a, common /group2/ b 。這樣使用時就不必把所有全局變量 都列出來了,再聲明 common /groupe1/ c 就可以用 a、c 全局變量了。可以使用 block data 程序模塊。在主程序和函數(shù)中不能直接使用前面提到的 data 命令給全局變量賦初值。可以給它們各自賦初值;如果要使用 data 命令必須要這樣: block data name implicit none intege

35、r a,b,c real d,e common a b c common /group1/ d,e data a,b,c,d,e /1,2,3,4.0,5.0/ end block data name5、ModuleModule 不是函數(shù)。它用于封裝程序模塊,一般是把具有相關(guān)功能的函數(shù)及變量封裝在一起 。用法很簡單,但能提供很多方便, 使程序變得簡潔, 比如使用全局變量不必每次都聲明 一長串, 寫在Module 里調(diào)用就行了。 Module 一般寫在主程序開始之前 形式:module module_name end module module_name 使用:在主程序或函數(shù)中使用時, 需要在聲

36、明之前先寫上一行: use module_name37m。Module 中有函數(shù)時必須在 contains 命令之后(即在某一行寫上 contains 然后 下面開始寫 函數(shù),多所有函數(shù)都寫在這個 contains 之后)。并且 module 中定義過的變量在 module 里的 函數(shù)中可以直接使用,函數(shù)之間也可以直接相互調(diào)用,連 module 中的自定義函數(shù)在被調(diào) 用時也不用 先聲明的。6、include 放在需要的任何地方,插入另外的文件 ( 必須在同一目錄下 )。如: include 'funcion.f90'八、文件1、文本文件Fortran 里有兩種讀取文件的方式,對應(yīng)于兩種文件 順序讀?。河糜谖谋疚募苯幼x取:用于二進(jìn)制文件 這里只摘錄關(guān)于文本文件的讀取。一般模式如下。 character(len=20):filenamein="in.txt", filenameout="out.txt" ! 文件 名logic

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論