版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第11章 對函數(shù)的進一步討論,11.1 傳給main函數(shù)的參數(shù) 11.2 通過實參向函數(shù)傳遞函數(shù)名或指向函數(shù) 的指針變量 11.3 函數(shù)的遞歸調(diào)用,11.1 傳給main函數(shù)的參數(shù),#include main(int argc,char *argv) int i; printf(argc=%dn,argc); for(i=1;iargc;i+) printf(%s,argvi); printf(n); ,在主函數(shù)main中也可以含有參數(shù),我們通過一個程序來介紹一下它的使用。,若在命令行中輸入: myc A COMMAND LINK 如上的輸入中,空格表示間隔符,所以是4個字符串,argc的值就
2、為4,則argv0就指向”myc”, argv1就指向”A”, argv2就指向”COMMAND”, argv3就指向”LINK”。,main(int argc,char *argv),argc=4 A COMMAND LINK,11.2 通過實參向函數(shù)傳遞函數(shù)名或指向函數(shù)的指針變量,在C語言中函數(shù)名代表該函數(shù)的入口地址,因此可以定義一種指向函數(shù)的指針 來存放這種地址。例如:,#include double fun (int a, int *p) : : main() double (*fp)(int, int *); double y; int n; fp=fun; : : y=(*fp)(
3、56, : : ,主函數(shù),被調(diào)用函數(shù),/*定義了一個指針變量fp,該指針變量只能指向 返回值為實型的函數(shù)*/,/*把函數(shù)fun的入口地址賦值給指針變量fp,即fp指向了該函數(shù)*/,y=fun(56,11.3 函數(shù)的遞歸調(diào)用,在調(diào)用一個函數(shù)的過程中又出現(xiàn)直接或間接地調(diào)用該函數(shù)本身,稱為函數(shù)的 遞歸調(diào)用。,直接遞歸調(diào)用,int f ( int x ) int y,z; . z=f(y); ,間接遞歸調(diào)用,int f1 ( int x ) int y,z; . z=f2(y); ,int f2 ( int t ) int u,v; . v=f1(u); ,11.3 函數(shù)的遞歸調(diào)用,遞歸調(diào)用程序舉例:
4、,#include int fac(int n) int t; if(n=1 | n=0) return 1; else t=n*fac(n-1); return t; main() int m,y; scanf(%d, ,程序執(zhí)行時,比如輸入4。,t=4 * fac(3),t=3 * fac(2),t=2 * fac(1),1,1,2,6,退出函數(shù),將t的值作為該函數(shù)的返回值,所以該函數(shù)的值為24。當(dāng)退出用戶自定義函數(shù)時,該函數(shù)中的變量全部釋放。,4!=24,習(xí)題 函數(shù)遞歸調(diào)用的程序填空,例1:請補充函數(shù),fun函數(shù)是求n的介乘。 #include long fun(int n) if (_
5、1_) return (n*fun(_2_); return _3_; main() printf(10!=%ldn, fun(10); ,例2:請在函數(shù)fun的橫線上填寫若干表達 式,使從鍵盤上輸入一個整數(shù)n,輸出斐 波數(shù)列,如:0 1 1 2 3 5 8 13 #include int fun(int n); main() int i, n = 0; scanf(%d, ,答案: 例1:n1 n-1 1 或 1L,答案: 例2:n=0 n=1 fun(n-1)+fun(n-2),第12章 C語言中用戶標(biāo)識符的作用域和存儲類對變量的進一步討論,12.1 局部變量、全局變量和存儲分類 12.2
6、 局部變量及其作用域和生存期 12.3 全局變量及其作用域和生存期 12.4 函數(shù)的存儲分類,按類型,整形變量 實型變量 字符變量,按有效范圍,局部變量 全局變量,按生存期,auto變量 static變量,局部變量,1。在一個函數(shù)內(nèi)部定義的變量。,#include float f1(int n) int i,j; . char f2(float x,float y) float z; . main() int a,b,c; . ,i,j的有效范圍,z的有效范圍,a,b,c的有效范圍,2。函數(shù)的形式參數(shù)。,3。在某個復(fù)合語句中定義的變量,n的有效范圍,x,y的有效范圍,#include main
7、() int a,b,c; . int c; . c=a+b; . ,c的有效范圍,復(fù)合語句中的變量c和函數(shù)體中的c互不影響,在符合語句中的變量都有自己的存儲單元。,全局變量,#include int p=1,q=5; float f1(int a) int b; . int f2(int a) int b; . main() int m,n; . ,全局變量就是指在函數(shù)體之外定義的變量。,全局變量的有效范圍是:從定義變量的位置開始到原文件結(jié)束。,p,q的有效范圍,auto變量,當(dāng)在函數(shù)內(nèi)部或復(fù)合語句內(nèi)定義變量時,也可以使用auto說明符進行說明。 用auto說明的變量,當(dāng)該變量退出它的有效范
8、圍時,系統(tǒng)將自動釋放該變量 所占的存儲單元。,例如: #include double add(double a,double b) auto double s; s=a+b; return s; main() double y,p,q; scanf(“%lf%lf”, ,退出該函數(shù)時,局部變量a,b和s都自動釋放,在這里,我們說明了變量s為auto型,所以也會自動釋放。再此,我們也可以把auto省略。,register變量,寄存器變量與auto變量基本上相同,它們之間還是存在一些區(qū)別的:用register 說明的變量建議編譯程序?qū)⒆兞康闹当A粼贑PU的寄存器中,而不是像一般變量 那樣,占內(nèi)存空
9、間。,例如: #include int power(int,register int); main() int s; s=power(5,3); printf(%dn,s); int power(int x,register int n) register int p; for(p=1;n;n-) p=p*x; return p; ,特點, 使用寄存器變量,程序運行時,訪問存儲器 內(nèi)的值要比訪問存于內(nèi)存中的值快得多。 CPU中的寄存器的數(shù)目是有限的,因此只能說明 少量的寄存器變量。 register變量無地址。 盡量少用register變量。,static變量,例如: #include flo
10、at fac(int n) static float f=1; f=f*n; return f; main() int j; for(j=1;j=5;j+) printf(%d!=%.0fn,j,fac(j); ,此條語句是在編譯時進行的并賦初值,此條語句程序不會執(zhí)行它;如果定義局部靜態(tài)變量時沒有賦初值,編譯時會自動賦初值。用static說明的變量,在退出整個程序時,才釋放內(nèi)存空間。,1!=1 2!=2 3!=6 4!=24 5!=120,如有以下程序 int a=2; int f(int n) static int a=3; int t=0; if(n%2) static int a=4;
11、t += a+; else static int a=5; t += a+; return t+a+; main() int s=a, i; for( i=0; i3; i+) s+=f(i); printf(%dn, s); 程序運行后的輸出結(jié)果是 A)26 B)28 C)29 D)24,extern說明符的作用,當(dāng)在同一個文件中時使用,#include int p; void f1(int n) int s=1; . main() int a,b,c; . ,的有效范圍,p,#include void f1(int n) int p=1; . int p; main() int a,b,c
12、; . ,的有效范圍,p,局部變量p 的有效范圍,#include void f1(int n) extern int p=1; . int p; main() int a,b,c; . ,全局變量 的有效范圍,p,extern說明符的作用,不同文件中的使用,f1.c原程序文件,f2.c原程序文件,#include int x,y; /*定義全局變量*/ void fun1(); void fun2(); void fun3(); main() fun1(); fun2(); fun3(); void fun1() x=111; . ,#include extern int x; void f
13、un2() printf(%dn,x); . void fun3() x+; printf(%dn,x); . ,在此用extern說明x為全局變量,則意味著在此文件中將會引用f1.c文件中原來變量x中的值。,111 112,靜態(tài)全局變量,不同文件中的使用,f1.c原程序文件,f2.c原程序文件,#include static int n; void func(); main() n=5; printf(file1:%dn,n); func(); ,#include extern int n; void func() printf(file2:%dn,n); . ,雖然在此文件中用extern
14、說明了變量n,想來引用f1.c中的全局變量n。但是,在f1.c文件中的的全局變量被說明了static變量,則意味著,該變量只能在f1.c中被使用。不能被其它文件所使用。,第13章 編譯預(yù)處理和動態(tài)存儲分配,13.1 編譯預(yù)處理 13.2 動態(tài)存儲分配,13.1 編譯預(yù)處理,宏替換-不帶參數(shù),#define 宏名 替換文本,例如: #define SIZE 100,此命令為編譯預(yù)處理命令,只要在原程序中名有SIZE的標(biāo)識符都用100來替換,SIZE就相當(dāng)于100是替身。,請分析如下程序: #include #define SIZE 100 main() int a=10,b=20,c; c=a+
15、b+SIZE; printf(“%d”,c); ,c=a+b+100;,#include #define N 2 #define M N+1 #define NUM 2*M+1 main() int i; printf(%dn,NUM); ,2+1 2*2+1+1,13.1 編譯預(yù)處理,宏替換-帶參數(shù),例如: #define MU(X , Y) ( (X) * (Y) ) : : a= MU(5, 2); b=6/ MU(a+3, a);,( (5) * (2) ),a= ( (5) * (2) );,( (a+3) * (a) ),b=6/( (a+3) * (a) );,改寫: #defi
16、ne MU(X , Y) X * Y : : a= MU(5, 2); b=6/ MU(a+3, a);,a=5*2; b=6/a+3*a;,終止宏定義:,#define PI 3.14 main() : : #undef PI : : ,以上PI的作用域從 #define PI 3.14 命令行開始,到 #undef PI命令行 結(jié)束。從#undef以后 的PI變成無定義,不再 代表3.14了。,13.2 動態(tài)存儲分配,知識點回顧,在前面我們學(xué)過,在對變量和數(shù)組進行定義實質(zhì)上就是給它們 開辟相應(yīng)大小的內(nèi)存單元。我們除了可以用定義的方式來開辟 內(nèi)存單元,還可以用一些函數(shù)來動態(tài)的分配和釋放內(nèi)存空
17、間。,1。動態(tài)分配內(nèi)存的函數(shù): malloc(size),size必須是無符號整型,用來表示開辟幾個字節(jié)的內(nèi)存空間。,函數(shù)返回值的類型為void *,例如:float *pf; pf=(float *)malloc(4),/*分配了4個字節(jié)的存儲空間, 再將它強制類型轉(zhuǎn)換成所需 的類型,讓pf指向該存儲單元*/,pf,若有語句段:if( pf != NULL ) *pf=3.8,3.8,如上語句也可以使用sizeof()函數(shù)來求得字節(jié)數(shù):pf=( float * ) malloc ( sizeof( float ) ),3。動態(tài)釋放空間的函數(shù):free(pf) 、 free(ps) /*此函數(shù)
18、沒有返回值*/,2。動態(tài)分配內(nèi)存的函數(shù)(連續(xù)的內(nèi)存): calloc(n,size),/*該函數(shù)為分配n個連續(xù)的存儲空間*/,例如:char *ps; ps=(char *)calloc(10,sizeof(char);,開辟了10個連續(xù)的char類型的存儲單元,由ps指向存儲單元的首地址。,習(xí)題,13.1 有以下程序 #include #define MIN(x,y) (x)(y)?(x):(y) main() int i,j,k; i=10;j=15;k=10*MIN(i,j);printf(%dn,k); ,13.2 有以下程序 #include #define N 2 #define
19、M N+1 #define NUM (M+1)*M/2 main() int i; for(i=1;i=NUM;i+); printf(%dn,i); ,第14章 結(jié)構(gòu)體、共用體和用戶定義類型,14.1 用typedef說明一種新類型名 14.2 結(jié)構(gòu)體類型 14.3 共用體,14.1 用typedef說明一種新類型名,除了可以直接使用C提供的標(biāo)準(zhǔn)類型名(如int、char、float、double、long等)以 外,還可以用typedef聲明新的類型名來替代已有的類型名。 實質(zhì)上typedef命令就是給我們以前的類型進行起外號。,說明新類型名的語句一般形式為: typedef 類型名 標(biāo)識
20、符,可以用標(biāo)識符來代替已有的類型名來使用。標(biāo)識符其實就是類型名的一個(外號)替身。,例如: typedef int INTEGER;,它也能用來定義整型,INTEGER m,n;,int m,n;,14.2 結(jié)構(gòu)體類型,結(jié)構(gòu)體和我們前面所說的數(shù)組有點相同,都是由若干個成員所組成.數(shù)組只不過 是相同類型的元素的集合,而結(jié)構(gòu)體中的各個成員的類型可以不同.,結(jié)構(gòu)體類型說明的一般形式為: struct 結(jié)構(gòu)體標(biāo)識名 類型名1 結(jié)構(gòu)成員名表1; 類型名2 結(jié)構(gòu)成員名表2; : 類型名n 結(jié)構(gòu)成員名表n; ;,說明結(jié)構(gòu)體類 型的關(guān)鍵字,用戶定義的標(biāo)識符,在說明中也可以不出現(xiàn),分號不能少,例如: struc
21、t student char name12; char sex; int year,month,day; float sc4; ;,接著我們就struct student 類型來定義變量.數(shù)組和 指針變量了,struct student std,pers3,*pstd,如上是用結(jié)構(gòu)體類型struct student 定義了一個結(jié)構(gòu)體變量std,結(jié)構(gòu)體數(shù) 組pers和一個結(jié)構(gòu)體指針變量pstd.,其中:,1.結(jié)構(gòu)體變量std所占的內(nèi)存空間就為 左邊說明語句中的各成員的總和. 2.結(jié)構(gòu)體數(shù)組pers中含有3個元素,每一 元素其實也就是一個結(jié)構(gòu)體變量. 3.結(jié)構(gòu)體指針變量pstd只能被賦予結(jié)構(gòu) 體變
22、量的地址,也就是說pstd只能指向 結(jié)構(gòu)體.,結(jié)構(gòu)體變量.數(shù)組和指針變量的定義方式還有3種,轉(zhuǎn)去介紹,14.2 結(jié)構(gòu)體類型,結(jié)構(gòu)體變量.數(shù)組和指針變量的另外3種定義方式如下:,第2種:緊跟在結(jié)構(gòu)體類 型之后進行定義 struct student char name12; char sex; int year,month,day; float sc4; std,pers3,*pstd;,跟前一種方式唯一的 區(qū)別就是:這一種是在 說明結(jié)構(gòu)體的同時進 行定義的,而上一種只 是先說明好了結(jié)構(gòu)體, 然后再進行定義的.,第3種: struct后面的標(biāo)識 符也可以省略 struct char name12;
23、 char sex; int year,month,day; float sc4; std,pers3,*pstd;,功能和第2種完全相同,不 過此種定義方式有一種壞 處,壞處只在于:第2種不僅 可以在說明結(jié)構(gòu)體的同時 進行定義.以后還可以用結(jié) 構(gòu)體類型struct student再 次進行定義變量等,而此種 就不可以再次進行定義了, 因為struct 不能被稱為結(jié)構(gòu) 體類型.,第4種:我們也可以在前3種 的基礎(chǔ)之上再加上: typedef 結(jié)構(gòu)體類型部分 標(biāo)識符,例如: typedef struct char name12; char sex; int year,month,day; flo
24、at sc4; STREC;,STREC其實就是結(jié)構(gòu)體類型 的一個替身。 之后我們就可以用STREC來 定義變量和數(shù)組了.,比如: STREC std,pers3,*pstd;,14.2 結(jié)構(gòu)體類型,14.2.3 給結(jié)構(gòu)體變量和數(shù)組賦初值,給結(jié)構(gòu)體變量賦初值,struct student char name12; char sex; int year,month,day; float sc4; std =“Li Ming”, M, 1962, 5, 10, 88, 76, 85.5, 90;,變量std在內(nèi)存中的形式如下圖:,Li Ming M 1962 5 10 88.0 76.0 85.5
25、 90.0,name sex year month day sc0 sc1 sc2 sc3,std,14.2 結(jié)構(gòu)體類型,14.2.3 給結(jié)構(gòu)體變量和數(shù)組賦初值,給結(jié)構(gòu)體數(shù)組賦初值,struct bookcard char num5; float money; bk3 = “NO.1”,35.5, “NO.2”,25.0, “NO.3”,66.7 ;,bk0,bk1,bk2,14.2 結(jié)構(gòu)體類型,引用(使用)結(jié)構(gòu)體變量中的數(shù)據(jù),例如:給出如下定義和語句: struct student char name12; char sex; int year,month,day; float sc4; s
26、td,arr5,*ps; ps=,引用結(jié)構(gòu)體變量std中的sex成員的形式有,std.sex ps-sex (*ps).sex,請問,如何引用結(jié)構(gòu)體數(shù)組arr的第0個元素arr0中的sex成員? 如何引用結(jié)構(gòu)體變量std中的數(shù)組成員sc中的元素sc2?,arr0.sex,std.sc2 ps-sc2 (*ps). sc2,題目,若有以下說明和語句,則對結(jié)構(gòu)體變量st中成員i的引用 方式不正確的是 struct stu int i; int name; st,*p; p=,A st.i B *p.i C (*p).i D p-i,B,14.3 共用體,共用體(union)的類型說明和變量的定義方
27、式與結(jié)構(gòu)體的類型說明和變量的 定義方式完全相同,不同的是,結(jié)構(gòu)體變量中的成員各自占有自己的存儲空間, 而共用體變量中的所有的成員占有同一個存儲空間.,例如:,struct data int i; char ch; float f; a;,結(jié)構(gòu)體變量a在內(nèi)存中的形式如下:,占4個字節(jié) 占1個字節(jié) 占4個字節(jié),i ch f,9,union data int i; char ch; float f; a;,共用體變量a在內(nèi)存中的形式如下:,占4個字節(jié),i,占1個字節(jié),占4個字節(jié),ch,f,共用體變量所占 內(nèi)存字節(jié)與其成 員中占字節(jié)數(shù)最 多的那個成員相 等.即是4個字節(jié).,注意,若給:a.i=1; 此
28、時只有a.i占用內(nèi)存,a.ch和a.f都不起作用. 若給:a.ch=a; 此時只有a.ch占用內(nèi)存,a.i和a.f都不起作用. 若給:a.f=1.5; 此時只有a.f占用內(nèi)存,a.i和a.ch都不起作用.,第15章 位運算,1.”按位取反”運算符: ,例如:01001101=10110010,2.”左移”運算符: ,例如:000001102=00011000,將左邊的二進制位左移兩位,右邊補0,左邊移出的部分舍棄,3.”右移”運算符: (分為兩種情況),000001102=00000001 右端移出的二進制位舍棄,左邊為0的話,補0. 110001102=11110001 右端移出的二進制位舍
29、棄,左邊為1的話,補1.,4.”按位與”運算符: 如果 左邊為1的話,左邊就補1.,第16章 文件,考點1: 文件指針,什么是文件指針? 文件指針實際上是指向一個結(jié)構(gòu)體類型的指針。也就是說,該指針中只能存放 結(jié)構(gòu)體類型類型變量的地址。 文件類型指針變量的定義形式: FILE *指針變量名; 例如:FILE *fp1,*fp2;,考點2: 文件的打開與關(guān)閉,文件的打開(fopen) fopen函數(shù)的一般調(diào)用形式為:fopen( 文件名,文件使用方式 ); 函數(shù)的功能是:返回一個地址值。一個指向FILE類型的指針。也就是說,該函數(shù)的 結(jié)果只能被賦予文件類型指針變量。 例如:FILE *fp; fp
30、=fopen( “file_a”, “r” ); 若以上函數(shù)調(diào)用成功,則文件類型指針變量fp就會指向file_a。 否則,fopen函數(shù)將返回NULL。 函數(shù)中的第二個參數(shù)代表我們的fp指針與file_a聯(lián)系起來之后要對它進行什么樣的 操作。對文件的操作常用的有兩種。一種是“讀”-“r”,還有一種就是“寫”-“w”。 文件的關(guān)閉(fclose) fclose函數(shù)的一般調(diào)用形式為:fclose( 文件指針 ); 當(dāng)成功地執(zhí)行了關(guān)閉操作,函數(shù)返回0,否則返回非0.,程序,文件,輸入(讀),輸出(寫),考點3: 調(diào)用putc(或fputc)函數(shù)輸出一個字符 putc的調(diào)用形式: putc( ch,
31、fp ); putc()函數(shù)的功能: 將字符ch寫到 文件指針fp所指的文件中去.如果輸出 成功,putc函數(shù)將返回所輸出的字符;如果失敗,則返回一個EOF值. putc函數(shù)的調(diào)用形式和功能與fputc函數(shù)完全相同,某個字符常量或字符變量,文件指針,考點4: 調(diào)用getc(或fgetc)函數(shù)輸入一個字符 getc的調(diào)用形式: ch=getc( pf ); putc()函數(shù)的功能: 從pf指定的文件中讀入一個字符,并把它作為函數(shù)返回值. putc函數(shù)的調(diào)用形式和功能與fputc函數(shù)完全相同,考點5: fscanf和fprintf函數(shù)的應(yīng)用,這兩個函數(shù)和我們前面所學(xué)的scanf和printf函數(shù)相
32、似.只是這邊的兩個函數(shù) 所針對的對象是磁盤上的文本文件. fscanf函數(shù)的調(diào)用形式為: fscanf( 文件指針,格式控制字符串,輸入項表 ); 例如: fscanf( fp, “%d%d”, 例子的功能是: 若文件指針fp已指向一個已打開的文本文件, x,y分別為整型變量, 則上面的語句將把x和y兩個整型變量中的整型按%d格式輸出到fp所指的文件中.,考點6: fgets和fputs函數(shù)的應(yīng)用,fgets函數(shù)的調(diào)用形式為: fgets( str, n, fp ); fgets函數(shù)的功能是: 從fp所指向的文件中讀取長度不超過n-1個字符的字符串,并 將該字符串放到數(shù)組str中;讀入字符串后會自動在字符串末尾 加入(0)結(jié)束符,表示字符串結(jié)束. fputs函數(shù)的調(diào)用形式為: fputs( str, fp ); fputs函數(shù)的功能是
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財政法規(guī)試題及答案
- 聲樂考試基礎(chǔ)題及答案
- 進城考試語文題庫及答案
- 2025年高職僧伽羅語(僧伽羅語基礎(chǔ))試題及答案
- 2025年高職(玩具設(shè)計與制造)玩具產(chǎn)品設(shè)計階段測試試題及答案
- 2025年大學(xué)印刷工程(印刷工程基礎(chǔ))試題及答案
- 2025年大學(xué)二年級(自然地理學(xué))自然地理學(xué)試題及答案
- 多模態(tài)磁影像引導(dǎo)下腦膿腫微創(chuàng)引流術(shù)
- 2025年大學(xué)物理(機械波)試題及答案
- 2025年高職(西式烘焙)甜品制作工藝階段測試題及答案
- 子宮肌瘤課件超聲
- DBJT15-206-2020 廣東省農(nóng)村生活污水處理設(shè)施建設(shè)技術(shù)規(guī)程
- 軟件產(chǎn)品用戶體驗評估報告
- 2025年異丙醇行業(yè)當(dāng)前發(fā)展現(xiàn)狀及增長策略研究報告
- 科室緊急情況下護理人力資源調(diào)配方案
- 企業(yè)社會責(zé)任實踐與品牌建設(shè)策略
- 出租車頂燈設(shè)備管理辦法
- 安全技術(shù)與管理畢業(yè)論文
- 2025年新疆中考數(shù)學(xué)真題試卷及答案
- 溫嶺市恩力天金屬表面處理有限公司年處理10萬噸磷化金屬表面技改項目環(huán)評報告
- 職務(wù)侵占罪法律培訓(xùn)
評論
0/150
提交評論