版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言程序設(shè)計(jì)指針,林大 經(jīng)管學(xué)院 瞿華,指針,指針是啥? 指針基本運(yùn)算 函數(shù)中的指針 指針與數(shù)組 指針與動(dòng)態(tài)數(shù)組 指針與結(jié)構(gòu) 函數(shù)指針 指針數(shù)組與多重指針 實(shí)驗(yàn),一、指針是啥,什么是指針? 假設(shè)Z同學(xué)是我們班作業(yè)做得最好的同學(xué),大家都喜歡參考他的作業(yè)。 Z=作業(yè)的標(biāo)準(zhǔn)答案 可以把Z看作是一個(gè)作業(yè)類型的普通變量 某天A同學(xué)找Z:“把作業(yè)借我參考一下?”周X回答:“標(biāo)準(zhǔn)答案在Y同學(xué)那里,你找他吧” Z=“標(biāo)準(zhǔn)答案在Y那里” 這時(shí)候Z相當(dāng)于一個(gè)指向別人(Y)的鏈接, 他就變成了一個(gè)指針!,一、指針是啥,指針(Point)實(shí)際上就是一個(gè)鏈接! 指針變量中保存的內(nèi)容是一個(gè)內(nèi)存地址。 例: int y=
2、10; int *z= 指針z的內(nèi)容就是y所在的內(nèi)存地址。 “z,標(biāo)準(zhǔn)答案是多少?” z說:你去問y吧! y說:標(biāo)準(zhǔn)答案是10!,一、指針是啥,int y=10; int *z=,10,y,內(nèi)存地址1008,1008,z,內(nèi)存地址1004,z指向y,二、指針基本運(yùn)算,要學(xué)好指針,必須熟練掌握指針相關(guān)的運(yùn)算。(接下來會(huì)提問?。┤纾?指針的定義方法:在變量標(biāo)識(shí)符前加* int *p,a,b; /定義了一個(gè)整型指針p和一個(gè)普通變量a /將30賦給p指向的內(nèi)存中 對(duì)于指針p,*p相當(dāng)于一個(gè)普通變量! 見01points.c(使用調(diào)試單步執(zhí)行查看結(jié)果),2.1 ,?,a,內(nèi)存地址1008,?,b,內(nèi)存地
3、址1004,?,p,內(nèi)存地址1000,2.1 a=10;,?,a,內(nèi)存地址1008,?,b,內(nèi)存地址1004,?,p,內(nèi)存地址1000,2.1 a=10;,10,a,內(nèi)存地址1008,?,b,內(nèi)存地址1004,?,p,內(nèi)存地址1000,2.1 a=10; p=,10,a,內(nèi)存地址1008,?,b,內(nèi)存地址1004,?,p,內(nèi)存地址1000,2.1 a=10; p=,10,a,內(nèi)存地址1008,?,b,內(nèi)存地址1004,1000,p,內(nèi)存地址1000,2.1 a=10; p=,10,a,內(nèi)存地址1008,?,b,內(nèi)存地址1004,1000,p,內(nèi)存地址1000,2.1 a=10; p=,10,a
4、,內(nèi)存地址1008,10,b,內(nèi)存地址1004,1000,p,內(nèi)存地址1000,2.1 a=10; p=,10,a,內(nèi)存地址1008,10,b,內(nèi)存地址1004,1000,p,內(nèi)存地址1000,2.1 a=10; p=,20,a,內(nèi)存地址1008,10,b,內(nèi)存地址1004,1000,p,內(nèi)存地址1000,2.1 a=10; p=,20,a,內(nèi)存地址1008,10,b,內(nèi)存地址1004,1000,p,內(nèi)存地址1000,2.1 a=10; p=,21,a,內(nèi)存地址1008,10,b,內(nèi)存地址1004,1000,p,內(nèi)存地址1000,2.1 double *p2; sizeof(p1)和sizeo
5、f(p2)哪個(gè)大?為什么? 因?yàn)槲覀兪褂玫氖?2位的gcc編譯器(dev-cpp自帶),所以每個(gè)指針的大小都是32位,即4個(gè)字節(jié)。 見04size.c,三、函數(shù)中的指針,折騰指針有啥用呢? 回憶一下函數(shù)的知識(shí): 在函數(shù)中改變形式參數(shù)的值,會(huì)影響實(shí)際參數(shù)嗎?為什么? 見05swap_1.c 由于: 函數(shù)的形式參數(shù)實(shí)質(zhì)上是一個(gè)局部變量 函數(shù)執(zhí)行時(shí)先將實(shí)際參數(shù)的值賦給形式參數(shù) 所以在函數(shù)中改變形式參數(shù),不會(huì)影響實(shí)際參數(shù),三、函數(shù)中的指針,swap(i,t)就相當(dāng)于: int a=i; int b=t; int temp=a; a=b; b=temp; 很顯然,i和t的值實(shí)際并未改變。,3.1 指針類
6、型參數(shù),可是我確實(shí)需要在函數(shù)中改變實(shí)參的值,怎么辦? 使用指針類型參數(shù),就可以解決這個(gè)問題。 見05swap_2.c 為什么? 在函數(shù)swap(int *p1,int *p2)中,p1和p2是兩個(gè)指針類型的形式參數(shù)。 注意,在函數(shù)中,p1和p2各自指向哪里有變化嗎? 變化的是*p1和*p2,即p1和p2指向的內(nèi)存地址中保存的數(shù)據(jù)!,3.1 指針類型參數(shù),swap( 很顯然,這樣是能交換i和t的內(nèi)容的。,3.1 指針類型參數(shù),使用指針參數(shù)的另外一個(gè)好處是節(jié)約棧空間。 見06stacksize.c。程序?yàn)槭裁磿?huì)異常關(guān)閉? 由于函數(shù)調(diào)用時(shí)會(huì)為struct參數(shù)分配很大一塊內(nèi)存(1M字節(jié)),超過了棧的現(xiàn)
7、有空間大小,導(dǎo)致堆棧溢出。 見06stacksize_2.c,改用struct指針作為參數(shù)。 函數(shù)調(diào)用時(shí)只需要為指針參數(shù)分配一塊內(nèi)存(還記得一個(gè)指針占用多大空間嗎?),所以就不存在堆棧溢出問題了!,3.2 指針類型返回值,函數(shù)也可以返回指針類型的數(shù)據(jù)。 例:07pointreturn.c 思考:可以返回一個(gè)指向函數(shù)局部變量的指針嗎?為什么? 見08localpoint.c 因?yàn)楹瘮?shù)執(zhí)行完畢后,其局部變量的生命就結(jié)束了!對(duì)應(yīng)的內(nèi)存空間可能會(huì)被別的變量使用! Never ever返回指向函數(shù)局部變量的指針!,四、指針與數(shù)組,指針變量中保存的是地址。 也可以理解為,指針就是地址類型的變量。 數(shù)組實(shí)質(zhì)
8、上是地址類型的常量。 因此: 可以將數(shù)組地址賦給指針 也可以直接使用下標(biāo)來訪問指針指向的數(shù)組地址。 同樣,可以使用*運(yùn)算符來訪問數(shù)組的第一個(gè)元素 見09arraypoint.c,4.2數(shù)組元素訪問與指針,如果希望指針p指向a的第4個(gè)元素的地址,怎么辦? 方法1:使用 方法2:使用+運(yùn)算符 p=a+3; 方法2寫起來更簡單,因此更常見。 思考:想得到字符串str從第3個(gè)字符開始的字串,怎么辦? 假設(shè)str為”12345678”,想得到”45678”。 見10substring.c,4.3 指針地址運(yùn)算,指針(數(shù)組)可以與整數(shù)做加減運(yùn)算,得到的是一個(gè)新的地址 假設(shè)p指向一個(gè)數(shù)組,那么: p+1指向
9、數(shù)組中的下一個(gè)元素。 p-1指向數(shù)組中的上一個(gè)元素。 p+4指向數(shù)組中的后面第4個(gè)元素 p-4指向數(shù)組中的前面第4個(gè)元素 p+令p指向數(shù)組中的下一個(gè)元素 p令p指向數(shù)組中的上一個(gè)元素 見11pointmath.c,4.3 指針地址運(yùn)算,C語言中經(jīng)常利用地址運(yùn)算來處理字符串 例:模擬實(shí)現(xiàn)strcpy函數(shù) 見例12strcpy.c 注意,該程序使用了多個(gè)技巧,請(qǐng)認(rèn)真思考體會(huì): 字符串以0結(jié)尾 C語言中將0作為邏輯假,非0作為邏輯真 指針?biāo)銛?shù)+; 函數(shù)形參改變不影響實(shí)參,4.3 指針地址運(yùn)算,在C語言中,兩個(gè)同類型的指針可以做減法。 要讓兩個(gè)指針的減法p2-p1產(chǎn)生有意義的結(jié)果,需要滿足下面兩個(gè)條件
10、: p2和p1指向同一個(gè)數(shù)組的不同元素 p2指向的元素與p1相同,或者在p1指向的元素之后 則p2-p1表示p2和p1之間差多少個(gè)元素,即p2指向的元素與p1指向的元素的下標(biāo)之差 見13strlen.c,計(jì)算字符串長度,4.4 數(shù)組參數(shù)與指針,在函數(shù)定義中,將參數(shù)類型定義為指針或者定義為數(shù)組,效果都是一樣的 實(shí)際都是定義了一個(gè)指針類型的參數(shù)。 這是C語言的一個(gè)語法糖 /syntax sugar 同樣,也可以將數(shù)組作為實(shí)參傳遞給指針類型的形參 見例14arrayparam.c,4.5 字符串與指針,使用字符數(shù)組與字符指針,最大的區(qū)別在于C對(duì)它們的初始化的處理上。 例如: char str=“He
11、llo world!”; char s*=“Hello world!”; C會(huì)為str在棧上分配一塊13字節(jié)大小的內(nèi)存,并將“Hello world!”這13個(gè)字符拷貝到這塊內(nèi)存中。 相當(dāng)于:char str13;strcpy(str,”Hello world!”); 而s只是在棧上分配了4字節(jié)大小的內(nèi)存,然后把“Hello world!”在程序的常量數(shù)據(jù)區(qū)中的地址保存在s中。,4.5 字符串與指針,由于程序的常量區(qū)是不可寫的,所以在程序中可以修改str的內(nèi)容,而修改s的內(nèi)容就會(huì)出錯(cuò)! 見:15strchange.c,4.6 練習(xí),已知: int a=0,1,2,3,4,5,6,7,8,9,1
12、0; int *p1=a,*p2=a+10,*p3; 求下列運(yùn)算的結(jié)果:,(7)*(p1+3)+*(a+5) 8 (8)p14+a610 (9)p3=p1;p3+;*p31 (10)p3=a+6;p3-p1;6 (11)p1=a 0 (12)p2=p1 1,(1)p2-p1 10 (2)*(p1) 0 (3)p100 (4)*a0 (5)*(a+5)5 (6)*(p2-3)7,五、指針與動(dòng)態(tài)數(shù)組,除了用作函數(shù)參數(shù)外,指針的另一個(gè)重要作用是用來實(shí)現(xiàn)動(dòng)態(tài)內(nèi)存管理。 所謂動(dòng)態(tài)內(nèi)存,就是指大小、生存期都由你的代碼自己來控制一塊內(nèi)存。 主要涉及兩個(gè)函數(shù),即malloc/表示內(nèi)存分配和free。/表示內(nèi)存
13、釋放 malloc:在堆(heap)中分配一塊指定大小的內(nèi)存 free:釋放之前由malloc分配的內(nèi)存。 堆的大小只受到操作系統(tǒng)尋址能力的限制(32位指針最大只能表示4G內(nèi)存) 動(dòng)態(tài)內(nèi)存最常見的用途之一是實(shí)現(xiàn)動(dòng)態(tài)數(shù)組。,五、指針與動(dòng)態(tài)數(shù)組,普通數(shù)組主要有兩個(gè)缺陷: 數(shù)組的大小是程序編寫時(shí)決定的。為了保證數(shù)組的大小夠用,通常需要將數(shù)組定得很大,導(dǎo)致內(nèi)存的浪費(fèi)。 數(shù)組的大小受到??臻g大小的限制。 使用動(dòng)態(tài)數(shù)組就可以解決這些問題。 見17dynamicarray.c 注意:使用動(dòng)態(tài)內(nèi)存分配時(shí),一定要注意及時(shí)free不需要的內(nèi)存。否則就會(huì)造成內(nèi)存泄漏。,六、指針與結(jié)構(gòu),指針除了可以用于指向基本數(shù)據(jù)類
14、型的地址外,也可以指向結(jié)構(gòu)等自定義類型數(shù)據(jù)的地址。 結(jié)構(gòu)指針在使用上和普通類型指針沒有區(qū)別。 可以先用*取指針對(duì)應(yīng)結(jié)構(gòu)的內(nèi)容,然后用.來訪問其成員,如(*p).name 但也可以直接使用-訪問結(jié)構(gòu)指針成員,這種用法更常見,如:p-name 例:見18structpoints.c,6.1 結(jié)構(gòu)指針與參數(shù),使用結(jié)構(gòu)指針來作為函數(shù)的形參是一種常見的函數(shù)定義方式。 好處: 利用結(jié)構(gòu)的成員,一次可以傳入多項(xiàng)數(shù)據(jù),從而簡化了函數(shù)的定義和調(diào)用 使用結(jié)構(gòu)指針做形參,可以在函數(shù)中修改結(jié)構(gòu)的成員 使用結(jié)構(gòu)指針做形參,可以減少函數(shù)調(diào)用時(shí)參數(shù)內(nèi)容復(fù)制的開銷。 后面我們會(huì)大量使用結(jié)構(gòu)指針來做形參!,6.2 鏈表,利用結(jié)
15、構(gòu)指針,可以實(shí)現(xiàn)一種重要的數(shù)據(jù)結(jié)構(gòu)鏈表。 使用動(dòng)態(tài)數(shù)組,我們可以解決程序編寫時(shí),不知道實(shí)際元素的數(shù)量導(dǎo)致的??臻g浪費(fèi)問題。 但動(dòng)態(tài)數(shù)組依然需要在為數(shù)組分配空間之前知道元素的數(shù)量! 如果在實(shí)際使用中,實(shí)際元素的數(shù)量是經(jīng)常動(dòng)態(tài)變化的,那么動(dòng)態(tài)數(shù)組依然會(huì)有內(nèi)存浪費(fèi)的問題。,6.2 鏈表,數(shù)組還存在另一個(gè)缺點(diǎn),就是刪除和插入元素的效率問題。 如果要將一個(gè)新元素插入到數(shù)組的第3個(gè)位置上,那么從3到最后的全部元素都必須向后移動(dòng)一位 同樣,刪除元素需要將后面的全部元素向前移動(dòng)一位 鏈表解決了數(shù)組的這些缺點(diǎn)。它也是一種常用的數(shù)據(jù)結(jié)構(gòu)。它的特點(diǎn)是: 能夠動(dòng)態(tài)增加或減少元素 插入或刪除某個(gè)元素,只會(huì)影響和它相鄰的
16、兩個(gè)元素。 搞明白鏈表及其操作,指針就徹底學(xué)會(huì)了!,6.2 鏈表,鏈表(Chained List/Linked List)在形式上類似于現(xiàn)實(shí)中的鏈條: 由多個(gè)結(jié)點(diǎn)(node)組成 每個(gè)結(jié)點(diǎn)中除數(shù)據(jù)外,還包含一個(gè)指針,指向鏈表中的下一個(gè)結(jié)點(diǎn)。 通過指針,各結(jié)點(diǎn)依次連接成一個(gè)鏈表 我們利用圖形的形式來看一下鏈表,6.2 鏈表,哨兵,結(jié)點(diǎn)1,結(jié)點(diǎn)2,結(jié)點(diǎn)3,結(jié)點(diǎn)4,結(jié)點(diǎn)5,NULL,鏈表頭指針head,單向鏈表的基本形式,struct node int data; struct node* next; ;,6.2 鏈表,哨兵,結(jié)點(diǎn)1,結(jié)點(diǎn)2,結(jié)點(diǎn)3,結(jié)點(diǎn)4,結(jié)點(diǎn)5,NULL,鏈表頭指針head,指針
17、變量p,struct node int data; struct node* next; ;,p=head-next; while(p-next!=NULL) /訪問數(shù)據(jù)p-data p=p-next; ,遍歷鏈表,6.2 鏈表,結(jié)點(diǎn)1,結(jié)點(diǎn)2,結(jié)點(diǎn)3,結(jié)點(diǎn)4,結(jié)點(diǎn)5,NULL,鏈表頭指針head,指針變量p,struct node int data; struct node* next; ;,p=head-next; while(p-next!=NULL) /訪問數(shù)據(jù)p-data p=p-next; ,遍歷鏈表,哨兵,6.2 鏈表,結(jié)點(diǎn)1,結(jié)點(diǎn)2,結(jié)點(diǎn)3,結(jié)點(diǎn)4,結(jié)點(diǎn)5,NULL,鏈表頭指針
18、head,指針變量p,struct node int data; struct node* next; ;,p=head-next; while(p-next!=NULL) /訪問數(shù)據(jù)p-data p=p-next; ,遍歷鏈表,哨兵,6.2 鏈表,結(jié)點(diǎn)1,結(jié)點(diǎn)2,結(jié)點(diǎn)3,結(jié)點(diǎn)4,結(jié)點(diǎn)5,NULL,鏈表頭指針head,指針變量p,struct node int data; struct node* next; ;,p=head-next; while(p-next!=NULL) /訪問數(shù)據(jù)p-data p=p-next; ,遍歷鏈表,哨兵,6.2 鏈表,結(jié)點(diǎn)1,結(jié)點(diǎn)2,結(jié)點(diǎn)3,結(jié)點(diǎn)4,結(jié)點(diǎn)5,
19、NULL,鏈表頭指針head,指針變量p,struct node int data; struct node* next; ;,p=head-next; while(p-next!=NULL) /訪問數(shù)據(jù)p-data p=p-next; ,遍歷鏈表,哨兵,6.2 鏈表,結(jié)點(diǎn)1,結(jié)點(diǎn)2,結(jié)點(diǎn)3,結(jié)點(diǎn)4,結(jié)點(diǎn)5,NULL,鏈表頭指針head,遍歷鏈表,指針變量p,struct node int data; struct node* next; ;,p=head-next; while(p-next!=NULL) /訪問數(shù)據(jù)p-data p=p-next; ,NULL,哨兵,6.2 鏈表,哨兵,結(jié)點(diǎn)
20、1,結(jié)點(diǎn)2,結(jié)點(diǎn)3,結(jié)點(diǎn)4,結(jié)點(diǎn)5,鏈表頭指針head,新節(jié)點(diǎn),struct node int data; struct node* next; ;,先使用遍歷操作找到接點(diǎn)2; p2-next=p1-next;,插入新結(jié)點(diǎn)到結(jié)點(diǎn)2、3之間,指針變量p1,指針變量p2,NULL,NULL,6.2 鏈表,結(jié)點(diǎn)1,結(jié)點(diǎn)2,結(jié)點(diǎn)3,結(jié)點(diǎn)4,結(jié)點(diǎn)5,鏈表頭指針head,新節(jié)點(diǎn),struct node int data; struct node* next; ;,先使用遍歷操作找到接點(diǎn)2; p2-next=p1-next; p1-next-p2;,插入新結(jié)點(diǎn)到結(jié)點(diǎn)2、3之間,指針變量p1,指針變量p2,N
21、ULL,哨兵,6.2 鏈表,結(jié)點(diǎn)1,結(jié)點(diǎn)2,結(jié)點(diǎn)3,結(jié)點(diǎn)4,結(jié)點(diǎn)5,鏈表頭指針head,新節(jié)點(diǎn),struct node int data; struct node* next; ;,先使用遍歷操作找到接點(diǎn)2; p2-next=p1-next; p1-next-p2; 整理一下圖形,插入新結(jié)點(diǎn)到結(jié)點(diǎn)2、3之間,指針變量p1,指針變量p2,NULL,哨兵,6.2 鏈表,結(jié)點(diǎn)1,結(jié)點(diǎn)2,結(jié)點(diǎn)3,結(jié)點(diǎn)4,結(jié)點(diǎn)5,鏈表頭指針head,新節(jié)點(diǎn),struct node int data; struct node* next; ;,先使用遍歷操作找到接點(diǎn)2; p2-next=p1-next; p1-next-
22、p2; 整理一下圖形,插入新結(jié)點(diǎn)到結(jié)點(diǎn)2、3之間,NULL,哨兵,6.2 鏈表,哨兵,結(jié)點(diǎn)1,結(jié)點(diǎn)2,結(jié)點(diǎn)3,結(jié)點(diǎn)4,結(jié)點(diǎn)5,NULL,鏈表頭指針head,指針變量p1,struct node int data; struct node* next; ;,令p1指向結(jié)點(diǎn)1,p2指向結(jié)點(diǎn)2 p1-next=p2-next;,刪除結(jié)點(diǎn)2,指針變量p2,6.2 鏈表,結(jié)點(diǎn)1,結(jié)點(diǎn)2,結(jié)點(diǎn)3,結(jié)點(diǎn)4,結(jié)點(diǎn)5,NULL,鏈表頭指針head,指針變量p1,struct node int data; struct node* next; ;,令p1指向結(jié)點(diǎn)1,p2指向結(jié)點(diǎn)2 p1-next=p2-next;
23、 整理圖形,刪除結(jié)點(diǎn)2,指針變量p2,哨兵,6.2 鏈表,結(jié)點(diǎn)1,結(jié)點(diǎn)3,結(jié)點(diǎn)4,結(jié)點(diǎn)5,NULL,鏈表頭指針head,struct node int data; struct node* next; ;,令p1指向結(jié)點(diǎn)1,p2指向結(jié)點(diǎn)2 p1-next=p2-next;,刪除結(jié)點(diǎn)2,哨兵,6.2 鏈表,在單向鏈表的基礎(chǔ)上,還可以進(jìn)一步實(shí)現(xiàn)雙向鏈表、循環(huán)鏈表等更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。 例:輸入學(xué)生信息,學(xué)號(hào)為0時(shí)結(jié)束輸入。保存并輸出按照學(xué)號(hào)排序的信息。然后用戶每輸入一個(gè)名字,從存儲(chǔ)中刪除對(duì)應(yīng)的信息,直到用戶輸入回車或存儲(chǔ)為空為止。 分析: 使用鏈表保存學(xué)生信息 每輸入一個(gè)學(xué)生信息,動(dòng)態(tài)建立一個(gè)結(jié)點(diǎn),并插入到合適的位置 最后使用遍歷操作來輸出學(xué)生信息 例:19studentlink.c,七、函數(shù)指針,指針實(shí)質(zhì)上是一個(gè)內(nèi)存地址。這個(gè)地址不但可以是數(shù)據(jù)的存放地址,也可以是一段代碼的地址。 函數(shù)指針就是一個(gè)指向函數(shù)地址的指針,即指向代碼的指針。 函數(shù)指針的定義及使用見20funcpoints.c 利用函數(shù)指針,可以實(shí)現(xiàn)很多非常強(qiáng)大的功能。,7.1 函數(shù)指針做參數(shù),使用函數(shù)指針做函數(shù)的參數(shù),可以用一個(gè)函數(shù)實(shí)現(xiàn)多個(gè)功能 例:學(xué)生信
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 舞蹈藝術(shù)之魅力
- 人事部在企業(yè)戰(zhàn)略中的角色計(jì)劃
- 感恩父母與愛同行的演講稿5篇
- 2024年員工三級(jí)安全培訓(xùn)考試題(滿分必刷)
- 2023-2024年項(xiàng)目安全培訓(xùn)考試題帶答案(奪分金卷)
- 社團(tuán)運(yùn)營與成員發(fā)展
- 《本科心律失?!氛n件
- 教授能量轉(zhuǎn)換守恒
- 北師大版八年級(jí)下冊(cè)數(shù)學(xué)期末測試題
- 印刷設(shè)備智能化升級(jí)-第1篇-洞察分析
- 2024-2025學(xué)年七年級(jí)上學(xué)期歷史觀點(diǎn)及論述題總結(jié)(統(tǒng)編版)
- 2024年市特殊教育學(xué)校工作總結(jié)范文(2篇)
- 【MOOC】創(chuàng)新思維與創(chuàng)業(yè)實(shí)驗(yàn)-東南大學(xué) 中國大學(xué)慕課MOOC答案
- 青島大學(xué)《英語綜合》2023-2024學(xué)年第一學(xué)期期末試卷
- 課題1 金屬材料 教學(xué)設(shè)計(jì) 九年級(jí)化學(xué)下冊(cè)人教版2024
- EPC工程總承包實(shí)施方案
- 新人模特經(jīng)紀(jì)合同范例
- 電動(dòng)車自燃應(yīng)急預(yù)案
- 語法辨析-中考語文真題題源解密(遼寧版)(帶答案)
- 山西省晉中市2023-2024學(xué)年高一上學(xué)期期末考試 化學(xué) 含解析
- 2024-2030年中國電子駐車制動(dòng)器(EPB)行業(yè)發(fā)展現(xiàn)狀及前景趨勢研究報(bào)告
評(píng)論
0/150
提交評(píng)論