![第3章 模塊化程序設(shè)計_第1頁](http://file4.renrendoc.com/view/190e6f3861e3f224302f9bc506d888b7/190e6f3861e3f224302f9bc506d888b71.gif)
![第3章 模塊化程序設(shè)計_第2頁](http://file4.renrendoc.com/view/190e6f3861e3f224302f9bc506d888b7/190e6f3861e3f224302f9bc506d888b72.gif)
![第3章 模塊化程序設(shè)計_第3頁](http://file4.renrendoc.com/view/190e6f3861e3f224302f9bc506d888b7/190e6f3861e3f224302f9bc506d888b73.gif)
![第3章 模塊化程序設(shè)計_第4頁](http://file4.renrendoc.com/view/190e6f3861e3f224302f9bc506d888b7/190e6f3861e3f224302f9bc506d888b74.gif)
![第3章 模塊化程序設(shè)計_第5頁](http://file4.renrendoc.com/view/190e6f3861e3f224302f9bc506d888b7/190e6f3861e3f224302f9bc506d888b75.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3章模塊化程序設(shè)計
3.1模塊化程序設(shè)計思想★
3.2函數(shù)定義★★★★
3.3函數(shù)調(diào)用★★★★
3.4函數(shù)的原型與聲明★★★★
3.5函數(shù)的嵌套與遞歸★★
3.6庫函數(shù)★
3.7變量的作用域與存儲類型★★★★
3.8指針與函數(shù)★★★★3.1模塊化程序設(shè)計思想模塊化是指解決一個復(fù)雜問題時自頂向下逐層把系統(tǒng)劃分成若干模塊的過程。每個模塊完成一個特定的子功能,所有的模塊按某種方法組裝起來,成為一個整體,完成整個系統(tǒng)所要求的功能。把整個程序劃分為若干個功能單一、相對獨立、較易求解的程序模塊,然后分別予以實現(xiàn),最后再把所有的程序模塊整合起來,這種在程序設(shè)計中逐步分解、分而治之的策略,被稱為模塊化程序設(shè)計方法。C語言中用函數(shù)實現(xiàn)模塊的功能。【例3.1】求表達(dá)式的值。其中,K、M、N是正整數(shù)。#include<stdio.h>voidmain(){ inti,k,m,n; doublefk,fm,fn; scanf("%d%d%d",&k,&m,&n);
fk=1; for(i=1;i<=k;i++) fk=fk*i;
fm=1; for(i=1;i<=m;i++) fm=fm*i;
fn=1; for(i=1;i<=n;i++) fn=fn*i; printf("%f\n",fk/(fm+fn));}該程序?qū)⑺写a都放在了main函數(shù)中,階乘的實現(xiàn)代碼重復(fù)了3次,而該功能可以獨立出來,通過自定義一個函數(shù)實現(xiàn),在main函數(shù)中調(diào)用3次即可得到階乘結(jié)果。voidmain(){intk,m,n;doublefk,fm,fn;scanf("%d%d%d",&k,&m,&n);
fk=fact(k);fm=fact(m);fn=fact(n);
printf("%f\n",fk/(fm+fn)); }#include<stdio.h>doublefact(intn){
inti; doublef=1; for(i=1;i<=n;i++) f=f*i; returnf;}按照模塊化程序設(shè)計思想分析,該程序可以劃分成3個模塊:①輸入數(shù)據(jù)模塊②計算階乘模塊③輸出結(jié)果模塊每個模塊用一個函數(shù)實現(xiàn),再在主函數(shù)main中直接調(diào)用這些函數(shù)即可實現(xiàn)整個程序。輸入/輸出模塊系統(tǒng)提供了相應(yīng)的函數(shù)實現(xiàn),剩下的任務(wù)就是編寫自定義函數(shù)實現(xiàn)計算階乘的模塊。3.2函數(shù)定義根據(jù)模塊化程序設(shè)計的思想,一個較大的程序一般應(yīng)分為若干個程序模塊,每一個模塊包含一個或多個函數(shù),每個函數(shù)實現(xiàn)一個特定的功能。一個C語言程序由一個主函數(shù)和若干其他函數(shù)構(gòu)成。程序的執(zhí)行從主函數(shù)的入口開始,到主函數(shù)的出口結(jié)束,其間主函數(shù)可以調(diào)用其他函數(shù),其他函數(shù)之間也可以相互調(diào)用。在C語言中,函數(shù)分為以下兩種:(1)
庫函數(shù)由系統(tǒng)提供,用戶不用定義,只需用#include命令包含其頭文件,即可直接使用。如:printf()、scanf()、sqrt()等。(2)自定義函數(shù)是用戶根據(jù)具體需求編寫的,以完成相應(yīng)的功能。
函數(shù)定義就是編寫實現(xiàn)函數(shù)功能的程序模塊。和變量的先定義、后使用一樣,函數(shù)在使用之前也必須先定義,然后才能調(diào)用。voidmain(){ intk,m,n; dlublefk,fm,fn; scanf("%d%d%d",&k,&m,&n);
fk=fact(k); fm=fact(m); fn=fact(n);
printf("%f\n",fk/(fm+fn)); }函數(shù)定義格式:
函數(shù)返回值類型函數(shù)名(形參表){函數(shù)體}#include<stdio.h>doublefact(intn){
inti; doublef=1; for(i=1;i<=n;i++) f=f*i; returnf;}例如:doublefact(intn){…}函數(shù)調(diào)用格式:函數(shù)名(實參表);例如:fk=fact(k);函數(shù)名:命名規(guī)則同變量相同;同一個文件中函數(shù)名不能重復(fù)!形參表:用于在主調(diào)函數(shù)和被調(diào)函數(shù)間傳遞數(shù)據(jù)。需說明參數(shù)的個數(shù)和類型,多個形參間用逗號間隔,也可以無形參。形參與實參一一對應(yīng)。函數(shù)定義的說明形參書寫格式:每一個參數(shù)都要寫上數(shù)據(jù)類型和參數(shù)名;參數(shù)之間以逗號分隔,無參數(shù)時一般寫上void或什么也不寫。floataverage(floata1,floata2,floata3){……}形參不能寫成:floata1,a2,a3
×函數(shù)定義的說明函數(shù)體:由左右花括號括起來的部分。包括說明部分和語句部分,是實現(xiàn)函數(shù)的核心部分。
說明部分:定義函數(shù)內(nèi)除形參以外的其它變量等;
語句部分:實現(xiàn)函數(shù)功能的執(zhí)行語句;類型標(biāo)識符函數(shù)名(形參表){
說明部分;
語句部分;}類型標(biāo)識符:當(dāng)函數(shù)有返回值時,在函數(shù)名前指定函數(shù)返回值的類型。
若省略類型標(biāo)識符,默認(rèn)為int。
若函數(shù)無返回值,函數(shù)定義時應(yīng)寫上void。①C語言不允許在一個函數(shù)內(nèi)定義另一個函數(shù),即不能嵌套定義。所有函數(shù)在書寫時都是平行的。main(){floata,b,s;scanf("%f%f",&a,&b);s=area(a,b);printf("s=%f",s);}floatarea(floata,floatb){floats;s=a*b;returns;}×嵌套定義注意注意當(dāng)參數(shù)表中的參數(shù)個數(shù)多于1個時,它和普通變量的定義稍有區(qū)別。普通變量定義如下:inta;/*以分號結(jié)束*/intb;函數(shù)中的參數(shù)定義為:(inta,intb)/*以逗號分隔,最后不需要符號*/普通變量定義如下:inta,b;/*多個類型相同的變量可以一起定義*/函數(shù)中的參數(shù)定義為:(inta,intb)/*數(shù)據(jù)類型和參數(shù)必須成對出現(xiàn),有一個參數(shù)就必須有一個數(shù)據(jù)類型*/例:①編寫一個函數(shù),打印一行信息“Howdoyoudo!”printf("Howdoyoudo!\n");____print(____){}void
voidmain(){}print();#include<stdio.h>經(jīng)驗1:數(shù)據(jù)已知或固定則不需要作為參數(shù)傳遞;值事先不確定則需要參數(shù)傳遞!經(jīng)驗2:不要求計算結(jié)果或沒有計算出任何數(shù)值則不需要返回值。②求整數(shù)x的n次冪(n>0,且為整數(shù))______
power(__________){}intx,intndoublefor(i=1;i<=n;i++)p=p*x;inti;doublep=1;return(p);voidmain(){}scanf("%d%d",&x,&n);s=power(x,n);printf("%d^%d=%lg\n",x,n,s);printf("Inputx,n:");intx,n;doubles;#include<stdio.h>主函數(shù)應(yīng)包含哪些內(nèi)容:voidmain(){}變量定義輸入數(shù)據(jù)處理——函數(shù)調(diào)用輸出結(jié)果③將指定的字符打印n次____print(_____________){}charch,intnvoidfor(i=1;i<=n;i++)putchar(ch);inti;printf("\n");voidmain(){}printf("Inputch(char):");scanf("%c",&ch);printf("Inputn(int):");scanf("%d",&n);print(ch,
n);charch;intn;#include<stdio.h>3.3函數(shù)調(diào)用3.3.1函數(shù)調(diào)用的形式1、形式:函數(shù)名(實參表列);2、說明①實參表列由0到多個實參名組成,實參之間用逗號分隔;②實參與形參的個數(shù)、類型和順序要一致;③調(diào)用無參函數(shù)的格式為:函數(shù)名();#include<stdio.h>intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}voidmain(){inta,b,c;scanf("%d%d",&a,&b);c=max(a,b);printf("max=%d\n",c);}3、函數(shù)調(diào)用的方式①函數(shù)調(diào)用語句:–無返回值函數(shù)的調(diào)用
由函數(shù)調(diào)用加上分號構(gòu)成,在主調(diào)函數(shù)中可作為一個獨立的語句;此時不要求函數(shù)帶回返回值。printf("ThisisaCprogram");②函數(shù)表達(dá)式:
函數(shù)調(diào)用作為一個運算對象出現(xiàn)在表達(dá)式中,此時要求函數(shù)帶回一個確定的值以參加表達(dá)式的運算。c=max(a,b);y=2*pow(x,2.5);③函數(shù)參數(shù):
函數(shù)調(diào)用作為另一個函數(shù)的實參,其值作為一個實際參數(shù)傳給被調(diào)函數(shù)的形參;此時也要求函數(shù)帶回一個確定值。m=max(a,max(b,c));printf("%d\n",max(a,b));3.3.2函數(shù)間的參數(shù)傳遞定義函數(shù)的目的是為了實現(xiàn)某個特定功能。當(dāng)函數(shù)被調(diào)用時,一般需要給它傳遞一些數(shù)據(jù),供它直接處理或輔助它實現(xiàn)具體的功能。把需要參數(shù)的函數(shù)稱為有參函數(shù),不需要參數(shù)的函數(shù)稱為無參函數(shù)。形式參數(shù):定義函數(shù)時函數(shù)名后面括號內(nèi)的變量,簡稱形參實際參數(shù):調(diào)用函數(shù)時函數(shù)名后面括號內(nèi)的變量,簡稱實參#include<stdio.h>intmax(intx,inty){return(x>y?x:y);}voidmain(){inta,b,c;scanf("%d%d",&a,&b);c=max(a,b);printf("Max=%d.\n",c);}形參實參定義函數(shù)時需要解決的問題:有沒有參數(shù):若有,則從主調(diào)函數(shù)中傳遞數(shù)據(jù)。參數(shù)的個數(shù)參數(shù)的類型:int、float、double、char或指針是否有返回值:若有,則向主調(diào)函數(shù)返回計算結(jié)果。返回值的類型編寫函數(shù)的原則:數(shù)據(jù)的輸入輸出均在主調(diào)函數(shù)中進(jìn)行,通過參數(shù)將要計算的數(shù)據(jù)傳入被調(diào)函數(shù),由被調(diào)函數(shù)進(jìn)行計算,并通過返回值返回計算結(jié)果?!纠?.2】輸入兩個整數(shù),求其平均值。要求用函數(shù)實現(xiàn)平均值的計算。有沒有參數(shù):參數(shù)的個數(shù):參數(shù)的類型:是否有返回值:返回值的類型:#include<stdio.h>doubleaverage(intx,inty){doubleresult;result=(x+y)/2.0;returnresult;}voidmain(){inta,b;
doubleave;scanf("%d%d",&a,&b);
ave=average(a,b);printf("ave=%.1f\n",ave);}有2int有float或double說明:①程序在編譯時不為形參分配存儲空間,只有當(dāng)函數(shù)被調(diào)用時,形參才被分配存儲空間,并在調(diào)用結(jié)束后釋放所占的存儲空間。②形參只能是變量;而實參可以是常量、變量、表達(dá)式或具有返回值的函數(shù)調(diào)用,但要求它們有確定的值。調(diào)用時將實參的值傳遞給形參。m=max(3,a+b);/*x=3;y=a+b;*/m=max(a,max(b,c));/*x=a;y=max(b,c);*/③C規(guī)定,實參對形參的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞。只能把實參的值傳送給形參,而不能把形參的值反向傳送給實參。④在內(nèi)存中,實參與形參占用不同的內(nèi)存單元,因此即使同名也互不影響。#include<stdio.h>voidsum(intx,inty,intz){x=10;y=20;z=x+y;printf("x=%d,y=%d,z=%d\n",x,y,z);}voidmain(){inta=1,b=2,c=3;sum(a,b,c);printf("a=%d,b=%d,c=%d\n",a,b,c);}x=10,y=20,z=30a=1,b=2,c=33.3.3函數(shù)的返回值intmax(intx,inty){intz;z=x>y?x:y;
return(z);}1.函數(shù)的返回值是指函數(shù)被調(diào)用之后,執(zhí)行函數(shù)體中的程序段所取得的、并返回給主調(diào)函數(shù)的值。函數(shù)的返回值只能通過return語句返回到主調(diào)函數(shù)。return語句的一般形式是:return(表達(dá)式);或
return
表達(dá)式;2.函數(shù)返回值的類型:在定義函數(shù)時指定。intmax(intx,inty)doublepower(intx,inty)C語言規(guī)定,凡不指定類型的函數(shù),自動按整型(int)處理。max(intx,inty)intmax(intx,inty)
return語句的作用是終止當(dāng)前函數(shù)的執(zhí)行并將一個確定的值帶回主調(diào)函數(shù)中。
函數(shù)值的類型與return語句中表達(dá)式的類型應(yīng)一致;若不一致,則以函數(shù)類型為準(zhǔn)(自動轉(zhuǎn)換)。intmax(doublex,doubley){return(x>y?x:y);}3.一個函數(shù)可以有多個return語句,但每個return后的表達(dá)式類型要相同;每次調(diào)用只能有一個return語句被執(zhí)行,因此函數(shù)的返回值只能有一個;當(dāng)執(zhí)行到其中任何一個return語句時,會立即返回主調(diào)函數(shù)。4.對于有返回值的函數(shù),若return語句后面沒有表達(dá)式,或沒有return語句,此時帶回一個不確定的返回值。return;5.為了明確表示“不帶回值”,可以用void定義“無類型”(或稱“空類型”,即無返回值)。voidmain(){…}例:定義一個函數(shù),判斷整數(shù)m是否是素數(shù)。是素數(shù)返回整數(shù)1,不是返回0。isPrime(){
}intmintk=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i<=k)elsereturn(0);return(1);inti,k;intisPrime(intm){inti,k;k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)
return(0);
return(1);}3.4函數(shù)的原型與聲明
在函數(shù)調(diào)用之前應(yīng)當(dāng)對所調(diào)用的函數(shù)進(jìn)行聲明,指出該函數(shù)的返回值的類型以及形參的個數(shù)和類型,編譯器根據(jù)此信息對函數(shù)調(diào)用進(jìn)行語法檢查,保證參數(shù)及返回值的正確性。1.函數(shù)聲明的格式:函數(shù)類型函數(shù)名(形參表);floatfun(doublea,intb,floatc){……}可以聲明為以下幾種形式:
floatfun(doublea,intb,floatc);floatfun(double,int,float);floatfun(doublex,inty,floatz);2.說明:①函數(shù)聲明的位置:一種是在主調(diào)函數(shù)中對被調(diào)函數(shù)進(jìn)行函數(shù)聲明;另一種是在所有函數(shù)的外部進(jìn)行函數(shù)聲明(推薦)。②如果被調(diào)函數(shù)出現(xiàn)在主調(diào)函數(shù)之前,可以不必進(jìn)行聲明。#include<stdio.h>intmax(intx,inty);voidmain(){……}intmax(intx,inty){……}#include<stdio.h>intmax(intx,inty){……}voidmain(){……}3.5函數(shù)的嵌套與遞歸3.5.1函數(shù)的嵌套調(diào)用C語言的函數(shù)定義都是互相平行、獨立的,即不允許嵌套定義函數(shù)(在一個函數(shù)內(nèi)部定義另一個函數(shù))。但是,可以嵌套調(diào)用函數(shù)。所謂嵌套調(diào)用是指在一個函數(shù)的定義中出現(xiàn)對另一個函數(shù)的調(diào)用,即在被調(diào)函數(shù)中又調(diào)用其他函數(shù)。voidmain(){:
fun();:}voidfun(void){:
g();:}main函數(shù)fun函數(shù)g函數(shù)調(diào)用調(diào)用嵌套調(diào)用例:計算2~n之間所有素數(shù)的和。voidmain(){輸入n(n是整數(shù))求和---s=sum(n)輸出s}intsum(intn){for(i=2,s=0;i<=n;i++)if(i是素數(shù))s+=i;return(s);}intisPrime(intm){inti,k;k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)return(0);return(1);}組織成一個完整的C程序:#include<stdio.h>#include<math.h>intisPrime(intm){inti,k;k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)return(0);return(1);}intsum(intn){inti,s=0;for(i=2;i<=n;i++)if(isPrime(i)==1)s+=i;return(s);}voidmain(){輸入n(n是整數(shù))求和---s=sum(n)輸出s}voidmain(){intn,s;printf("Inputn(n>1):");scanf("%d",&n);
s=sum(n);printf("s=%d\n",s);}3.5.2函數(shù)的遞歸調(diào)用(不講)函數(shù)在被調(diào)用的過程中,又直接或間接的調(diào)用自身,則稱函數(shù)的遞歸調(diào)用。floatfunc(intn){intm;floatf;
……f=func(m);
……}(1)直接遞歸調(diào)用func1(intn){intm;
……
func2(y);
……
}func2(intx){inty;
……
func1(a);
……
}(2)間接遞歸調(diào)用例:輸入一個非負(fù)整數(shù)n,利用遞歸計算n!f(n)=n*f(n-1)(n>0)1(n=0)分析:n!=n*(n-1)!即longintfact(intn){longintf;if(n==0)
f=1;else
f=n*fact(n-1);return(f);}main(){intn;longintresult;
longintfact();while(1){printf("Inputadata:");scanf("%d",&n);if(n>=0)break;}result=fact(n);printf("result=%ld",result);}保證輸入非負(fù)整數(shù)n=5result=fact(5)=5*fact(4)=4*fact(3)=3*fact(2)=2*fact(1)=1*fact(0)=1result=120遞推回溯遞歸過程圖示用遞歸求解問題的特點存在遞歸的終止條件存在能使問題求解的遞歸方式使用遞歸的優(yōu)缺點優(yōu)點:程序簡潔,代碼緊湊。缺點:每調(diào)用函數(shù)一次,在內(nèi)存堆棧區(qū)分配空間,用于存放函數(shù)變量、返回值等信息,所以遞歸次數(shù)過多,可能引起堆棧溢出,且時間效率較差。例:求n的階乘#include<stdio.h>/*非遞歸的方式*/floatfac(intn){floatf;inti;f=1;for(i=1;i<=n;i++) f=f*i;return(f);}voidmain(){intn;floaty;printf("Inputaintegernumber:");scanf("%d",&n);
y=fac(n);printf("%d!=%.0f",n,y);}#include<stdio.h>/*遞歸方式*/#inlcude<stdlib.h>floatfac(intn){floatf;if(n<0)exit(0);elseif(n==0||n==1)f=1;elsef=fac(n-1)*n;return(f);}voidmain(){floaty;intn;printf("Inputaintegernumber:");scanf("%d",&n);
y=fac(n);printf("%d!=%.0f",n,y);}遞歸的終止條件遞歸方式main函數(shù)輸入m3y=fac(m)輸出y6調(diào)用facmn3因3!=1或0f=3*fac(3-1)返回f=6調(diào)用facmn2返回f=2返回f=1因2!=1或0f=2*fac(2-1)調(diào)用facmn1因1==1f=1結(jié)束上例遞歸調(diào)用過程:3.6庫函數(shù)庫函數(shù):即系統(tǒng)已經(jīng)定義好、具有特定功能的函數(shù)。這些函數(shù)可以直接使用,不必重新定義,但使用時需要用#include命令把相應(yīng)的頭文件包含進(jìn)來。輸入輸出函數(shù)(頭文件:stdio.h):printf()scanf()getchar()putchar()數(shù)學(xué)函數(shù)(頭文件:math.h):sqrt()pow()exp()log10()fabs()字符串函數(shù)(頭文件:string.h):strcpy()strcat()strcmp()strlen()各函數(shù)的功能見附錄,使用時注意參數(shù)的個數(shù)和類型以及函數(shù)的返回值類型。3.7變量的作用域與存儲類型3.7.1變量的作用域
變量的作用域:指該變量有效的區(qū)域。變量定義的位置不同,其作用域也不同,作用域是從空間角度對變量特性的一個描述。按照作用域,C語言中的變量分為局部變量和全局變量。1.局部變量#include<stdio.h>intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}voidmain(){inta,b,c;scanf("%d%d",&a,&b);c=max(a,b);printf("max=%d\n",c);}局部變量是指在一個函數(shù)或復(fù)合語句內(nèi)部(位于一對花括號之間)定義的變量;其作用域是本函數(shù)或復(fù)合語句的內(nèi)部。x、y、z的有效范圍a、b、c的有效范圍說明:①main函數(shù)中定義的變量是局部變量,只能在main函數(shù)中使用②不同函數(shù)中可以使用相同名字的變量,它們占用不同的內(nèi)存單元,相互獨立③形式參數(shù)也是局部變量④復(fù)合語句中定義的變量,其作用域只是本復(fù)合語句voidmain(){inta,b;……{intc;c=a+b;
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年公司食堂廚師雇傭合同格式
- 2025年融資協(xié)作框架協(xié)議創(chuàng)新策劃
- 2025年制造外包合作協(xié)議
- 2025年公有住房租賃策劃協(xié)議標(biāo)準(zhǔn)化模板
- 2025年醫(yī)療機構(gòu)設(shè)施維護服務(wù)合同
- 2025年工程責(zé)任分配與協(xié)調(diào)協(xié)議
- 2025年音樂總監(jiān)合同修訂提案
- 2025年企業(yè)產(chǎn)權(quán)流轉(zhuǎn)托管協(xié)議
- 2025年物流企業(yè)重組戰(zhàn)略協(xié)議范本
- 2025年策劃糾紛立刻賠償協(xié)議書
- 饅頭制作過程
- 大數(shù)據(jù)與能源經(jīng)濟分析
- 國有資產(chǎn)管理辦法-國有資產(chǎn)管理辦法條例
- 公務(wù)車輛定點維修車輛保養(yǎng)(附彩圖) 投標(biāo)方案
- 00015-英語二自學(xué)教程-unit3
- 淺談第三方物流的倉儲管理
- 第二章共混改性基本原理
- 乳腺專業(yè)知識課件
- 碳納米管及其應(yīng)用課件
- 人教版九年級化學(xué)全一冊第八單元集體備課教學(xué)課件PPT
- 醫(yī)院各委員會職責(zé)制度
評論
0/150
提交評論