




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、函數(shù)調(diào)用函數(shù)原型內(nèi)容提要函數(shù)定義、函數(shù)調(diào)用、函數(shù)原型、函數(shù)返回值難點(diǎn):函數(shù)的參數(shù)傳遞與返回值 程序調(diào)試代碼風(fēng)格變量的作用域與存儲(chǔ)類型 模塊化程序設(shè)計(jì) Skill:用函數(shù)編程求解問題的能力程序排錯(cuò)與調(diào)試的能力數(shù)學(xué)中的函數(shù)自變量因變量函數(shù)名說明自變量與因變量的映射關(guān)系程序設(shè)計(jì)中的函數(shù)程序設(shè)計(jì)中的函數(shù)不局限于計(jì)算計(jì)算類,如打印階乘表的程序判斷推理類,如排序、查找請(qǐng)問讀多少行的程序能讓你不頭疼?假設(shè)系統(tǒng)提供的函數(shù)printf()由10行代碼替換,那么你編過的程序會(huì)成什么樣子?實(shí)際上一個(gè)printf()有上千行代碼main()中能放多少行代碼?如果所有代碼都在main()中,怎么團(tuán)隊(duì)合作?如果代碼都在一
2、個(gè)文件中,怎么團(tuán)隊(duì)合作?程序設(shè)計(jì)的藝術(shù)“事無(wú)巨細(xì),“事必躬親 管理學(xué)的觀點(diǎn)是極其排斥這種做法的,認(rèn)為工作必須分工,各司其職其中的思想,在程序設(shè)計(jì)里也適用 分而治之(Divide and Conquer,Wirth, 1971)函數(shù)把較大的任務(wù)分解成假設(shè)干個(gè)較小的任務(wù),并提煉出公用任務(wù)程序設(shè)計(jì)的藝術(shù)信息隱藏Information Hiding, Parnas, 1972設(shè)計(jì)得當(dāng)?shù)暮瘮?shù)可以把具體操作細(xì)節(jié)對(duì)程序中不需要知道它們的那些局部隱藏掉,從而使整個(gè)程序構(gòu)造清楚使用函數(shù)時(shí),不用知道這個(gè)函數(shù)內(nèi)部是如何運(yùn)作的,只按照我們的需要和它的參數(shù)形式調(diào)用它即可函數(shù)是C語(yǔ)言中模塊化編程的最小單位可以把每個(gè)函數(shù)看
3、作一個(gè)模塊如把編程比做制造一臺(tái)機(jī)器,函數(shù)就好比其零部件可將這些“零部件單獨(dú)設(shè)計(jì)、調(diào)試、測(cè)試好,用時(shí)拿出來(lái)裝配,再總體調(diào)試。這些“零部件可以是自己設(shè)計(jì)制造/別人設(shè)計(jì)制造/現(xiàn)成的標(biāo)準(zhǔn)產(chǎn)品函數(shù)function和模塊module函數(shù)function和模塊module假設(shè)干相關(guān)的函數(shù)可以合并成一個(gè)“模塊一個(gè)源程序文件由一個(gè)或多個(gè)函數(shù)組成一個(gè)C程序由一個(gè)或多個(gè)源程序文件組成C程序結(jié)構(gòu)函數(shù)的分類函數(shù)生來(lái)都是平等的,互相獨(dú)立的,沒有上下貴賤和附屬之分main()稍微特殊一點(diǎn)點(diǎn)C程序的執(zhí)行從main函數(shù)開場(chǎng)調(diào)用其他函數(shù)后流程回到main函數(shù)在main函數(shù)中完畢整個(gè)程序運(yùn)行函數(shù)的分類庫(kù)函數(shù)ANSI/ISO C定義
4、的標(biāo)準(zhǔn)庫(kù)函數(shù)符合標(biāo)準(zhǔn)的C語(yǔ)言編譯器必須提供這些函數(shù)函數(shù)的行為也要符合ANSI/ISO C的定義第三方庫(kù)函數(shù)由其它廠商自行開發(fā)的C語(yǔ)言函數(shù)庫(kù)不在標(biāo)準(zhǔn)范圍內(nèi),能擴(kuò)大C語(yǔ)言的功能圖形、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)等自定義函數(shù)自己編寫的函數(shù)包裝后,也可成為函數(shù)庫(kù),供別人使用函數(shù)定義definition類型 函數(shù)名(類型 參數(shù)1, 類型 參數(shù)2, )函數(shù)體;return 表達(dá)式;返回值類型函數(shù)名標(biāo)識(shí)符說明運(yùn)算規(guī)那么參數(shù)表相當(dāng)于運(yùn)算的操作數(shù)返回值是運(yùn)算的結(jié)果函數(shù)出口函數(shù)定義definition類型 函數(shù)名(類型 參數(shù)1, 類型 參數(shù)2, )函數(shù)體;return 表達(dá)式;函數(shù)體的定界符參數(shù)表里的變量叫形式參數(shù),parame
5、ter也是內(nèi)部變量例5.1a 計(jì)算兩個(gè)整數(shù)的平均數(shù)/* 函數(shù)功能: 計(jì)算平均數(shù) 函數(shù)入口參數(shù): 整型x,存儲(chǔ)第一個(gè)運(yùn)算數(shù) 整型y,存儲(chǔ)第二個(gè)運(yùn)算數(shù) 函數(shù)返回值: 平均數(shù)*/int Average(int x, int y)int result;result = (x + y) / 2;return result;返回值類型函數(shù)名說明函數(shù)的功能返回值作為函數(shù)調(diào)用表達(dá)式的值形參表,函數(shù)入口函數(shù)內(nèi)部可以定義只能自己使用的變量,稱內(nèi)部變量函數(shù)定義Function definitionvoid 函數(shù)名(void)函數(shù)體;return ;函數(shù)沒有運(yùn)算結(jié)果,無(wú)返回值,用void定義返回值類型用void定義參
6、數(shù),表示沒有參數(shù)return語(yǔ)句后不需要任何表達(dá)式函數(shù)調(diào)用Function call 函數(shù)名(表達(dá)式1, 表達(dá)式2, );調(diào)用函數(shù)時(shí),提供的表達(dá)式叫實(shí)際參數(shù)(argument)有返回值時(shí)放到一個(gè)數(shù)值表達(dá)式中 c = max(a,b);作為另一個(gè)函數(shù)調(diào)用的參數(shù) c = max(max(a,b),c); printf(%dn, max(a,b);無(wú)返回值時(shí)函數(shù)調(diào)用表達(dá)式 display(a,b); 返回值 = 函數(shù)名(實(shí)參表列); 函數(shù)名(實(shí)參表列);函數(shù)的每次執(zhí)行都會(huì)建立一個(gè)全新的獨(dú)立的環(huán)境在“棧中為函數(shù)的每個(gè)變量包括形式參數(shù)分配內(nèi)存把實(shí)參值復(fù)制給形參開場(chǎng)執(zhí)行函數(shù)內(nèi)的第一條語(yǔ)句main() in
7、t a=12, b=24,ave; ave = Average(a,b); int Average(int x, int y) int result; result = (x + y) / 2; return result;函數(shù)調(diào)用的過程 y? x?result? b24 a12ave?1224函數(shù)內(nèi)的代碼在這個(gè)獨(dú)立的環(huán)境內(nèi)工作當(dāng)函數(shù)執(zhí)行到return語(yǔ)句或時(shí)函數(shù)退出程序從當(dāng)次調(diào)用函數(shù)的地方繼續(xù)執(zhí)行函數(shù)可有多個(gè)return,但最好只有一個(gè)且是最后一行main() int a=12, b=24,ave; ave = Average(a,b); int Average(int x, int y)
8、int result; result = (x + y) / 2; return result;函數(shù)調(diào)用的過程 y? x?result? b24 a12ave?122418函數(shù)退出時(shí)求出返回值,存入一個(gè)可被調(diào)用者訪問的地方收回分配給所有變量包括形式參數(shù)的內(nèi)存程序控制權(quán)交給調(diào)用者,調(diào)用者拿到返回值,將其作為函數(shù)調(diào)用表達(dá)式的結(jié)果main() int a=12, b=24,ave; ave = Average(a,b); int Average(int x, int y) int result; result = (x + y) / 2; return result;函數(shù)調(diào)用的過程 y24 x12r
9、esult18 b24 a12ave?18函數(shù)參數(shù)傳遞從實(shí)參到形參是單向值傳遞形參值的改變不會(huì)影響對(duì)應(yīng)的實(shí)參實(shí)參和形參必須匹配數(shù)目一致類型一一對(duì)應(yīng)會(huì)發(fā)生自動(dòng)類型轉(zhuǎn)換函數(shù)的嵌套調(diào)用嵌套調(diào)用在調(diào)用一個(gè)函數(shù)的過程中,又調(diào)用另一個(gè)函數(shù)C語(yǔ)言規(guī)定函數(shù)不能嵌套定義,但可以嵌套調(diào)用函數(shù)是相互平行的 main()a();a 函數(shù)b();return;b函數(shù)return;遞歸Recursion函數(shù)直接或間接調(diào)用自己為遞歸unsigned long func(unsigned int n) if (n = 0) return 1;else return n * func(n-1); 用遞歸的方法求n! n! =n
10、*(n-1)! . (n-1)! =(n-1)*(n-2)! . (n-2)! . (n-3)! 4! : 3! =3*2! : 2! =2*1! : 1! =1*0! 0! =1回推過程遞推過程每個(gè)遞歸函數(shù)必須至少有一個(gè)基線條件一般情況必須最終能簡(jiǎn)化為基線條件 遞歸層數(shù)太多易導(dǎo)致棧空間溢出后果很嚴(yán)重,程序被異常中止遞歸與迭代迭代即循環(huán)方法來(lái)編寫的階乘函數(shù)unsigned long factorial(unsigned int n) unsigned long fact = 1 ; unsigned int i ; for (i = 1; i = n ; i+) fact *= i ; ret
11、urn fact ;遞歸程序遵循了數(shù)學(xué)中對(duì)階乘的定義因此遞歸方法編寫程序具有更清晰、可讀性更好的優(yōu)點(diǎn) 遞歸與迭代優(yōu)點(diǎn):從編程角度來(lái)看,比較直觀、精煉,邏輯清楚符合人的思維習(xí)慣,逼近數(shù)學(xué)公式的表示尤其適合非數(shù)值計(jì)算領(lǐng)域hanoi塔,騎士游歷、八皇后問題回溯法缺點(diǎn):增加了函數(shù)調(diào)用的開銷,每次調(diào)用都需要進(jìn)展參數(shù)傳遞、現(xiàn)場(chǎng)保護(hù)等從程序運(yùn)行效率來(lái)看,大量重復(fù)計(jì)算,時(shí)空效率低應(yīng)盡量用迭代形式替代遞歸形式函數(shù)原型Function prototype在調(diào)用一個(gè)函數(shù)之前要先對(duì)其返回值類型、函數(shù)名和參數(shù)進(jìn)展聲明declaration函數(shù)聲明,也稱函數(shù)原型有助于編譯器進(jìn)展類型檢查不對(duì)函數(shù)進(jìn)展聲明是非常危險(xiǎn)的例5.1
12、b 使用了Average函數(shù)的main() #include int Average(int x, int y);main()int a = 12;int b = 24;int ave;ave = Average(a, b);printf(Average of %d and %d is %d.n, a, b, ave);函數(shù)聲明函數(shù)原型,聲明時(shí)不要省略形參和返回值的類型函數(shù)調(diào)用#include /* 函數(shù)功能: 計(jì)算平均數(shù) 函數(shù)入口參數(shù): 整型x,存儲(chǔ)第一個(gè)運(yùn)算數(shù) 整型y,存儲(chǔ)第二個(gè)運(yùn)算數(shù) 函數(shù)返回值: 平均數(shù)*/int Average(int x, int y)int result;resu
13、lt = (x + y) / 2;return result;main()int a = 12;int b = 24;int ave = Average(a, b);printf(Average of %d and %d is %d.n, a, b, ave);例5.1 函數(shù)定義也有聲明函數(shù)的效果當(dāng)返回值為整型或者函數(shù)定義在函數(shù)調(diào)用前面時(shí),可以省略原型函數(shù)定義與函數(shù)聲明的區(qū)別函數(shù)定義指函數(shù)功能確實(shí)立包括指定函數(shù)名、函數(shù)類型、形參及其類型、函數(shù)體等是完整獨(dú)立的單位 函數(shù)聲明是對(duì)函數(shù)名、函數(shù)返回值類型、形參類型的說明不包括函數(shù)體是一條語(yǔ)句,以分號(hào)完畢,只起一個(gè)聲明作用循序漸進(jìn)式編程實(shí)驗(yàn)4:小學(xué)生加
14、法考試題 通過輸入兩個(gè)加數(shù)給學(xué)生出一道加法運(yùn)算題輸入答案正確: right錯(cuò)誤: Not correct! Try again!只答1次直到做對(duì)為止最多給3次機(jī)會(huì)隨機(jī)出題連續(xù)做10道題統(tǒng)計(jì)分?jǐn)?shù)循序漸進(jìn)式編程實(shí)驗(yàn)4:小學(xué)生加法考試題 void Print(int flag) if (flag) printf(Right!n); else printf(Not correct!n);實(shí)驗(yàn)4:小學(xué)生加法考試題/* 函數(shù)功能: 計(jì)算兩整型數(shù)之和,如果與用戶輸入的答案一樣,那么返回1,否那么返回0 函數(shù)參數(shù): 整型變量a和b,分別代表被加數(shù)和加數(shù) 函數(shù)返回值:當(dāng)a加b的結(jié)果與用戶輸入的答案一樣時(shí),返回1
15、,否那么返回0*/int AddTest(int a, int b)int answer;printf(%d+%d=, a, b);scanf(%d, &answer);if (a+b = answer) return 1;else return 0;只答1次main() int a, b, answer; printf(Input a,b:); scanf(%d,%d, &a, &b); answer = AddTest(a, b); Print(answer);do while (answer = 0);實(shí)驗(yàn)4:小學(xué)生加法考試題 直到做對(duì)為止main() answer = AddTest(
16、a, b); Print(answer, chance); chance = 0; do chance+; while (answer = 0 & chance 3);實(shí)驗(yàn)4:小學(xué)生加法考試題 最多給3次機(jī)會(huì) srand(time(NULL); error = 0; score = 0; for (i=0; i10; i+) a = rand()%10 + 1; b = rand()%10 + 1; answer = AddTest(a, b); Print(answer); if (answer = 1) score = score + 10; else error+; 實(shí)驗(yàn)4:小學(xué)生加法考
17、試題 隨機(jī)出題連續(xù)做10道題統(tǒng)計(jì)分?jǐn)?shù)程序調(diào)試實(shí)例#include #include int Factorial(int x);main()int x;printf(Please input x(=0):);scanf(%d, &x);if (x = -1) exit(0);/*退出程序*/else printf(The factorial of %d is %d.n, x, Factorial(x);存在一處錯(cuò)誤!程序調(diào)試實(shí)例#include int Factorial(int x);main()int x;doprintf(Please input x(=0):);scanf(%d, &x)
18、;while (x0); printf(The factorial of %d is %d.n, x, Factorial(x);更好的編程方法!程序調(diào)試實(shí)例/* 函數(shù)功能: 計(jì)算x的階乘 函數(shù)入口參數(shù): 整型x 函數(shù)返回值: 階乘運(yùn)算結(jié)果*/int Factorial(int x)int i, result;for (i=1; i=x; i+)result *= i;return result;存在兩個(gè)問題!輸入17或者在TC下或?qū)nt改成short輸入8試一試程序調(diào)試實(shí)例/* 函數(shù)功能: 計(jì)算x的階乘 函數(shù)入口參數(shù): 無(wú)符號(hào)長(zhǎng)整型x 函數(shù)返回值: 階乘運(yùn)算結(jié)果*/unsigned lon
19、g Factorial(unsigned int x)unsigned long i, result = 1;for (i=2; i=x; i+)result *= i;return result;同時(shí)需修改函數(shù)原型和主函數(shù)中的打印格式assert()名喚:斷言 #include void assert(int expression);expression為真,無(wú)聲無(wú)息; 為假,中斷程序。用來(lái)測(cè)試某種不可能發(fā)生的狀況確實(shí)不會(huì)發(fā)生Debug版有效Release版失效只為調(diào)試程序用,不可作為程序的功能assert()#include unsigned long Factorial(unsigned
20、 int x);.unsigned long Factorial(unsigned int x)unsigned long i, result = 1;assert(x=0);for (i=2; i=x; i+)result *= i;return result;這里的斷言有意義嗎?assert()參加斷言檢查函數(shù)的入口參數(shù)#include 軟件測(cè)試測(cè)試的主要方式給定特定的輸入,運(yùn)行被測(cè)軟件檢查軟件的輸出是否與預(yù)期結(jié)果一致測(cè)試用例的選取方法盡量覆蓋所有分支,減少重復(fù)覆蓋測(cè)試的目的通過運(yùn)行測(cè)試用例找出軟件中的Bug成功的測(cè)試在于發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的Bug測(cè)試人員的主要任務(wù)是站在使用者的角度,通
21、過不斷使用和攻擊,盡可能多的找出Bug測(cè)試的過程就像黑客的攻擊過程,專門找軟件漏洞軟件測(cè)試采用測(cè)試用例,通過運(yùn)行程序查找程序錯(cuò)誤的方法實(shí)質(zhì)是一種抽樣檢查,徹底的測(cè)試是不可能的徹底的測(cè)試不現(xiàn)實(shí),要考慮時(shí)間費(fèi)用等限制,不允許無(wú)休止的測(cè)試測(cè)試只能證明程序有錯(cuò),不能證明程序無(wú)錯(cuò)測(cè)試能提高軟件質(zhì)量,但提高軟件質(zhì)量不能依賴于測(cè)試軟件測(cè)試方法的分類從代碼和用戶使用的角度分類覆蓋性測(cè)試從代碼特性的角度即內(nèi)部出發(fā)的測(cè)試單元測(cè)試,功能測(cè)試,提交測(cè)試,根本驗(yàn)證測(cè)試,回歸測(cè)試使用測(cè)試從用戶的角度即外部出發(fā)的測(cè)試配置測(cè)試,兼容性測(cè)試,性能測(cè)試,Alpha和Beta測(cè)試,強(qiáng)力測(cè)試,文檔和幫助文件測(cè)試軟件測(cè)試方法的分類第2
22、種分類方法白盒測(cè)試構(gòu)造測(cè)試在完全了解程序的構(gòu)造和處理過程的情況下,按照程序內(nèi)部的邏輯測(cè)試程序,檢驗(yàn)程序中的每條邏輯路徑是否都能按預(yù)定要求正確工作主要用于測(cè)試的早期黑盒測(cè)試功能測(cè)試把系統(tǒng)看成一個(gè)黑盒子,不考慮程序內(nèi)部的邏輯構(gòu)造和處理過程,只根據(jù)需求規(guī)格說明書的要求,設(shè)計(jì)測(cè)試用例,檢查程序的功能是否符合它的功能說明主要用于測(cè)試的后期通常結(jié)合使用選擇有限數(shù)量的重要路徑進(jìn)展白盒測(cè)試對(duì)重要的功能需求進(jìn)展黑盒測(cè)試軟件測(cè)試方法的分類第3種分類方法手工測(cè)試依靠人力來(lái)查找Bug自動(dòng)測(cè)試編寫一些測(cè)試工具,讓他們自動(dòng)運(yùn)行來(lái)查找Bug優(yōu)點(diǎn):快,廣泛缺點(diǎn):只能檢查一些最重要的問題,如內(nèi)存泄漏、死機(jī)等,無(wú)法發(fā)現(xiàn)一般性的日
23、常錯(cuò)誤,而且編寫測(cè)試工具的工作量很大軟件測(cè)試方法的分類案例1:微軟開發(fā)Exchange Server時(shí)常常要做強(qiáng)力測(cè)試需要幾萬(wàn)個(gè)甚至幾十萬(wàn)個(gè)用戶同時(shí)把 E-mail發(fā)送到效勞器,以保證Server不會(huì)死機(jī)只能利用測(cè)試工具,自動(dòng)產(chǎn)生幾萬(wàn)個(gè)賬號(hào),同一時(shí)間從不同機(jī)器上同時(shí)發(fā)送E-mail軟件測(cè)試方法的分類案例2:測(cè)試Web頁(yè)面瀏覽器時(shí)要求50000個(gè)用戶同時(shí)瀏覽一個(gè)web頁(yè)面,以保證網(wǎng)站的效勞器不會(huì)死機(jī)通過測(cè)試工具很容易做到,而且工具可以自動(dòng)判斷瀏覽結(jié)果是否正確程序改錯(cuò)是個(gè)大悲大喜的過程,一天之內(nèi)可以讓人在悲傷的低谷和喜悅的巔峰之間跌宕起伏。如果改正了成千上萬(wàn)個(gè)錯(cuò)誤,程序改錯(cuò)改錯(cuò)的第一步是找出錯(cuò)誤的
24、根源,然后對(duì)癥下藥調(diào)試尋找錯(cuò)誤根源的過程改錯(cuò)很像偵破案件,有壞事發(fā)生了,而僅有的信息是它確實(shí)發(fā)生了。必須從結(jié)果出發(fā),逆向思考程序改錯(cuò)難點(diǎn)在于病癥和根源可能相隔很遠(yuǎn)有人問阿凡提:“我肚子疼,該用什么藥?病癥可能在另一個(gè)錯(cuò)誤被糾正后暫時(shí)消失病癥并不是某個(gè)程序錯(cuò)誤引發(fā)的,如誤差累積病癥可能時(shí)隱時(shí)現(xiàn),如“內(nèi)存泄露很難產(chǎn)生完全一樣的輸入條件,難以恢復(fù)“錯(cuò)誤的現(xiàn)場(chǎng)程序中常見的錯(cuò)誤編譯錯(cuò)誤指在編譯過程中發(fā)現(xiàn)的錯(cuò)誤,通常屬于語(yǔ)法錯(cuò)誤即編寫的語(yǔ)句不符合C語(yǔ)言的語(yǔ)法規(guī)那么Undefined symbol xxx 標(biāo)識(shí)符xxx未定義Expression syntax error 表達(dá)式語(yǔ)法錯(cuò)誤Too few par
25、ameter in call 函數(shù)調(diào)用時(shí)的實(shí)參少于函數(shù)的形參運(yùn)行時(shí)錯(cuò)誤指在程序運(yùn)行時(shí)發(fā)生的錯(cuò)誤往往是由于語(yǔ)義上的錯(cuò)誤造成的即語(yǔ)句雖然符合語(yǔ)法,但要求計(jì)算機(jī)去做不該做或做不到的事情。當(dāng)用0做除數(shù)時(shí),運(yùn)行后將顯示“Division by zero錯(cuò)誤提示信息,并立即返回編輯屏幕程序中常見的錯(cuò)誤邏輯錯(cuò)誤不影響程序運(yùn)行,但運(yùn)行結(jié)果不正確比較隱蔽,出錯(cuò)后不易查找變量未初始化,數(shù)組下標(biāo)越界,數(shù)據(jù)類型溢出,運(yùn)算符寫錯(cuò),.例如,關(guān)系運(yùn)算符= 錯(cuò)寫成 賦值運(yùn)算符=if (a = b) printf(yes); /*導(dǎo)致運(yùn)行結(jié)果錯(cuò)誤*/Warning:Possibly incorrect assignment i
26、n function main程序中常見的錯(cuò)誤錯(cuò)誤案例判斷字符是大寫字符或者小寫字符(a = ch = z) | (A = ch =a&ch=A&ch=Z)/*正確*/判斷字符是數(shù)字字符0 = ch = 0 & ch = 9 /*正確*/錯(cuò)誤案例數(shù)據(jù)類型由高向低賦值時(shí),進(jìn)展類型轉(zhuǎn)換后導(dǎo)致信息喪失double a, b;int sum;sum = a + b;TC下編譯,不提示任何錯(cuò)誤VC下編譯warning C4244: = : conversion from double to int , possible loss of data錯(cuò)誤案例函數(shù)聲明時(shí)的返回值類型與實(shí)際返回的數(shù)據(jù)類型不一致,導(dǎo)致自動(dòng)類型轉(zhuǎn)換double Add(double a, double b) int sum; return sum; /不提示warning int Add(double a, double b) double sum; return sum; warning C4244: return : conversion from double to int , possible loss of data程序調(diào)試的根本方法利用調(diào)試工具單步運(yùn)行,逐條語(yǔ)句跟
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 腹腔導(dǎo)管引流護(hù)理常規(guī)
- 營(yíng)養(yǎng)支持治療廣州話講解
- 我院抗菌藥物使用統(tǒng)計(jì)
- 腹股溝疝氣的術(shù)后護(hù)理
- 2025年培訓(xùn)機(jī)構(gòu)協(xié)議書范本
- 吞咽困難康復(fù)護(hù)理
- 肺腫瘤術(shù)后護(hù)理方法
- 畢業(yè)論文答辯模板141
- 高考押題議論文素材和寫作指導(dǎo):主題奮斗精神+素材+寫作思路+開頭講解+主體段結(jié)構(gòu)-2025年高考語(yǔ)文作文素材運(yùn)用
- 2025屆高三英語(yǔ)基礎(chǔ)寫作之倡議書:倡議志愿者活動(dòng)課件共27張
- 2025屆上海市寶山區(qū)行知中學(xué)高一數(shù)學(xué)第二學(xué)期期末統(tǒng)考試題含解析
- 不交社保的勞務(wù)合同模版
- 中國(guó)稅制-稅收與百姓生活智慧樹知到期末考試答案章節(jié)答案2024年云南師范大學(xué)
- 無(wú)人機(jī)足球團(tuán)體對(duì)抗賽項(xiàng)目競(jìng)賽規(guī)則
- 《建筑材料》教案
- DB3502-Z 5043-2018 浮筑樓板應(yīng)用技術(shù)規(guī)程
- 娃哈哈事件看公司治理-案例分析
- 成都市新津區(qū)招聘教師考試試題及答案
- AIAG-VDA-PFMEA表格模板(自動(dòng)計(jì)算AP)
- 妊娠便秘疾病演示課件
- 種植體周圍炎的預(yù)防及治療
評(píng)論
0/150
提交評(píng)論