




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、C語言程序設計地球物理與信息工程學院計算機系地球物理與信息工程學院計算機系第第7章章利用函數(shù)實現(xiàn)模塊化程序設計利用函數(shù)實現(xiàn)模塊化程序設計第7章 利用函數(shù)實現(xiàn)模塊化程序設計2第第7章章 用函數(shù)實現(xiàn)模塊化程序設計用函數(shù)實現(xiàn)模塊化程序設計7.1 為什么要用函數(shù)為什么要用函數(shù)7.2 怎樣定義函數(shù)怎樣定義函數(shù)7.3 調(diào)用函數(shù)調(diào)用函數(shù)7.4 對被調(diào)用函數(shù)的聲明和函數(shù)原型對被調(diào)用函數(shù)的聲明和函數(shù)原型7.5 函數(shù)的嵌套調(diào)用函數(shù)的嵌套調(diào)用7.6 函數(shù)的遞歸調(diào)用函數(shù)的遞歸調(diào)用7.7 數(shù)組作為函數(shù)參數(shù)數(shù)組作為函數(shù)參數(shù)7.8 局部變量和全局變量局部變量和全局變量7.9 變量的存儲方式和生存期變量的存儲方式和生存期7.
2、10 關于變量的聲明和定義關于變量的聲明和定義7.11 內(nèi)部函數(shù)和外部函數(shù)內(nèi)部函數(shù)和外部函數(shù)第7章 利用函數(shù)實現(xiàn)模塊化程序設計3第第7章章 用函數(shù)實現(xiàn)模塊化程序設計用函數(shù)實現(xiàn)模塊化程序設計7.1 為什么要用函數(shù)為什么要用函數(shù)7.2 怎樣定義函數(shù)怎樣定義函數(shù)7.3 調(diào)用函數(shù)調(diào)用函數(shù)7.4 對被調(diào)用函數(shù)的聲明和函數(shù)原型對被調(diào)用函數(shù)的聲明和函數(shù)原型7.5 函數(shù)的嵌套調(diào)用函數(shù)的嵌套調(diào)用7.6 函數(shù)的遞歸調(diào)用函數(shù)的遞歸調(diào)用7.7 數(shù)組作為函數(shù)參數(shù)數(shù)組作為函數(shù)參數(shù)7.8 局部變量和全局變量局部變量和全局變量7.9 變量的存儲方式和生存期變量的存儲方式和生存期7.10 關于變量的聲明和定義關于變量的聲明和定
3、義7.11 內(nèi)部函數(shù)和外部函數(shù)內(nèi)部函數(shù)和外部函數(shù)第7章 利用函數(shù)實現(xiàn)模塊化程序設計4本章主要內(nèi)容本章主要內(nèi)容 函數(shù)的有關概念函數(shù)的有關概念l定義定義l調(diào)用調(diào)用l參數(shù)參數(shù)l返回值返回值l函數(shù)原型聲函數(shù)原型聲明明 函數(shù)嵌套調(diào)用函數(shù)嵌套調(diào)用 函數(shù)遞歸調(diào)用函數(shù)遞歸調(diào)用 數(shù)組名作函數(shù)參數(shù)數(shù)組名作函數(shù)參數(shù) 內(nèi)部變量與外部變內(nèi)部變量與外部變量量 變量的存儲方式變量的存儲方式 變量聲明定義的區(qū)變量聲明定義的區(qū)別別 內(nèi)部函數(shù)與外部函內(nèi)部函數(shù)與外部函數(shù)數(shù)例題例題 習題習題 典型算法典型算法函數(shù)參數(shù)單向值傳遞問題函數(shù)參數(shù)單向值傳遞問題多層嵌套調(diào)用多層嵌套調(diào)用函數(shù)遞歸調(diào)用函數(shù)遞歸調(diào)用數(shù)組名作參數(shù)數(shù)組名作參數(shù)排序排序求
4、最大值最小值求最大值最小值字符串處理字符串處理第7章 利用函數(shù)實現(xiàn)模塊化程序設計57.1 為什么要用函數(shù)為什么要用函數(shù)復雜問題復雜問題模塊化程序設計模塊化程序設計函數(shù)實現(xiàn)一個特定的功能函數(shù)實現(xiàn)一個特定的功能每個函數(shù)可以被使用多次每個函數(shù)可以被使用多次-復用復用第7章 利用函數(shù)實現(xiàn)模塊化程序設計6mainabcfghdeie用函數(shù)解決復雜問題用函數(shù)解決復雜問題第7章 利用函數(shù)實現(xiàn)模塊化程序設計7可以使用可以使用庫函數(shù)庫函數(shù)可以使用可以使用自己編寫的函數(shù)自己編寫的函數(shù)在程序設計中在程序設計中要善于利用函數(shù)要善于利用函數(shù)可以可以減少重復編寫程序段的工作量減少重復編寫程序段的工作量同時可以同時可以方便
5、地實現(xiàn)模塊化的程序設計方便地實現(xiàn)模塊化的程序設計可以使用哪些函數(shù)?可以使用哪些函數(shù)?第7章 利用函數(shù)實現(xiàn)模塊化程序設計8例題例題7-1例例7.1 輸出以下的結果,用函數(shù)調(diào)用實現(xiàn)。輸出以下的結果,用函數(shù)調(diào)用實現(xiàn)。*How do you do!*第7章 利用函數(shù)實現(xiàn)模塊化程序設計9#include int main() void print_star( ); /聲明函數(shù)聲明函數(shù) void print_message( ); /聲明函數(shù)聲明函數(shù) print_star( ); /調(diào)用函數(shù)調(diào)用函數(shù) print_message( ); /調(diào)用函數(shù)調(diào)用函數(shù) print_star( ); /調(diào)用函數(shù)調(diào)用函數(shù)
6、return 0;void print_star( ) /定義函數(shù)定義函數(shù) printf(*n); void print_message( ) /定義函數(shù)定義函數(shù) printf( How do you do!n); 第7章 利用函數(shù)實現(xiàn)模塊化程序設計10一個程序由一個或多個程序模塊組成,一個程序由一個或多個程序模塊組成,每一個程序模塊作為一個源程序文件每一個程序模塊作為一個源程序文件 一個源程序文件由一個或多個函數(shù)以及其一個源程序文件由一個或多個函數(shù)以及其他有關內(nèi)容(如預處理指令、數(shù)據(jù)聲明與他有關內(nèi)容(如預處理指令、數(shù)據(jù)聲明與定義等)組定義等)組成成程序的執(zhí)行是從程序的執(zhí)行是從main函數(shù)開始
7、的,如果函數(shù)開始的,如果在在main函數(shù)中調(diào)用其他函數(shù),在調(diào)用后流函數(shù)中調(diào)用其他函數(shù),在調(diào)用后流程返回到程返回到main函數(shù),在函數(shù),在main函數(shù)中結束整函數(shù)中結束整個程序的運行。個程序的運行。所有函數(shù)都是平行的,即在定義函數(shù)時是所有函數(shù)都是平行的,即在定義函數(shù)時是分別進行的,是互相獨立的。即函數(shù)不能分別進行的,是互相獨立的。即函數(shù)不能嵌套定義嵌套定義說明:說明:第7章 利用函數(shù)實現(xiàn)模塊化程序設計11從用戶使用的角度看,函數(shù)有兩種從用戶使用的角度看,函數(shù)有兩種 庫函數(shù)庫函數(shù) 用戶自己定義的函數(shù)用戶自己定義的函數(shù)從函數(shù)的形式看,函數(shù)分兩類從函數(shù)的形式看,函數(shù)分兩類 無參函數(shù)無參函數(shù) 有參函有參
8、函數(shù)數(shù)函數(shù)的種類函數(shù)的種類第7章 利用函數(shù)實現(xiàn)模塊化程序設計127.2 怎樣定義函數(shù)怎樣定義函數(shù)7.2.1 為什么要定義函數(shù)為什么要定義函數(shù)7.2.2 定義函數(shù)的方法定義函數(shù)的方法第7章 利用函數(shù)實現(xiàn)模塊化程序設計137.2.1 為什么要定義函數(shù)為什么要定義函數(shù)C語言要求,在程序中用到的所有函數(shù),語言要求,在程序中用到的所有函數(shù),必須必須先定義,后使用先定義,后使用 指定函數(shù)的名字指定函數(shù)的名字,以便以后按名調(diào)用,以便以后按名調(diào)用 指定函數(shù)類型指定函數(shù)類型,即函數(shù)返回值的類型,即函數(shù)返回值的類型 指定函數(shù)參數(shù)的名字和類型指定函數(shù)參數(shù)的名字和類型,以便在調(diào)用函,以便在調(diào)用函數(shù)時向它們傳遞數(shù)據(jù)數(shù)時
9、向它們傳遞數(shù)據(jù) 指定函數(shù)的功能指定函數(shù)的功能。這是最重要的,這是在函。這是最重要的,這是在函數(shù)體中解決的數(shù)體中解決的第7章 利用函數(shù)實現(xiàn)模塊化程序設計14p 對于對于庫函數(shù),程序設計者只需用庫函數(shù),程序設計者只需用#include指令把有關的頭文件包含到本文件模塊中指令把有關的頭文件包含到本文件模塊中即可即可 #include #include #include第7章 利用函數(shù)實現(xiàn)模塊化程序設計157.2.2 定義函數(shù)的方法定義函數(shù)的方法1、定義無參函數(shù)定義無參函數(shù)定義無參函數(shù)的一般形定義無參函數(shù)的一般形式為式為:類型名類型名 函數(shù)名函數(shù)名 (void) 函數(shù)體函數(shù)體 類型名類型名 函數(shù)名函數(shù)
10、名( ) 函數(shù)體函數(shù)體 第7章 利用函數(shù)實現(xiàn)模塊化程序設計162、定義有參函數(shù)定義有參函數(shù)定義有參函數(shù)的一般形式為定義有參函數(shù)的一般形式為:類型名類型名 函數(shù)名函數(shù)名(形式參數(shù)表列形式參數(shù)表列) 函數(shù)體函數(shù)體第7章 利用函數(shù)實現(xiàn)模塊化程序設計173、定義空函數(shù)定義空函數(shù)定義定義空空函數(shù)的一般形式為函數(shù)的一般形式為:類型名類型名 函數(shù)名函數(shù)名( ) 作用:作用:先用空函數(shù)占一個位置,以后先用空函數(shù)占一個位置,以后逐逐步步擴充擴充好處好處:程序結構清楚,可讀性好,以后程序結構清楚,可讀性好,以后擴充新功擴充新功 能方便,對程序結構影響能方便,對程序結構影響不大不大第7章 利用函數(shù)實現(xiàn)模塊化程序設計
11、187.3 調(diào)用函數(shù)調(diào)用函數(shù)7.3.1 函數(shù)調(diào)用的形式函數(shù)調(diào)用的形式7.3.2 函數(shù)調(diào)用時的數(shù)據(jù)傳遞函數(shù)調(diào)用時的數(shù)據(jù)傳遞7.3.3 函數(shù)調(diào)用的過程函數(shù)調(diào)用的過程7.3.4 函數(shù)的返回值函數(shù)的返回值第7章 利用函數(shù)實現(xiàn)模塊化程序設計197.3.1 函數(shù)調(diào)用的形式函數(shù)調(diào)用的形式按函數(shù)調(diào)用在程序中出現(xiàn)的形式和位置來按函數(shù)調(diào)用在程序中出現(xiàn)的形式和位置來分,可以有以下分,可以有以下3種函數(shù)調(diào)用方式種函數(shù)調(diào)用方式:. 函數(shù)調(diào)用語句函數(shù)調(diào)用語句u把函數(shù)調(diào)用單獨作為一個語句把函數(shù)調(diào)用單獨作為一個語句, 如如 printf_star();u這時不要求函數(shù)帶回值,只要求函數(shù)完成一定的操作這時不要求函數(shù)帶回值,只要
12、求函數(shù)完成一定的操作第7章 利用函數(shù)實現(xiàn)模塊化程序設計20. 函數(shù)表達式函數(shù)表達式u函數(shù)調(diào)用出現(xiàn)在另一個表達式中函數(shù)調(diào)用出現(xiàn)在另一個表達式中, 如如u c=max(a,b);u這時要求函數(shù)帶回一個確定的值以參加表達式的運算這時要求函數(shù)帶回一個確定的值以參加表達式的運算. 函數(shù)參數(shù)函數(shù)參數(shù)函數(shù)調(diào)用作為另一函數(shù)調(diào)用時的實參函數(shù)調(diào)用作為另一函數(shù)調(diào)用時的實參, 如如 mmax(a,max(b,c);其中其中max(b,c)是一次函數(shù)調(diào)用,它的值作為是一次函數(shù)調(diào)用,它的值作為max另一次調(diào)用的實參另一次調(diào)用的實參第7章 利用函數(shù)實現(xiàn)模塊化程序設計217.3.2 函數(shù)調(diào)用時的數(shù)據(jù)傳遞函數(shù)調(diào)用時的數(shù)據(jù)傳遞
13、1.1.形式參數(shù)和實際參數(shù)形式參數(shù)和實際參數(shù)定義函數(shù)時函數(shù)名后面的變量名稱為定義函數(shù)時函數(shù)名后面的變量名稱為形式形式參數(shù)參數(shù)(簡稱(簡稱形參形參)主調(diào)函數(shù)中調(diào)用一個函數(shù)時,函數(shù)名后面參主調(diào)函數(shù)中調(diào)用一個函數(shù)時,函數(shù)名后面參數(shù)稱為數(shù)稱為實際參數(shù)實際參數(shù)(簡稱(簡稱實參實參)p形式參數(shù)形式參數(shù)是在首行定義的變量等!是在首行定義的變量等!p實際參數(shù)實際參數(shù)可以是常量、變量或表達式可以是常量、變量或表達式第7章 利用函數(shù)實現(xiàn)模塊化程序設計222.2.實參和形參間的數(shù)據(jù)傳遞實參和形參間的數(shù)據(jù)傳遞在調(diào)用函數(shù)過程中,系統(tǒng)會把實參的值傳遞在調(diào)用函數(shù)過程中,系統(tǒng)會把實參的值傳遞給被調(diào)用函數(shù)的形參給被調(diào)用函數(shù)的形
14、參或者說,或者說,形參從實參得到一個值形參從實參得到一個值該值在函數(shù)調(diào)用期間有效,可以參加該值在函數(shù)調(diào)用期間有效,可以參加被調(diào)被調(diào)函函數(shù)中的運算數(shù)中的運算從從實參實參到到形參形參的值傳遞的的值傳遞的單向單向的!沒有返回的!沒有返回的過程!的過程!單向值傳遞!單向值傳遞!第7章 利用函數(shù)實現(xiàn)模塊化程序設計23例例7.2 輸入兩個整數(shù),要求輸出其中值較大輸入兩個整數(shù),要求輸出其中值較大者。者。 要求用函數(shù)來找到大數(shù)。要求用函數(shù)來找到大數(shù)。先編寫先編寫max函數(shù):函數(shù):int max(int x,int y) int z; z=xy?x:y; return(z); 第7章 利用函數(shù)實現(xiàn)模塊化程序設計
15、24#include int main() int max(int x,int y); int a,b,c; printf(two integer numbers: ); scanf(%d,%d,&a,&b); c=max(a,b); printf(max is %dn,c); 實參可以是常量、變量或表達式實參可以是常量、變量或表達式第7章 利用函數(shù)實現(xiàn)模塊化程序設計25int max(int x, int y ) int z; z=xy?x:y; return(z); #include int main() int max(int x,int y); int a,b,c; p
16、rintf(two integer numbers: ); scanf(%d,%d,&a,&b); c=max( a , b ); printf(max is %dn,c); 調(diào)用時:調(diào)用時:從實參到形參,單向值傳遞!從實參到形參,單向值傳遞!返回時:返回時:帶回一個值!帶回一個值!第7章 利用函數(shù)實現(xiàn)模塊化程序設計267.3.3 函數(shù)調(diào)用的過程函數(shù)調(diào)用的過程在定義函數(shù)中指定的形參,在未出現(xiàn)函數(shù)在定義函數(shù)中指定的形參,在未出現(xiàn)函數(shù)調(diào)用時,它們并不占內(nèi)存中的存儲單元。調(diào)用時,它們并不占內(nèi)存中的存儲單元。在發(fā)生函數(shù)調(diào)用時,函數(shù)在發(fā)生函數(shù)調(diào)用時,函數(shù)max的形參被臨的形參被臨時分配內(nèi)
17、存單元。時分配內(nèi)存單元。2a3bxy23實參實參形參形參第7章 利用函數(shù)實現(xiàn)模塊化程序設計27調(diào)用結束,形參單元被釋放調(diào)用結束,形參單元被釋放實參單元仍保留并維持原值,沒有改變實參單元仍保留并維持原值,沒有改變?nèi)绻趫?zhí)行一個被調(diào)用函數(shù)時,如果在執(zhí)行一個被調(diào)用函數(shù)時,形參的值發(fā)生形參的值發(fā)生改變,改變,2a3bxy23實參實參形參形參不會改變主調(diào)函數(shù)的實參的值不會改變主調(diào)函數(shù)的實參的值! !第7章 利用函數(shù)實現(xiàn)模塊化程序設計28#include int main() int f(int x,int y); int a=5,b=8; printf(a=%d,b=%dn,a,b); f(a,b);
18、printf(a=%d,b=%dn,a,b); return 0;int f(int x,int y) x=x+9; y=y*3; return 0;第7章 利用函數(shù)實現(xiàn)模塊化程序設計29#include int main() int f(int x,int y); int a=5,b=8; printf(a=%d,b=%dn,a,b); f(a,b); printf(a=%d,b=%dn,a,b); return 0;int f(int x,int y) x=x+9; y=y*3; printf(x=%d,y=%dn,x,y); return 0;第7章 利用函數(shù)實現(xiàn)模塊化程序設計30#in
19、clude int main() int f(int x,int y); int a=5,b=8; printf(a=%d,b=%dn,a,b); f( a , b ); printf(a=%d,b=%dn,a,b); return 0;int f(int x , int y ) x=x+9; y=y*3; printf(x=%d,y=%dn,x,y); return 0;a到到x,b到到y(tǒng),都是單向傳遞的,都是單向傳遞的沒有沒有x到到a,y到到b的傳遞的傳遞第7章 利用函數(shù)實現(xiàn)模塊化程序設計31#include int main() int f(int x,int y); int a=5,b
20、=8; printf(a=%d,b=%dn,a,b); f( a+6 , b+8 ); printf(a=%d,b=%dn,a,b); return 0;int f(int x , int y ) x=x+9; y=y*3; printf(x=%d,y=%dn,x,y); return 0;第7章 利用函數(shù)實現(xiàn)模塊化程序設計327.3.4 函數(shù)的返回值函數(shù)的返回值希望通過函數(shù)調(diào)用使主調(diào)函數(shù)能得到希望通過函數(shù)調(diào)用使主調(diào)函數(shù)能得到確定的值確定的值, 這就是這就是函數(shù)值函數(shù)值(函數(shù)的返回值函數(shù)的返回值) 函數(shù)的返回值是通過函數(shù)中的函數(shù)的返回值是通過函數(shù)中的return語句獲得的語句獲得的 一個函數(shù)中
21、可以有一個以上的一個函數(shù)中可以有一個以上的return語句語句, 執(zhí)行到哪一個執(zhí)行到哪一個return語句語句, 哪一個哪一個就就起作用起作用 return語句后面的括號可以不要語句后面的括號可以不要u函數(shù)值的類型函數(shù)值的類型, 應當在定義函數(shù)時指定函數(shù)值的類型應當在定義函數(shù)時指定函數(shù)值的類型u在定義函數(shù)時指定的函數(shù)類型一般應該和在定義函數(shù)時指定的函數(shù)類型一般應該和return語句中的語句中的表達式類型一致表達式類型一致u如果函數(shù)值的類型和如果函數(shù)值的類型和return語句中表達式的值不一致語句中表達式的值不一致, 則則以函數(shù)類型為準以函數(shù)類型為準第7章 利用函數(shù)實現(xiàn)模塊化程序設計33例例7.
22、3#include int main() int max(float x,float y); float a,b; int c; scanf(%f,%f,&a,&b); c=max(a,b); printf(max is %dn,c); return 0;int max(float x, float y) float z; z=xy?x:y; return( z ) ;第7章 利用函數(shù)實現(xiàn)模塊化程序設計34例例7.3#include int main() int max(float x,float y); float a,b; float c; scanf(%f,%f,&
23、;a,&b); c=max(a,b); printf(max is %f n,c); return 0;int max(float x, float y) float z; z=xy?x:y; return( z ) ;第7章 利用函數(shù)實現(xiàn)模塊化程序設計35例例7.3#include int main() float max(float x,float y); float a,b; float c; scanf(%f,%f,&a,&b); c=max(a,b); printf(max is %f n,c); return 0;float max(float x, flo
24、at y) float z; z=xy?x:y; return( z ) ;第7章 利用函數(shù)實現(xiàn)模塊化程序設計367.4 對被調(diào)用函數(shù)的聲明和函數(shù)原型對被調(diào)用函數(shù)的聲明和函數(shù)原型 在一個函數(shù)中調(diào)用另一個函數(shù)需要具備在一個函數(shù)中調(diào)用另一個函數(shù)需要具備如下條件:如下條件:被調(diào)用函數(shù)必須是已經(jīng)定義的函數(shù)(是庫函被調(diào)用函數(shù)必須是已經(jīng)定義的函數(shù)(是庫函數(shù)或用戶自己定義的函數(shù))數(shù)或用戶自己定義的函數(shù))如果使用庫函數(shù),應該在本文件開頭如果使用庫函數(shù),應該在本文件開頭加相應加相應的的#include指令指令如果使用自己定義的函數(shù),而該函數(shù)的位置如果使用自己定義的函數(shù),而該函數(shù)的位置在調(diào)用它的函數(shù)后面,在調(diào)用它
25、的函數(shù)后面,應該聲明應該聲明第7章 利用函數(shù)實現(xiàn)模塊化程序設計37用用add函數(shù)實現(xiàn)函數(shù)實現(xiàn)求和。在求和。在main函數(shù)中輸入函數(shù)中輸入輸出。輸出。求得的和是求得的和是float型,型,add函數(shù)為函數(shù)為float型型。add有兩個參數(shù),也分別是有兩個參數(shù),也分別是float型,型,float型。型。使用使用add函數(shù)前要有聲明。函數(shù)前要有聲明。例例7.4 輸入兩個實數(shù),用一個函數(shù)求出它們之輸入兩個實數(shù),用一個函數(shù)求出它們之和。和。第7章 利用函數(shù)實現(xiàn)模塊化程序設計38#include int main() float add(float x, float y); float a,b,c; p
26、rintf(Please enter a and b:); scanf(%f,%f,&a,&b); c=add(a,b); printf(sum is %fn,c); return 0;float add(float x,float y) float z; z=x+y; return(z); 第7章 利用函數(shù)實現(xiàn)模塊化程序設計39#include int main() float add(float m, float n); float a,b,c; printf(Please enter a and b:); scanf(%f,%f,&a,&b); c=add
27、(a,b); printf(sum is %fn,c); return 0;float add(float m,float n) float z; z=m+n; return(z); 第7章 利用函數(shù)實現(xiàn)模塊化程序設計40#include int main() float add(float u, float v); float a,b,c; printf(Please enter a and b:); scanf(%f,%f,&a,&b); c=add(a,b); printf(sum is %fn,c); return 0;float add(float u,float v
28、) float z; z=u+v; return(z); 第7章 利用函數(shù)實現(xiàn)模塊化程序設計41#include int main() float add(float , float ); float a,b,c; printf(Please enter a and b:); scanf(%f,%f,&a,&b); c=add(a,b); printf(sum is %fn,c); return 0;float add(float x,float y) float z; z=x+y; return(z); 第7章 利用函數(shù)實現(xiàn)模塊化程序設計42 函數(shù)原型一般形式有兩種函數(shù)原型一
29、般形式有兩種: float add(float x, float y); float add(float, float); 原型說明可以放在文件的開頭,這時所有原型說明可以放在文件的開頭,這時所有函數(shù)都可以使用此函數(shù)函數(shù)都可以使用此函數(shù)第7章 利用函數(shù)實現(xiàn)模塊化程序設計43例題例題編寫一個函數(shù),判斷一個數(shù)是否是素數(shù)編寫一個函數(shù),判斷一個數(shù)是否是素數(shù)分析,輸入分析,輸入m判斷判斷m是否是素數(shù)是否是素數(shù)如果是,輸出如果是,輸出1,如果不是,輸出,如果不是,輸出0應該是從實參傳來應該是從實參傳來m的值,的值,m是形參。函數(shù)是形參。函數(shù)的返回值是的返回值是1代表是素數(shù),代表是素數(shù),0代表不是素數(shù)代表不
30、是素數(shù)第7章 利用函數(shù)實現(xiàn)模塊化程序設計44int prime(int m) int i; for(i=2;im;i+) if(m%i=0)return 0; return 1;再編寫一個主函數(shù),求再編寫一個主函數(shù),求200以內(nèi)的孿生素數(shù)。孿生素以內(nèi)的孿生素數(shù)。孿生素數(shù)是差是數(shù)是差是2的素數(shù),如:的素數(shù),如:3和和5,5和和7,等等,等等第7章 利用函數(shù)實現(xiàn)模塊化程序設計45#include int main() int prime(int m); int m; for(m=3;m198;m+=2) if(prime(m)&prime(m+2) printf(%3d,%3dn,m,m+
31、2);int prime(int m) int i; for(i=2;im;i+) if(m%i=0)return 0; return 1;第7章 利用函數(shù)實現(xiàn)模塊化程序設計46第第7章章 用函數(shù)實現(xiàn)模塊化程序設計用函數(shù)實現(xiàn)模塊化程序設計7.1 為什么要用函數(shù)為什么要用函數(shù)7.2 怎樣定義函數(shù)怎樣定義函數(shù)7.3 調(diào)用函數(shù)調(diào)用函數(shù)7.4 對被調(diào)用函數(shù)的聲明和函數(shù)原型對被調(diào)用函數(shù)的聲明和函數(shù)原型7.5 函數(shù)的嵌套調(diào)用函數(shù)的嵌套調(diào)用7.6 函數(shù)的遞歸調(diào)用函數(shù)的遞歸調(diào)用7.7 數(shù)組作為函數(shù)參數(shù)數(shù)組作為函數(shù)參數(shù)7.8 局部變量和全局變量局部變量和全局變量7.9 變量的存儲方式和生存期變量的存儲方式和生存
32、期7.10 關于變量的聲明和定義關于變量的聲明和定義7.11 內(nèi)部函數(shù)和外部函數(shù)內(nèi)部函數(shù)和外部函數(shù)第7章 利用函數(shù)實現(xiàn)模塊化程序設計477.5 函數(shù)的嵌套調(diào)用函數(shù)的嵌套調(diào)用 語言的函數(shù)定義是互相平行、獨立的語言的函數(shù)定義是互相平行、獨立的 即即函數(shù)不能嵌套定義函數(shù)不能嵌套定義 但可以嵌套調(diào)用函數(shù)但可以嵌套調(diào)用函數(shù) 即即調(diào)用一個函數(shù)的過程中,又調(diào)用一個函數(shù)的過程中,又可以可以調(diào)用另調(diào)用另一個函數(shù)一個函數(shù)第7章 利用函數(shù)實現(xiàn)模塊化程序設計48main函數(shù)函數(shù)調(diào)用調(diào)用a函數(shù)函數(shù)結束結束a函數(shù)函數(shù)調(diào)用調(diào)用b函數(shù)函數(shù)b函數(shù)函數(shù)第7章 利用函數(shù)實現(xiàn)模塊化程序設計49例例7.5 輸入輸入4個整數(shù),找出其中最
33、大的數(shù)。用函數(shù)的個整數(shù),找出其中最大的數(shù)。用函數(shù)的嵌套調(diào)用來處理。嵌套調(diào)用來處理。解題思路:解題思路: main只負責輸入輸出,把求只負責輸入輸出,把求4個數(shù)的最大值的任個數(shù)的最大值的任務交給一個務交給一個max4函數(shù)去做。現(xiàn)在就需要編寫一個函數(shù)去做?,F(xiàn)在就需要編寫一個max4函數(shù),完成求函數(shù),完成求4個數(shù)的最大值個數(shù)的最大值 max4函數(shù)求最大值時,調(diào)用函數(shù)求最大值時,調(diào)用max2函數(shù)求兩個數(shù)函數(shù)求兩個數(shù)的較大值。的較大值。1. max函數(shù)以前我們編寫過函數(shù)以前我們編寫過第7章 利用函數(shù)實現(xiàn)模塊化程序設計50#include int main() int max4(int a,int b,i
34、nt c,int d); int a,b,c,d,max; printf(4 interger numbers:); scanf(%d%d%d%d,&a,&b,&c,&d); max=max4(a,b,c,d); printf(max=%d n,max); return 0; 第7章 利用函數(shù)實現(xiàn)模塊化程序設計51int max4(int a,int b,int c,int d) int max2(int a,int b); int m; m=max2(a,b); m=max2(m,c); m=max2(m,d); return(m); int max2(int
35、 a,int b) if(ab) return a; else return b; 第7章 利用函數(shù)實現(xiàn)模塊化程序設計52第第7章章 用函數(shù)實現(xiàn)模塊化程序設計用函數(shù)實現(xiàn)模塊化程序設計7.1 為什么要用函數(shù)為什么要用函數(shù)7.2 怎樣定義函數(shù)怎樣定義函數(shù)7.3 調(diào)用函數(shù)調(diào)用函數(shù)7.4 對被調(diào)用函數(shù)的聲明和函數(shù)原型對被調(diào)用函數(shù)的聲明和函數(shù)原型7.5 函數(shù)的嵌套調(diào)用函數(shù)的嵌套調(diào)用7.6 函數(shù)的遞歸調(diào)用函數(shù)的遞歸調(diào)用7.7 數(shù)組作為函數(shù)參數(shù)數(shù)組作為函數(shù)參數(shù)7.8 局部變量和全局變量局部變量和全局變量7.9 變量的存儲方式和生存期變量的存儲方式和生存期7.10 關于變量的聲明和定義關于變量的聲明和定義7.
36、11 內(nèi)部函數(shù)和外部函數(shù)內(nèi)部函數(shù)和外部函數(shù)第7章 利用函數(shù)實現(xiàn)模塊化程序設計537.6 函數(shù)的遞歸調(diào)用函數(shù)的遞歸調(diào)用 在調(diào)用一個函數(shù)的過程中又出現(xiàn)直接或間在調(diào)用一個函數(shù)的過程中又出現(xiàn)直接或間接地調(diào)用該函數(shù)本身,稱為函數(shù)的接地調(diào)用該函數(shù)本身,稱為函數(shù)的遞歸調(diào)遞歸調(diào)用用。 語言的特點之一就在于允許函數(shù)的遞歸語言的特點之一就在于允許函數(shù)的遞歸調(diào)用。調(diào)用。第7章 利用函數(shù)實現(xiàn)模塊化程序設計54 f2函數(shù)函數(shù)調(diào)用調(diào)用f1函數(shù)函數(shù) int f(int x) int y,z; z=f(y); return (2*z); f函數(shù)函數(shù)調(diào)用調(diào)用f函數(shù)函數(shù) f1函數(shù)函數(shù)調(diào)用調(diào)用f2函數(shù)函數(shù)應使用應使用if語句控制結
37、束調(diào)用語句控制結束調(diào)用直接調(diào)用本函數(shù)直接調(diào)用本函數(shù)間接調(diào)用本函數(shù)間接調(diào)用本函數(shù)第7章 利用函數(shù)實現(xiàn)模塊化程序設計55 例例7.6 有有5個學生坐在一起個學生坐在一起u問第問第5個學生多少歲?他說比第個學生多少歲?他說比第4個學生大個學生大2歲歲u問第問第4個學生多少歲?他說比第個學生多少歲?他說比第3個學生大個學生大2歲歲u問第問第3個學生多少歲?他說比第個學生多少歲?他說比第2個學生大個學生大2歲歲u問第問第2個學生多少歲?他說比第個學生多少歲?他說比第1個學生大個學生大2歲歲u問第問第1個學生多少歲?他說是個學生多少歲?他說是10歲歲請問第請問第5個學生多大個學生多大第7章 利用函數(shù)實現(xiàn)模
38、塊化程序設計56解題思路:解題思路:age(5)=age(4)+2age(4)=age(3)+2age(3)=age(2)+2age(2)=age(1)+2age(1)=10) 1n(2) 1n(age)n(age) 1n(10)n(age第7章 利用函數(shù)實現(xiàn)模塊化程序設計57 #include int main() int age(int n); printf(NO.5,age:%dn,age(5); return 0; int age(int n) int c; if(n=1) c=10; else c=age(n-1)+2; return(c); ) 1n(2) 1n(age)n(age
39、) 1n(10)n(age第7章 利用函數(shù)實現(xiàn)模塊化程序設計58例例7.7 用遞歸方法求!用遞歸方法求!解題思路:解題思路:找出求階乘的遞推公式找出求階乘的遞推公式)n()!n(n),n(!n!n11101編寫一個編寫一個遞歸函數(shù)遞歸函數(shù)實現(xiàn)遞推公式實現(xiàn)遞推公式主函數(shù)中輸入,調(diào)用被調(diào)函數(shù),輸出主函數(shù)中輸入,調(diào)用被調(diào)函數(shù),輸出第7章 利用函數(shù)實現(xiàn)模塊化程序設計59int fac(int n) int f; if(n0) printf(n0,data error!); else if(n=0 | | n=1) f=1; else f=fac(n-1)*n; return(f); )n()!n(n)
40、,n(!n!n11101第7章 利用函數(shù)實現(xiàn)模塊化程序設計60#include int main() int fac(int n); int n; int y; printf(input an integer number:); scanf(%d,&n); y=fac(n); printf(%d!=%dn,n,y); return 0;第7章 利用函數(shù)實現(xiàn)模塊化程序設計61再例:猴子吃桃問題再例:猴子吃桃問題先找出遞推公式,編寫一個函數(shù)實現(xiàn)遞推先找出遞推公式,編寫一個函數(shù)實現(xiàn)遞推公式,再編寫主函數(shù)調(diào)用,輸出結果。公式,再編寫主函數(shù)調(diào)用,輸出結果。 時時當當(時時當當10n1, 2*)1
41、)1n(peach10n, 1)n(peach第7章 利用函數(shù)實現(xiàn)模塊化程序設計62#includeint peach(int n) int p; if(n=10) p=1; else p=(peach(n+1)+1)*2; return(p);void main() printf( %dn,peach(1); 時時當當(時時當當10n1, 2*)1)1n(peach10n, 1)n(peach第7章 利用函數(shù)實現(xiàn)模塊化程序設計63 例例7.8 Hanoi(漢諾)塔問題。古代有一(漢諾)塔問題。古代有一個梵塔,塔內(nèi)有個梵塔,塔內(nèi)有3個座個座A、B、C,開始時,開始時座上有座上有64個盤子,盤子
42、大小不等,大的個盤子,盤子大小不等,大的在下,小的在上。有一個老和尚想把這在下,小的在上。有一個老和尚想把這64個盤子從座移到座,但規(guī)定每次只允個盤子從座移到座,但規(guī)定每次只允許移動一個盤,且在移動過程中在許移動一個盤,且在移動過程中在3個座上個座上都始終保持大盤在下,小盤在上。在移動都始終保持大盤在下,小盤在上。在移動過程中可以利用過程中可以利用B座。要求編程序輸出移座。要求編程序輸出移動一盤子的步驟。動一盤子的步驟。ABC第7章 利用函數(shù)實現(xiàn)模塊化程序設計647.7 數(shù)組作為函數(shù)參數(shù)數(shù)組作為函數(shù)參數(shù)7.7.1 數(shù)組元素作函數(shù)實參數(shù)組元素作函數(shù)實參7.7.2 數(shù)組名作函數(shù)參數(shù)數(shù)組名作函數(shù)參數(shù)
43、7.7.3 多維數(shù)組名作函數(shù)參數(shù)多維數(shù)組名作函數(shù)參數(shù)第7章 利用函數(shù)實現(xiàn)模塊化程序設計657.7.1 數(shù)組元素作函數(shù)實參數(shù)組元素作函數(shù)實參 函數(shù)的實參可以是:變量、常量、表達式函數(shù)的實參可以是:變量、常量、表達式等,只要有具體的值就可以等,只要有具體的值就可以 數(shù)組元素當然也可以作函數(shù)的實參數(shù)組元素當然也可以作函數(shù)的實參 數(shù)組元素不能作函數(shù)形參!數(shù)組元素不能作函數(shù)形參!例例7.9 輸入輸入10個數(shù),要求輸出其中值最個數(shù),要求輸出其中值最大的元素和大的元素和 該數(shù)是第幾個數(shù)。該數(shù)是第幾個數(shù)。第7章 利用函數(shù)實現(xiàn)模塊化程序設計66例例7.9 輸入輸入10個數(shù),要求輸出其中值最個數(shù),要求輸出其中值最
44、大的元素和大的元素和 該數(shù)是第幾個數(shù)。該數(shù)是第幾個數(shù)。 算法設計:算法設計:定義數(shù)組定義數(shù)組a,用來存放,用來存放10個數(shù)個數(shù)設計函數(shù)設計函數(shù)max,用來求兩個數(shù)中的大者,用來求兩個數(shù)中的大者在主函數(shù)中定義變量在主函數(shù)中定義變量m,初值為,初值為a0,每次,每次調(diào)用調(diào)用max函數(shù)后的返回值存放在函數(shù)后的返回值存放在m中中1.用用打擂臺打擂臺算法,依次將數(shù)組元素算法,依次將數(shù)組元素a1到到a9與與m比較,最后得到的比較,最后得到的m值就是值就是10個數(shù)個數(shù)中的最大者中的最大者第7章 利用函數(shù)實現(xiàn)模塊化程序設計67#include int main() int max(int x,int y);
45、int a10,m,n,i; for(i=0;i10;i+) scanf(%d,&ai); for(i=1,m=a0,n=0;im) m=max(m,ai); n=i; printf(largest number is %dn,m); printf(%dth number.n,n+1);int max(int x,int y) return(xy?x:y); 第7章 利用函數(shù)實現(xiàn)模塊化程序設計68#include int main() int max(int x,int y); int a10,m,n,i; for(i=0;i10;i+) scanf(%d,&ai); for(
46、i=1,m=a0,n=0;im) m=max(m,ai); n=i; printf(largest number is %dn,m); printf(%dth number.n,n+1);int max(int x,int y) return(xy?x:y); 第7章 利用函數(shù)實現(xiàn)模塊化程序設計697.7.2 數(shù)組名作函數(shù)參數(shù)數(shù)組名作函數(shù)參數(shù) 數(shù)組名可以用作函數(shù)的參數(shù)數(shù)組名可以用作函數(shù)的參數(shù) 實參和形參都要用數(shù)組名實參和形參都要用數(shù)組名 用數(shù)組名作函數(shù)用數(shù)組名作函數(shù)參數(shù)時,從實參向形參參數(shù)時,從實參向形參傳傳遞的是遞的是數(shù)組首元素的地址數(shù)組首元素的地址例例7.10 有一個一維數(shù)組有一個一維數(shù)組
47、score,內(nèi)放,內(nèi)放10個學生成績,個學生成績,求平均成績。求平均成績。第7章 利用函數(shù)實現(xiàn)模塊化程序設計70算法設計:算法設計: 編寫一個函數(shù)編寫一個函數(shù)average,用來求,用來求n個數(shù)的平均值。個數(shù)的平均值。 在主函數(shù)中完成輸入輸出。在主函數(shù)中完成輸入輸出。 主函數(shù)需要傳遞給主函數(shù)需要傳遞給average函數(shù)的參數(shù)有兩個:函數(shù)的參數(shù)有兩個:多少個數(shù)求平均值?即:個數(shù)多少個數(shù)求平均值?即:個數(shù)n這些數(shù)放在什么地方?即:數(shù)組名,本質(zhì)是數(shù)組的首這些數(shù)放在什么地方?即:數(shù)組名,本質(zhì)是數(shù)組的首地址地址 所以,所以,average有兩個參數(shù),個數(shù)有兩個參數(shù),個數(shù)n,數(shù)組名,數(shù)組名編寫主函數(shù),輸入
48、編寫主函數(shù),輸入10個成績的值,調(diào)用個成績的值,調(diào)用average函數(shù)求平均值,輸出結果函數(shù)求平均值,輸出結果第7章 利用函數(shù)實現(xiàn)模塊化程序設計71double average(double a ,int n) int i; double aver,sum=0; for(i=0;in;i+) sum=sum+ai; aver=sum/n; return(aver);#includeint main() double average(double a ,int n); double score10,aver; int i; for(i=0;i10;i+) scanf(%lf,&score
49、i); aver=average(score,10); for(i=0;i10;i+) printf(%g ,scorei); printf(nThe average:%gn,aver); return 0;第7章 利用函數(shù)實現(xiàn)模塊化程序設計72#includedouble average(double a ,int n) int i; double aver,sum=0; for(i=0;in;i+) sum=sum+ai; aver=sum/n; return(aver);int main() double score10,aver; int i; for(i=0;i10;i+) scan
50、f(%lf,&scorei); aver=average(score,10); for(i=0;i10;i+) printf(%g ,scorei); printf(nThe average:%gn,aver); return 0;第7章 利用函數(shù)實現(xiàn)模塊化程序設計73#includedouble average(double a ,int n) int i; double aver,sum=0; for(i=0;in;i+) sum=sum+ai; aver=sum/n; return(aver);int main() double score10,aver; int i; for(
51、i=0;i10;i+) scanf(%lf,&scorei); aver=average(score,10); for(i=0;i10;i+) printf(%g ,scorei); printf(nThe average:%gn,aver); return 0;第7章 利用函數(shù)實現(xiàn)模塊化程序設計74例例7.11 有兩個班級,分別有有兩個班級,分別有35名和名和30名學生,調(diào)用名學生,調(diào)用一個一個average函數(shù),分別求這兩個班的學生函數(shù),分別求這兩個班的學生的平均成績。的平均成績。 算法設計:算法設計:求平均值的函數(shù)可以直接用上題中的函數(shù)求平均值的函數(shù)可以直接用上題中的函數(shù)aver
52、age主函數(shù)中,對兩個班分別調(diào)用主函數(shù)中,對兩個班分別調(diào)用average函數(shù)就函數(shù)就可以求得兩個班的平均分可以求得兩個班的平均分第7章 利用函數(shù)實現(xiàn)模塊化程序設計75#include int main() double average(double a,int n); double score130,score235; int i; for(i=0;i30;i+)scanf(%lf,&score1i); for(i=0;i35;i+)scanf(%lf,&score2i); printf(%6.2fn,average(score1,30); printf(%6.2fn,aver
53、age(score2,35); return 0;第7章 利用函數(shù)實現(xiàn)模塊化程序設計76double average(double a ,int n) int i; double aver,sum=0; for(i=0;in;i+) sum=sum+ai; aver=sum/n; return(aver);第7章 利用函數(shù)實現(xiàn)模塊化程序設計77例例7.12 用選擇法對數(shù)組中用選擇法對數(shù)組中10個整數(shù)按由小到個整數(shù)按由小到大排序大排序算法設計:算法設計:用一個函數(shù)用一個函數(shù)sort完成排序的過程完成排序的過程在在main函數(shù)中輸入函數(shù)中輸入10個整數(shù)個整數(shù)然后調(diào)用排序函數(shù)然后調(diào)用排序函數(shù)再輸出排
54、序好的再輸出排序好的10個整數(shù)個整數(shù)sort需要從主函數(shù)傳遞來兩個參數(shù):需要從主函數(shù)傳遞來兩個參數(shù): 數(shù)組名數(shù)組名; 排序數(shù)據(jù)的個數(shù)排序數(shù)據(jù)的個數(shù)sort不需要返回值!不需要返回值!sort函數(shù)的排序方法采用函數(shù)的排序方法采用“選擇法選擇法”第7章 利用函數(shù)實現(xiàn)模塊化程序設計78 int a10; 數(shù)組元素下標為數(shù)組元素下標為0到到9,設從小,設從小到大排序。到大排序。 “選擇法選擇法”排序的過程:排序的過程:第第1步:在步:在a0到到a9中找到最小的一個,與中找到最小的一個,與a0交換交換第第2步:在步:在a1到到a9中找到最小的一個,與中找到最小的一個,與a1交換交換第第3步:在步:在a2
55、到到a9中找到最小的一個,與中找到最小的一個,與a2交換交換第第4步:在步:在a3到到a9中找到最小的一個,與中找到最小的一個,與a3交換交換第第5步:在步:在a4到到a9中找到最小的一個,與中找到最小的一個,與a4交換交換第第6步:在步:在a5到到a9中找到最小的一個,與中找到最小的一個,與a5交換交換第第7步:在步:在a6到到a9中找到最小的一個,與中找到最小的一個,與a6交換交換第第8步:在步:在a7到到a9中找到最小的一個,與中找到最小的一個,與a7交換交換第第9步:在步:在a8到到a9中找到最小的一個,與中找到最小的一個,與a8交換交換第7章 利用函數(shù)實現(xiàn)模塊化程序設計79第第0步:
56、在步:在a0到到a9中找到最小的一個,與中找到最小的一個,與a0交換交換第第1步:在步:在a1到到a9中找到最小的一個,與中找到最小的一個,與a1交換交換第第2步:在步:在a2到到a9中找到最小的一個,與中找到最小的一個,與a2交換交換第第3步:在步:在a3到到a9中找到最小的一個,與中找到最小的一個,與a3交換交換第第4步:在步:在a4到到a9中找到最小的一個,與中找到最小的一個,與a4交換交換第第5步:在步:在a5到到a9中找到最小的一個,與中找到最小的一個,與a5交換交換第第6步:在步:在a6到到a9中找到最小的一個,與中找到最小的一個,與a6交換交換第第7步:在步:在a7到到a9中找到
57、最小的一個,與中找到最小的一個,與a7交換交換第第8步:在步:在a8到到a9中找到最小的一個,與中找到最小的一個,與a8交換交換總結為:總結為: 第第i步:在步:在ai到到a9中找到最小的一個,中找到最小的一個,與與ai交換交換i的值是從的值是從0到到8第7章 利用函數(shù)實現(xiàn)模塊化程序設計80int a10; 數(shù)組元素下標為數(shù)組元素下標為0到到9,設從小,設從小到大排序。到大排序?!斑x擇法選擇法”排序的過程:排序的過程:第第0步:在步:在a0到到a9中找到最小的一個,與中找到最小的一個,與a0交換交換k=0;for(j=1;j10;j+) if(ajak) k=j; t=ak; ak=a0; a
58、0=t; 第第1步:在步:在a1到到a9中找到最小的一個,與中找到最小的一個,與a1交換交換k=1;for(j=2;j10;j+) if(ajak) k=j; t=ak; ak=a1; a1=t; 第7章 利用函數(shù)實現(xiàn)模塊化程序設計81k=0;for(j=1;j10;j+) if(ajak) k=j; i=0t=ak; ak=a0; a0=t; k=1;for(j=2;j10;j +) if(ajak) k=j; i=1t=ak; ak=a1; a1=t;k=2;for(j=3;j10;j+) if(ajak) k=j; i=2t=ak; ak=a2; a2=t;k=8;for(j=9;j10
59、;j+) if(ajak) k=j; i=8t=ak; ak=a8; a8=t;第7章 利用函數(shù)實現(xiàn)模塊化程序設計82void sort(int a , int n) int i,j,k,t; for(i=0;i9;i+) k=i; for(j=i+1;j10;j+) if(ajak) k=j; t=ak; ak=ai; ai=t; for(i=0;in-1;i+)for(j=i+1;j n;j+) if(ajak) k=j;第7章 利用函數(shù)實現(xiàn)模塊化程序設計83void sort(int a , int n) int i,j,k,t; for(i=0;in-1;i+) k=i; for(j=
60、i+1;jn;j+) if(ajak) k=j; t=ak; ak=ai; ai=t; #include int main() void sort(int a ,int n); int a10,i; for(i=0;i10;i+) scanf(%d,&ai); sort(a,10); for(i=0;i10;i+) printf(%d ,ai); printf(n); return 0; 第7章 利用函數(shù)實現(xiàn)模塊化程序設計847.7.3 多維數(shù)組名作函數(shù)參數(shù)多維數(shù)組名作函數(shù)參數(shù)例例7.13 有一個有一個的矩陣,求所有的矩陣,求所有元素中的最大值。元素中的最大值。算法設計:算法設計:先使變量先使變量max的初值等于矩陣中第一個元素的值,的初值等于矩陣中第一個元素的值,然后將矩陣中各個元素的值與然后將矩陣中各個元素的值與max相比,每次比較相比,每次比較后都把后都把“大者大者”存放在存放在max中,全部元素比較完后,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北正定師范高等??茖W?!豆局卫砼c財務戰(zhàn)略》2023-2024學年第二學期期末試卷
- 南京師范大學中北學院《地理專業(yè)導論與創(chuàng)業(yè)基礎》2023-2024學年第二學期期末試卷
- 三亞理工職業(yè)學院《結晶學與礦物學實驗》2023-2024學年第二學期期末試卷
- 燕山大學《人因交互與可用性測試》2023-2024學年第二學期期末試卷
- 海南比勒費爾德應用科學大學《3D效果圖制作》2023-2024學年第二學期期末試卷
- 海南經(jīng)貿(mào)職業(yè)技術學院《動物學》2023-2024學年第二學期期末試卷
- 沈陽農(nóng)業(yè)大學《嵌入式軟件開發(fā)技術》2023-2024學年第二學期期末試卷
- 湖南三一工業(yè)職業(yè)技術學院《金屬切削原理及刀具》2023-2024學年第二學期期末試卷
- 甘肅民族師范學院《現(xiàn)代漢語Ⅱ》2023-2024學年第二學期期末試卷
- 江蘇警官學院《通信系統(tǒng)DSP》2023-2024學年第二學期期末試卷
- 湖南省天壹名校聯(lián)盟2025屆高三5月適應性考試(化學)
- 村干部公務員試題及答案
- 浙江省杭州地區(qū)(含周邊)重點中學2024-2025學年高一下學期期中考試化學試卷(含答案)
- 2025年北京市石景山區(qū)九年級初三一模語文試卷(含答案)
- 2025年人教版九年級中考道法社會熱點專題 熱點七 《黑神話:悟空》
- 2025年浙江省溫州市中考一模語文試題(含答案)
- GB/T 12385-2025管法蘭用墊片密封性能試驗方法
- 油煙機清洗合同協(xié)議范本
- 毫針操作基本技術
- 高中家長會 共筑夢想,攜手未來課件-高二下學期期末家長會
- (正式版)YST 1682-2024 鎂冶煉行業(yè)綠色工廠評價要求
評論
0/150
提交評論