




已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
指 針,目 錄,地址和指針的概念 變量的指針和指向變量的指針變量 數(shù)組與指針 字符串與指針 指向函數(shù)的指針 返回指針值的函數(shù) 指向數(shù)組和指向指針的指針 指針的數(shù)據(jù)類型和指針運算小結(jié),指針的概念,指針是C語言的一個重要概念,也是C語言的一個重要特色。深刻理解和正確使用指針是學(xué)習(xí)本章的基本要求。,一、地址,在計算機中,把內(nèi)存區(qū)劃分為一個一個的存儲單元,每個單元為一個字節(jié)(位),它們都有一個編號,這個編號就是內(nèi)存地址。如下圖所示:,注意: 1、程序中定義的每個變量在編譯后都占有各自的內(nèi)存區(qū),系統(tǒng)通過內(nèi)存地址對變量進(jìn)行存取。 2、數(shù)據(jù)所占有的存儲單元個數(shù)是由其類型決定的。 3、首地址:第1個單元的地址 4、表示地址的數(shù)與整數(shù)的區(qū)別,指針的概念,二、舉例,如有定義:char c=A; int a=3; 則所占內(nèi)存情況如下:,注意:c和a的地址可能相鄰,也可能不相鄰,由系統(tǒng)分配。,指針的概念,三、指針與指針變量,1、指針:簡單地說,指針就是地址。二者是同一個概念的兩種說法。只不過指針更形象一些,就像一個針一樣,可以指向某個內(nèi)存單元。,2、指針變量:首先指針變量就是一個變量,和以前所講的其它變量沒有本質(zhì)區(qū)別。不同之處在于這種變量中所存放的內(nèi)容是地址。,指針的概念,四、直接訪問和間接訪問,指針的概念,A,B,1、直接訪問,通過變量本身對變量進(jìn)行存取的方式,稱為直接訪問。 如定義:int x; 則x=10; x+=5; 這種訪問方式只需要變量本身就得到了該變量的全部信息,不需要其它內(nèi)容,是直接的。,指針的概念,2、間接訪問,通過指針變量實現(xiàn)對變量的訪問方式,稱為間接訪問。 首先要定義一個指針變量,然后將一個同類型變量的地址賦給該指針變量(稱指針變量指向該變量),這樣就可以進(jìn)行間接訪問了。 間接訪問的過程是:由指針變量得到變量的地址,根據(jù)該地址找到變量的存儲區(qū),再對該存儲區(qū)的內(nèi)容進(jìn)行存取,從而實現(xiàn)了對變量的間接訪問。,指針的概念,指針變量的定義和引用,一、指針變量的定義和賦值,1、格式:類型名 *指針變量名;,2、舉例 int *p1; char *s1, *s2; float *a1, *a2, f;,3、說明 a. 類型名:指針變量所指向的變量類型。 b. *是定義指針變量的標(biāo)志,不可丟掉。 c. 指針變量定義后,其值是不確定的。,4、賦值:可以進(jìn)行初始化,也可以使用賦值語句,(1)、初始化: int a, *s=,(2)、賦值語句 int a, *s; s=,(3)、注意: 只能用同類型變量的地址進(jìn)行賦值 如定義:int *s; float f; 則 s= 是錯誤的。,指針變量的定義和引用,不定,在分析有關(guān)指針的程序時,畫圖是很好的方法:,若有: int a, *s; 則,s,a,若有: int a=5, *s= 則,不定,5,&a,指針變量的定義和引用,二、指針變量的引用,1、兩個運算符:& 與 * &:取地址,注意與作位運算符時的不同(雙目) *:指針運算符(間接訪問符),取內(nèi)容 ,*P表示P所指向的變量,注意與乘運算符不同(雙目),2、說明 a. &既可作用于一般變量,也可作用于指針變量 b. * 只能作用于指針變量,*s等同于變量a。 c. 定義指針變量時的 * 與該處的含義不同,指針變量的定義和引用,3、指針變量可以進(jìn)行的操作 (1)賦值:int a,*p1= (5)比較:一般與指針常量NULL進(jìn)行比較;兩指針 變量值的大小比較無意義。,指針變量的定義和引用,#include main( ) int a1=11, a2=22; int *p1, *p2; p1= ,指針變量的定義和引用,#include main( ) int a1=11,a2=22; int *p1,*p2,*p; p1= ,指針變量的定義和引用,#include main( ) int a1=11,a2=22,t; int *p1,*p2; p1= ,指針變量的定義和引用,三、指針變量作為函數(shù)的參數(shù),1、形式:形式參數(shù)名前加上一個*。 如:void test(int *pointer, char f, char *s),2、說明 通過指針作為參數(shù)可以將主調(diào)函數(shù)中某變量的地址傳遞到被調(diào)函數(shù)中,從而可以改變該地址對應(yīng)變量的值,即改變主調(diào)函數(shù)中變量的值。,指針變量的定義和引用,指針變量的定義和引用,#include void test(int *pt); main( ) int a=11, *p= ,指針與一維數(shù)組,在語言中,指針與數(shù)組有著密切的關(guān)系。對數(shù)組元素,既可以采用數(shù)組下標(biāo)來引用,也可以通過指向數(shù)組元素的指針來引用。采用指針方法處理數(shù)組,可以產(chǎn)生代碼長度小、運行速度快的程序。,一、通過指針訪問一維數(shù)組,1、數(shù)組結(jié)構(gòu)的分析,設(shè)有數(shù)組定義為:int a5; 則有: (1) a表示數(shù)組在內(nèi)存中的首地址,也就是數(shù)組中第1 個元素的首地址,它是一個地址常量,其值由系 統(tǒng)在編譯時確定,程序運行期間不能改變。 (2) 數(shù)組中的各元素表示為: a0、a1、a2、a3、a4 或者是: *(a+0) 、*(a+1)、*(a+2)、*(a+3)、*(a+4),指針與一維數(shù)組,(3) 數(shù)組中的各元素的地址表示為: &a0、&a1、&a2、&a3、&a4 或者是:a+0、a+1、a+2、a+3、a+4 (4) 另一種解釋:數(shù)組名是基地址,下標(biāo)是偏移量,ai就表示以a為基地址,偏移i個元素的那個元素。 (5) 數(shù)組的邏輯結(jié)構(gòu)如下:,a,&a0 &a1 &a2 &a3 &a4,指針與一維數(shù)組,2、指針與數(shù)組的關(guān)系,現(xiàn)定義一個指針變量:int *s; 并進(jìn)行賦值:s=a; 或 s= 則,指針變量s指向了數(shù)組a的開始,二者產(chǎn)生了聯(lián)系,這樣就可以通過指針變量s訪問數(shù)組a了。,a,&a0 &a1 &a2 &a3 &a4,s,注意:a是指針常量 s是指針變量,指針與一維數(shù)組,對s也可以進(jìn)行其它賦值,如: s=a+2; 或 s= 圖變?yōu)椋?a,&a0 &a1 &a2 &a3 &a4,s,說明: 若進(jìn)行操作 s=a; s+=2; 效果與上述相同。,指針與一維數(shù)組,3、一維數(shù)組的訪問,#include main( ) int a5=1, 3, 5, 7, 9, i , *p=a; for (i=0;i5;i+) printf(“%d”,ai); for (i=0;i5;i+) printf(“%d”,*(a+i); for (i=0;i5;i+) printf(“%d”,pi); for (i=0;i5;i+) printf(“%d”,*(p+i); for (;pa+5;p+) printf(“%d”,*p); p=a; while (pa+5) printf(“%d”,*p+); ,指針與一維數(shù)組,用多種方法訪問一維數(shù)組各元素,4、幾個表達(dá)式的分析,設(shè)定義:int a3=1, 2, 3, *s=a; s, *s a, *a s+, *s+, a+, *a+ *(s+), (*s)+ *(a+), (*a)+ 初始化時的*s=a; 與語句 *s=a; 的不同 一個指針變量加/減一個整數(shù)后,指針變量值的變化情況,指針與一維數(shù)組,二、通過指針在函數(shù)間傳遞一維數(shù)組,1、函數(shù)的定義形式,int func(int array, int n) 函數(shù)體; 也可以寫為: int func(int *pointer, int n) 函數(shù)體;,指針與一維數(shù)組,2、函數(shù)的說明形式,如有函數(shù)定義: int func(int array, int n) 函數(shù)體; 則對該函數(shù)的說明形式可以寫為: int func(int array, int n); int func(int *array, int n); int func(int , int); int func(int *, int);,注意:作為形參定義的數(shù)組名是一個指針變量,它在函數(shù)體中可以變化,這一點與變量定義時不同。,指針與一維數(shù)組,編寫在數(shù)組的最后一個元素中存放其它元素和的函數(shù) #include void summary(int *p, int n); main() static int a11=1,2,3,4,5,6,7,8,9,10; summary(a,10); printf(“Sum is %dn”,a10); void summary(int *p, int n) int s=0; while (n) s+=*(p+); *p=s; ,指針與一維數(shù)組,函數(shù)還可寫為: void summary(int arr, int n) int i, s=0; for (i=0;in;i+) s+=arri; arrn=s; ,字符串是一種特殊的一維數(shù)組, 字符串的特殊性在于:字符串的末尾是結(jié)束標(biāo)志 0 ,所以訪問字符串時常用結(jié)束標(biāo)志進(jìn)行判斷。,指針與字符串,一、通過指針訪問字符串,1、字符串結(jié)構(gòu)的分析,設(shè)有數(shù)組定義為:char s=“abcde”; 則s是一個字符數(shù)組,它里面存放的是一個字符串。它在內(nèi)存中占用6個字節(jié),但長度為5。其結(jié)構(gòu)為:,s,s0 s1 s2 s3 s4 s5,結(jié)束標(biāo)志,指針與字符串,字符串還可以定義為:char *s=“abcde”; 它在內(nèi)存中占用6個字節(jié),長度為5。 其結(jié)構(gòu)為:,指針與字符串,s,s0 s1 s2 s3 s4 s5,結(jié)束標(biāo)志,2、用字符數(shù)組與用指針使用字符串的比較,定義及初始化 char s=“abcde”; char *p=“abcde”; 賦值 char s6; char *p; s=“abcde”; p=“abcde”; strcpy(s, “abcde”); strcpy(p, “abcde”); 使用 s不能自加/減 p可以自加/減,指針與字符串,注意: char s=“abc”;與char s=a,b,c;的區(qū)別,(2) 指針法 main() char a=“Hello,world!”; char b20; char *pa,*pb; for (pa=a,pb=b;*pa!=0;pa+,pb+) *pb=*pa; *pb=0; printf(“%sn”,b); ,該功能相當(dāng)于:strcpy(b,a);,指針與字符串,下標(biāo)法 main() char a=“Hello,world!”; char b20; int i; for (i=0;ai!=0;i+) bi=ai; bi=0; printf(“%sn”,b); ,將字符數(shù)組a中的字符串拷貝到字符數(shù)組b中,二、字符串指針作函數(shù)參數(shù),1、函數(shù)的定義形式,char func(char a, char b) 函數(shù)體; 也可以寫為: char func(char *a, char *b) 函數(shù)體;,指針與字符串,void mystrcpy(char *to, char *from); main( ) char ca20, *cp=“Hello,world!”; mystrcpy(ca,cp); printf(“%s”,ca); ,設(shè)計一函數(shù),實現(xiàn)與標(biāo)準(zhǔn)函數(shù)strcpy類似的功能。,void mystrcpy(char *to, char *from) while (*from!=0) *to=*from; to+; from+; *to=0; ,思考:調(diào)用 mystrcpy(ca,cp+2); 結(jié)果如何?,指針與多維數(shù)組,數(shù)組是具有相同“數(shù)據(jù)類型”的數(shù)據(jù)的順序集合,而數(shù)組本身也是語言的一種數(shù)據(jù)類型,同樣可以作為數(shù)組的元素類型。當(dāng)一個一維數(shù)組的元素類型為數(shù)組時,便構(gòu)成了多維數(shù)組。 熟記下面兩組等價式: xi *(x+i) &xi x+i,一、通過指針訪問多維數(shù)組,1、二維數(shù)組結(jié)構(gòu)的分析,設(shè)有數(shù)組定義為:int a34; 則有: a表示數(shù)組在內(nèi)存中的首地址,也就是數(shù)組中第1 個元素(也是第一行)的首地址,它是一個地址常量,其值由系統(tǒng)在編譯時確定,程序運行期間不能改變。 該二維數(shù)組可以理解為:它是一個一維數(shù)組,含有3個元素,每個元素又是一個一維數(shù)組,該一維數(shù)組含有4個元素,每個元素是int類型。,指針與多維數(shù)組,二維數(shù)組的邏輯結(jié)構(gòu)圖如下:,a0,a1,a2,a+0,a+2,a+1,指針與多維數(shù)組,指針與多維數(shù)組,2、指向二維數(shù)組中一行的指針變量,(1)格式:類型名 (*指針變量名)長度; (2)例如:int (*pa)4; (3)含義:pa是指針變量,它指向一個數(shù)組,數(shù)組 含有4個元素,每個元素的類型是int。 (4)說明: a. 與定義 int *pa; 以及 int *pa4; 含義不同。 b. 如果執(zhí)行pa+,則pa實際增加了多少呢?,pa實際增加了2*4=8個字節(jié),指針與多維數(shù)組,c. 若定義:int a34, (*pa)4=a; 則關(guān)系圖為:,a,pa,(*pa)0 (*pa)1 (*pa)2 (*pa)3,如果執(zhí)行pa+, 則變?yōu)槿鐖D所示,pa,pa,那么(*pa)0、(*pa)1、(*pa)2、(*pa)3 也變了,指針與多維數(shù)組,3、幾個表達(dá)式,由 xi *(x+i) 和 &xi x+i 可以得出: aij (*(a+i)j *(ai+j) *(*(a+i)+j) &aij *(a+i)+ j ai+j,指針與多維數(shù)組,例:用各種方法訪問二維數(shù)組各元素 #include main() int aa34=1,2,3,4,5,6,7,8,9,10,11,12; int i, j, *p, (*pa)4; /第一種方法 for (pa=aa,i=0; i3; i+) printf(“n”); for (j=0; j4; j+) printf(“%5d”, paij); ,/第二種方法 for(pa=aa; paaa+3; pa+) printf(“n”); for(j=0; j4; j+) printf(“%5d”,(*pa)j); /第三種方法 for(p=aa0; paa0+3*4; p+) printf(“n”); printf(“%5d”,*p); ,指針與多維數(shù)組,二、通過指針在函數(shù)間傳遞多維數(shù)組,1、函數(shù)的定義形式,例如: int func(int array4, int n) 函數(shù)體; 也可以寫為: int func(int (*pa)4, int n) 函數(shù)體;,指針與多維數(shù)組,2、函數(shù)的說明形式,如有函數(shù)定義: int func(int array4, int n) 函數(shù)體; 則對該函數(shù)的說明形式可以寫為: int func(int array4, int n); int func(int (*pa)4, int n); int func(int 4, int); int func(int (*)4, int);,注意:作為形參定義的數(shù)組名是一個指針變量,它在函數(shù)體中可以變化,這一點與變量定義時不同。,指針與多維數(shù)組,例 求3行4列二維數(shù)組中的最大元素 #include int max_value(int (*pa)4, int row); main() int aa34=1, 3, 5, 7,2, 4, 6, 8,20, 15, 32, 12; printf(“max element is %dn”,max_value(aa, 3); int max_value(int (*pa)4, int row) int i, j, m=pa00; for (i=0;im) m=paij; return(m); ,指針與多維數(shù)組,例 求3行4列二維數(shù)組中的最大元素(另一種方法) #include int max_value(int *p, int n); main() int aa34=1, 3, 5, 7,2, 4, 6, 8,20, 15, 32, 12; int max=max_value( ,指針與多維數(shù)組,指針數(shù)組與指向指針的指針,一、指針數(shù)組,1、指針數(shù)組的概念,指針數(shù)組是一種特殊的數(shù)組,它每個元素的類型都是指針類型(即地址),其它與一般數(shù)組相同。 當(dāng)把某個量的地址放入某元素中后,即可通過該元素對相應(yīng)的量進(jìn)行間接訪問。,2、指針數(shù)組的定義,類型名 *指針數(shù)組名常量表達(dá)式; 如:int *ap3; char *s10;,3、指針數(shù)組的初始化,(1)int a15, a25, a35, *ap3=a1, a2, a3; (2)char *sp=“abc”, “123”, “Hello”;,4、指針數(shù)組的賦值,上面的情況中,可以先定義變量,再進(jìn)行賦值,即 (1)int a15, a25, a35, *ap3; ap0=a1; ap1=a2; ap2=a3; (2)char *sp=“abc”, “123”, “Hello”; sp0=“abc”; sp1=“123”; sp2=“Hello”;,指針數(shù)組與指向指針的指針,例:顯示多個字符串 void main() /指針數(shù)組實現(xiàn) char *ap3=“CPU”, “Computer”, “Microprocessor”; for (int i =0;i3;i+) puts(api); void main() /二維字符數(shù)組實現(xiàn) char aa315=“CPU”, “Computer”, “Microprocessor”; for (int i = 0;i3;i+) puts(aai); ,指針數(shù)組與指向指針的指針,兩種方法中所占內(nèi)存空間的比較,aa0,aa1,aa2,ap,指針數(shù)組與指向指針的指針,二、指向指針的指針,2、多級指針的定義,類型標(biāo)識符 *指針變量名; 注:*的個數(shù)代表級數(shù)(要求掌握到二級即可) 如:char *pp, *p, ch=A; 又p= 則:,1、多級指針的概念,所謂多級指針,是指指針有多級指向關(guān)系。,&p,&ch,A,pp,p,ch,指針數(shù)組與指向指針的指針,3、多級指針的含義,若定義:char *ps=“abc”, “123” ,*pp=ps; 則: *pp 為 “abc” *(pp+1) 為 “123” *(*(pp+1)+2) 為 3 執(zhí)行 pp+; 則:*pp 為 “123”,指針數(shù)組與指向指針的指針,例: 顯示并選擇菜單條目 #include int getchoice(char *menu, int n); void main( ) int chc; static char *mn5= “1. Input”, “2. Copy”, “3. Move”, “4. Delete”, “0. Exit”; chc=getchoice(mn, 5); if (chc=0 ,指針數(shù)組與指向指針的指針,int getchoice(char *menu, int n) int i,choice; for (i=0;in;i+) puts(*(menu+i); printf(“nInput your choice:”); return(getchar( ) - 0); ,指針數(shù)組與指向指針的指針,三、命令行參數(shù),1、命令行參數(shù)的概念,1)DOS命令: copy file1 file2 2)以前的main函數(shù)形式:main( ) 3)mian函數(shù)的調(diào)用由系統(tǒng)完成 4)帶參main函數(shù): main( int argc, char *argv); 或 main( int argc, char *argv); 或 main( int argc, char argv);,指針數(shù)組與指向指針的指針,2、命令行參數(shù)的說明,1)形參也可以用其它名字,習(xí)慣上為argc和argv 2)argc和argv的值的獲得 如有程序myprog.c,經(jīng)編譯和鏈接生成可執(zhí)行程序myprog.exe,在命令行中輸入: myprog argument1 argument2 則 argc的值為3, argv0的值為“myprog”, argv1的值為“argument1”, argv2的值為“argument2”。 3)實現(xiàn):DOS提示符狀態(tài)下或集成環(huán)境中。,指針數(shù)組與指向指針的指針,例 輸出各命令行參數(shù) #include main( int argc, char *argv ) int i; for (i=1;iargc;i+) printf(“arg%d: %sn”, i , argvi); 若可執(zhí)行文件為showarg,運行時鍵入: showarg Computer and C language 則輸出為: arg1: Computer arg2: and arg3: C arg4: language,指針數(shù)組與指向指針的指針,返回指針值的函數(shù),1、概念,當(dāng)函數(shù)的返回值是指針類型(地址)時,則稱為指針函數(shù)。,2、定義,類型名 *函數(shù)名(形參表); 如:int *f (int a);,如:char *gets( char *buffer ); 功能:從stdin流中讀取字符串,直至接受到換行符或EOF時停止,并將讀取的結(jié)果存放在buffer指針?biāo)赶虻淖址麛?shù)組中。換行符不作為讀取串的內(nèi)容,讀取的換行符被轉(zhuǎn)換為null值,并由此來結(jié)束字符串。,例 將一個字符串轉(zhuǎn)換為大寫形式并輸出 #include char *mytoupper(char *s); main( ) char ps80, *s; gets(ps); s=mytoupper(ps); puts(s); char *mytoupper(char *s) char *t=s; while (*t!=0) *t=(*t=a ,返回指針值的函數(shù),指向函數(shù)的指針,1、函數(shù)名的含義,函數(shù)名代表函數(shù)的入口地址,即函數(shù)代碼在內(nèi)存中的起始位置。,2、概念,如果一個指針指向一個函數(shù),則稱該指針為函數(shù)指針。(注意與指針函數(shù)的區(qū)別),3、定義,類型名 (*指針變量名)(形參表); 如:int (*f ) (int a, int b);,例 函數(shù)指針舉例 #include int max(int a, int b); int min (int a, int b); main( ) int x=3, y=4, z; int (*pf) (int , int); pf=max; z=(*pf) (x, y); printf(max is %dn”, z); pf=min; printf(“min is %dn, (*pf) (x,y); ,指向函數(shù)的指針,int max(int a, int b) return(ab?a:b); int min(int a, int b) return(ab?a:b); ,動態(tài)內(nèi)存分配,由變量的作用域和存儲類別知道,內(nèi)存變量都有生存期,以前接觸的變量,其內(nèi)存的分配及釋放都是由系統(tǒng)統(tǒng)一管理的。這一節(jié)我們介紹如何實現(xiàn)自己對變量空間的申請和釋放。 動態(tài)內(nèi)存分配可以提高內(nèi)存的使用效率。,1)void *malloc(unsigned int size); 該函數(shù)實現(xiàn)對內(nèi)存的申請,申請大小為size,返回值為指針類型,指向所申請空間的首地址。 2)void *calloc(unsigned n, unsigned size); 在內(nèi)存動態(tài)存儲區(qū)分配n個長度為size的連續(xù)空間 3)void free(void *block); 該函數(shù)實現(xiàn)對由malloc函數(shù)申請到的內(nèi)存的釋放 4)void *realloc(void *p, unsigned int size); 將p所指向的動態(tài)空間大小改變?yōu)閟ize 5)void exit (int status); 該函數(shù)終止程序的執(zhí)行。 說明:這5個函數(shù)都在頭文件stdlib.h中。,動態(tài)內(nèi)存分配(使用的函數(shù)),調(diào)用形式: (類型說明符*)malloc(size) 功能:在內(nèi)存的動態(tài)存儲區(qū)中分配一塊長
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年醫(yī)院臨床執(zhí)業(yè)醫(yī)師職業(yè)定期考核技能資格知識考試題與答案
- 2025年中考?xì)v史總復(fù)習(xí)初中歷史必考110個重點知識填空匯編
- 培訓(xùn)機構(gòu)教師活動實施框架
- 護(hù)理安全輸血培訓(xùn)
- 醫(yī)院職業(yè)防范培訓(xùn)內(nèi)容
- 路緣機械租賃合同協(xié)議
- 避雷裝置安裝合同協(xié)議
- 景區(qū)車輛協(xié)議書
- 牦牛交易協(xié)議書
- 運輸公司工作合同協(xié)議
- 2025年全國防災(zāi)減災(zāi)日班會 課件
- SL631水利水電工程單元工程施工質(zhì)量驗收標(biāo)準(zhǔn)第1部分:土石方工程
- (二調(diào))武漢市2025屆高中畢業(yè)生二月調(diào)研考試 英語試卷(含標(biāo)準(zhǔn)答案)+聽力音頻
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設(shè)計規(guī)范
- 投標(biāo)貨物的包裝、運輸方案
- 突發(fā)公共衛(wèi)生事件流行病學(xué)-課件
- 綠化養(yǎng)護(hù)報價表(共8頁)
- 小升初幼升小學(xué)生擇校重點中學(xué)入學(xué)簡歷自薦信自我介紹word模板 女生版
- 本科教學(xué)工作審核評估匯報PPT課件
- 工業(yè)用機器人畢業(yè)設(shè)計
- 梁祝四重奏譜
評論
0/150
提交評論