版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精品文檔 C語(yǔ)言書寫規(guī)范指南 第1章文件結(jié)構(gòu) 每個(gè)C程序通常分為兩個(gè)文件。一個(gè)文件用于保存程序的聲明(declaration ),稱為頭 文件。另一個(gè)文件用于保存程序的實(shí)現(xiàn)(impleme ntatio n ),稱為定義(defi ni tion )文 件。 C程序的頭文件以“ .h ”為后綴,C程序的定義文件以“ .c ”為后綴。 1.1版權(quán)和版本的聲明 1-1),主要內(nèi)容有: 版權(quán)和版本的聲明位于頭文件和定義文件的開(kāi)頭(參見(jiàn)示例 (1)版權(quán)信息。 (2)文件名稱,標(biāo)識(shí)符,摘要。 (3)當(dāng)前版本號(hào),作者/修改者,完成日期。 (4)版本歷史信息。 /* *Copyright(c)2001, 吉
2、林大學(xué)物理學(xué)院無(wú)線電 *Allrightsreserved. * *文件名稱: file name.h *文件標(biāo)識(shí): *摘 要:簡(jiǎn)要描述本文件的內(nèi)容 * *當(dāng)前版本:1.1 *作 者:輸入作者(或修改者)名字 *完成日期: 2007年7月20日 * *取代版本: 1.0 *原作者 *完成日期: :輸入原作者(或修改者)名字 2007年 5月 10日 */ 示例1-1版權(quán)和版本的聲明 1.2頭文件的結(jié)構(gòu) 頭文件由三部分內(nèi)容組成: (1)頭文件開(kāi)頭處的版權(quán)和版本聲明(參見(jiàn)示例 1-1)。 (2)預(yù)處理塊。 (3)函數(shù)和類結(jié)構(gòu)聲明等。 假設(shè)頭文件名稱為 SCL_SPI.h,頭文件的結(jié)構(gòu)參見(jiàn)示例 1-
3、2。 【規(guī)則1-2-1】為了防止頭文件被重復(fù)引用,應(yīng)當(dāng)用#ifndef/#defi ne/#e ndif結(jié)構(gòu)產(chǎn)生預(yù)處理 塊。 【規(guī)則1-2-2】用#inelude格式來(lái)引用標(biāo)準(zhǔn)庫(kù)的頭文件(編譯器將從標(biāo)準(zhǔn)庫(kù)目 錄開(kāi)始搜索)。 【規(guī)則1-2-3】用#include“filename.h ”格式來(lái)引用非標(biāo)準(zhǔn)庫(kù)的頭文件(編譯器將從用戶 的工作目錄開(kāi)始搜索)。 【規(guī)則1-2-4】#include 后面使用TAB鍵控制排版。 【規(guī)則1-2-5】頭文件中只存放“聲明”而不存放“定義” 【規(guī)則1-2-6】全局變量在頭文件中聲明,在.c文件中定義 .h extern in tvalue;聲明。 .c in tv
4、alue=0 x10; 定義。 【規(guī)則1-2-7】局部變量在.c中定義(static) un sig ned in tvalue; 定義。 /版權(quán)和版本聲明見(jiàn)示例1-1,此處省略。 #ifndef #defi ne #in clude SCL_SPI_H / SCL_SPI_H / 防止SCL SPI.h被重復(fù)引用 引用標(biāo)準(zhǔn)庫(kù)的頭文件 #in clude “SCL CAN.” /引用非標(biāo)準(zhǔn)庫(kù)的頭文件 void Function1(); 全局函數(shù)聲明 全局變量聲明 exter n un sig n int value;/ #en dif 示例1-2C頭文件的結(jié)構(gòu) 1.3定義文件的結(jié)構(gòu) 定義文件有
5、三部分內(nèi)容: (1) 定義文件開(kāi)頭處的版權(quán)和版本聲明(參見(jiàn)示例1-1)。 (2) 對(duì)一些頭文件的引用。 (3) 程序的實(shí)現(xiàn)體(包括數(shù)據(jù)和代碼)。 假設(shè)定義文件的名稱為 SCL_SPI.c,定義文件的結(jié)構(gòu)參見(jiàn)示例1-3。 /版權(quán)和版本聲明見(jiàn)示例1-1,此處省略。 #include “ SCL_SPLh ” / 引用頭文件 /全局變量定義 un sig n int value = 0 x10; /全局函數(shù)的實(shí)現(xiàn)體 void Function1( ) 示例1-3C定義文件的結(jié)構(gòu) 1.4頭文件的作用 早期的編程語(yǔ)言如Basic、Fortran沒(méi)有頭文件的概念,C語(yǔ)言的初學(xué)者雖然會(huì)用使用頭文 件,但常常
6、不明其理。這里對(duì)頭文件的作用略作解釋: (1) 通過(guò)頭文件來(lái)調(diào)用庫(kù)功能。在很多場(chǎng)合,源代碼不便(或不準(zhǔn))向用戶公布,只要向用 戶提供頭文件和二進(jìn)制的庫(kù)即可。用戶只需要按照頭文件中的接口聲明來(lái)調(diào)用庫(kù)功能,而不 必關(guān)心接口怎么實(shí)現(xiàn)的。編譯器會(huì)從庫(kù)中提取相應(yīng)的代碼。 (2) 頭文件能加強(qiáng)類型安全檢查。如果某個(gè)接口被實(shí)現(xiàn)或被使用時(shí),其方式與頭文件中的聲 明不一致,編譯器就會(huì)指出錯(cuò)誤,這一簡(jiǎn)單的規(guī)則能大大減輕程序員調(diào)試、改錯(cuò)的負(fù)擔(dān)。 1.5目錄結(jié)構(gòu) 如果一個(gè)軟件的頭文件數(shù)目比較多(如超過(guò)十個(gè)),通常應(yīng)將頭文件和定義文件分別保存 于不同的目錄,以便于維護(hù)。 例如可將頭文件保存于in elude 目錄,將定
7、義文件保存于source目錄(可以是多級(jí)目 錄)。 如果某些頭文件是私有的,它不會(huì)被用戶的程序直接引用,則沒(méi)有必要公開(kāi)其“聲明”。 為了加強(qiáng)信息隱藏,這些私有的頭文件可以和定義文件存放于同一個(gè)目錄。 第2章程序的版式 版式雖然不會(huì)影響程序的功能,但會(huì)影響可讀性。程序的版式追求清晰、美觀,是程序風(fēng) 格的重要構(gòu)成因素。 可以把程序的版式比喻為“書法”。好的“書法”可讓人對(duì)程序一目了然,看得興致勃 勃。差的程序“書法”如螃蟹爬行,讓人看得索然無(wú)味,更令維護(hù)者煩惱有加。請(qǐng)程序員們 學(xué)習(xí)程序的“書法”,彌補(bǔ)大學(xué)計(jì)算機(jī)教育的漏洞,實(shí)在很有必要。 2.1空行 空行起著分隔程序段落的作用??招械皿w(不過(guò)多也不
8、過(guò)少)將使程序的布局更加清 晰??招胁粫?huì)浪費(fèi)內(nèi)存,雖然打印含有空行的程序是會(huì)多消耗一些紙張,但是值得。所以不 要舍不得用空行。 【規(guī)則2-1-1】在每個(gè)函數(shù)定義結(jié)束之后都要加空行。參見(jiàn)示例2-1 ( a) 【規(guī)則2-1-2】在一個(gè)函數(shù)體內(nèi),邏揖上密切相關(guān)的語(yǔ)句之間不加空行,其它地方應(yīng)加空行分 隔。參見(jiàn)示例2-1 (b) /空行 void Function1( ) /空行 void Function2() 示例2-1(a)函數(shù)之間的空行 /空行 while (con diti on) stateme nt1; /空行 if (con diti on) stateme nt2; else stat
9、eme nt3; /空行 stateme nt4; 示例2-1(b)函數(shù)內(nèi)部的空行 2.2代碼行 【規(guī)則2-2-1】一行代碼只做一件事情,如只定義一個(gè)變量,或只寫一條語(yǔ)句。這樣的代碼容易閱 讀,并且方便于寫注釋。 【規(guī)則2-2-2】if、for、while、do等語(yǔ)句自占一行,執(zhí)行語(yǔ)句不得緊跟其后。不論執(zhí)行語(yǔ)句有多 少都要加。這樣可以防止書寫失誤。 示例2-2 (a)為風(fēng)格良好的代碼行,示例2-2 (b)為風(fēng)格不良的代碼行。 ntwidth;/寬度 ntheight;/高度 ntdepth;/深度 中間使用TABt控制距離 intwidth,height,depth;寬度高度深度 x = a+
10、b; /等號(hào)左右用空格控制距離 y = c+d; z = e+f; x = a+b;y=c+d;z=e+f; if (width height)/左右用空格控制距離 dosomething(); / 使用 TABS控制距離 if(width= 、 = 、 等二元操作符的前后應(yīng)當(dāng)加空格。 【規(guī)則2-3-6】一元操作符如“ ! ” 后不加空格。 【規(guī)則2-3-7】象“口 +” 算術(shù)操作符、 a * ?a 邏輯操作符、 %、 “ i10;i+) 這類操作符前后不加空格。 語(yǔ)句和if語(yǔ)句,為了緊湊起見(jiàn)可以適當(dāng)?shù)厝サ粢恍?和 if(a=b) i10; i+) /良好的風(fēng)格 for(i=0;i10;i+)
11、 /不良的風(fēng)格 for(I = 0; I 10; I+) /過(guò)多的空格 x = a b ? a : b; /良好的風(fēng)格 x=a Function。; / 不要寫成 b - Function(); 示例2-3代碼行內(nèi)的空格 2.4對(duì)齊 【規(guī)則2-4-1】程序的分界符 和 應(yīng)獨(dú)占一行并且位于同一列,同時(shí)與引用它們的語(yǔ)句左 對(duì)齊。 【規(guī)則2-4-2】之內(nèi)的代碼塊在右邊一個(gè)TAB鍵處左對(duì)齊。 示例2-4( a)為風(fēng)格良好的對(duì)齊,示例2-4( b)為風(fēng)格不良的對(duì)齊。 void Function (int x) /programcode Void Function(intx) -/programcode
12、if (condition) -/programcode else -/programcode if(condition) -/programcode else -/programcode for (initialization; condition; update) -/programcode for(initialization;condition;update) -/programcode while (condition) -/programcode while(condition) -/programcode 如果出現(xiàn)嵌套的,則使用縮進(jìn)對(duì)齊,如: 示例2-4(a)風(fēng)格良好的對(duì)齊示例2
13、-4(b)風(fēng)格不良的對(duì)齊 2.5長(zhǎng)行拆分 【規(guī)則2-5-1】代碼行最大長(zhǎng)度宜控制在 70至80個(gè)字符以內(nèi)。代碼行不要過(guò)長(zhǎng),否則眼睛看 不過(guò)來(lái),也不便于打印。 【規(guī)則2-5-2】長(zhǎng)表達(dá)式要在低優(yōu)先級(jí)操作符處拆分成新行,操作符放在新行之首(以便突 出操作符)。拆分出的新行要進(jìn)行適當(dāng)?shù)目s進(jìn),使排版整齊,語(yǔ)句可讀。 if (very_ Ion ger_variable1 = very_lon ger_variable12) /類的成員函數(shù) 【規(guī)則3-1-8】用正確的反義詞組命名具有互斥意義的變量或相反動(dòng)作的函數(shù)等。例如: intmi nV alue; intmaxValue; intSetValue(
14、); intGetValue(); 【建議3-1-1】盡量避免名字中出現(xiàn)數(shù)字編號(hào),如Value1,Value2等,除非邏輯上的確需 要編號(hào)。這是為了防止程序員偷懶,不肯為命名動(dòng)腦筋而導(dǎo)致產(chǎn)生無(wú)意義的名字(因?yàn)?用數(shù)字編號(hào)最省事)。 3.2簡(jiǎn)單的Windows應(yīng)用程序命名規(guī)則 作者對(duì)“匈牙利”命名規(guī)則做了合理的簡(jiǎn)化,下述的命名規(guī)則簡(jiǎn)單易用,比較適合于 Win dows應(yīng)用軟件的開(kāi)發(fā)。 【規(guī)則3-2-1】類名和函數(shù)名用大寫字母開(kāi)頭的單詞組合而成。 例如: class class void Draw(void); voidSetValue(i nt value);/ Node; LeafNode;
15、/函數(shù)名 /類名 /類名 函數(shù)名 【規(guī)則3-2-2】變量和參數(shù)用小寫字母開(kāi)頭的單詞組合而成。例 如: BOOL flag; int drawMode; 【規(guī)則3-2-3】常量全用大寫的字母,用下劃線分割單詞。例 如: con st intMAX = 100; con st intMAX_LENGTH = 100; 【規(guī)則3-2-4】靜態(tài)變量加前綴s_ (表示static )。例 如: void In it() static ints_i ni tValue;/靜態(tài)變量 【規(guī)則3-2-5】如果不得已需要全局變量,則使全局變量加前綴g_ (表示global )。 例如: intg_howManyP
16、eople;/ 全局變量 intg_howMuchMoney/ / 全局變量 【規(guī)則3-2-6】類的數(shù)據(jù)成員加前綴 m_ (表示membe),這樣可以避免數(shù)據(jù)成員與成員函數(shù) 的參數(shù)同名。 例如: Void Object:SetValue(int width, int height) m_width = width; m_height = height; 【規(guī)則3-2-7】為了防止某一軟件庫(kù)中的一些標(biāo)識(shí)符和其它軟件庫(kù)中的沖突,可以為 OpenG的所有庫(kù)函數(shù)均以gl開(kāi) 各種標(biāo)識(shí)符加上能反映軟件性質(zhì)的前綴。例如三維圖形標(biāo)準(zhǔn) 頭,所有常量(或宏定義)均以 GI開(kāi)頭。 第4章表達(dá)式和基本語(yǔ)句 表達(dá)式和語(yǔ)
17、句都屬于 C的短語(yǔ)結(jié)構(gòu)語(yǔ)法。它們看似簡(jiǎn)單,但使用時(shí)隱患比較多。本章歸納了 正確使用表達(dá)式和語(yǔ)句的一些規(guī)則與建議。 4.1運(yùn)算符的優(yōu)先級(jí) 4-1所示。注意一兀運(yùn)算符+ c語(yǔ)言的運(yùn)算符有數(shù)十個(gè),運(yùn)算符的優(yōu)先級(jí)與結(jié)合律如表 *的優(yōu)先級(jí)高于對(duì)應(yīng)的二元運(yùn)算符。 優(yōu)先級(jí) 運(yùn)算符 結(jié)合律 從高 到低排列 ()- - 從左至右 !+-_(類型)sizeof + - * 復(fù)合表達(dá)式過(guò)于復(fù)雜 【規(guī)則4-2-2】不要有多用途的復(fù)合表達(dá)式。例如: d=(a=b+c)+r; 該表達(dá)式既求a值又求d值。應(yīng)該拆分為兩個(gè)獨(dú)立的語(yǔ)句: a = b + c; d = a + r; 【規(guī)則4-2-3】不要把程序中的復(fù)合表達(dá)式與“真
18、正的數(shù)學(xué)表達(dá)式”混淆。例如: if(abc)abc是數(shù)學(xué)表達(dá)式而不是程序表達(dá)式并不表示 if (ab) returny; 改寫為 if(con diti on) return x; else returny; 或者改寫成更加簡(jiǎn)練的 retur n(con diti on? x:y); 4.4循環(huán)語(yǔ)句的效率 C循環(huán)語(yǔ)句中,for語(yǔ)句使用頻率最高,while語(yǔ)句其次,do語(yǔ)句很少用。本節(jié)重點(diǎn)論述循環(huán) 體的效率。提高循環(huán)體效率的基本辦法是降低循環(huán)體的復(fù)雜性。 【建議4-4-1】在多重循環(huán)中,如果有可能,應(yīng)當(dāng)將最長(zhǎng)的循環(huán)放在最內(nèi)層,最短的循環(huán) 放在最外層,以減少CPU跨切循環(huán)層的次數(shù)。例如示例4-4(
19、b)的效率比示例4-4(a)的高。 for (row=0; row100; row+) for (col=0; col5; col+) fum = sum+arowcol; 示例4-4(a)低效率:長(zhǎng)循環(huán)在最外層 for (col=0; col5; col+) for (row=0; row100; row+) fum = sum+arowcol; 示例4-4(b)高效率:長(zhǎng)循環(huán)在最內(nèi)層 【建議4-4-2】如果循環(huán)體內(nèi)存在邏輯判斷,并且循環(huán)次數(shù)很大,宜將邏輯判斷移到循環(huán) 體的外面。示例4-4(c)的程序比示例4-4(d)多執(zhí)行了 N-1次邏輯判斷。并且由于前者老要進(jìn)行 邏輯判斷,打斷了循環(huán)“流
20、水線”作業(yè),使得編譯器不能對(duì)循環(huán)進(jìn)行優(yōu)化處理,降低了效率。 如果N非常大,最好采用示例4-4(d)的寫法,可以提高效率。如果N非常小,兩者效率差別并不 明顯,采用示例4-4(c)的寫法比較好,因?yàn)槌绦蚋雍?jiǎn)潔。 for (i=0; iN; i+) if (con diti on DoSomethi ng(); else DoOtherthi ng(); 表4-4(c)效率低但程序簡(jiǎn)潔 if(con diti on) for(i=0;iN;i+)DoSometh in g(); else for(i=0;iN;i+)DoOtherthi ng(); 表4-4(d)效率高但程序不簡(jiǎn)潔 4.5for
21、語(yǔ)句的循環(huán)控制變量 【規(guī)則4-5-1】不可在for循環(huán)體內(nèi)修改循環(huán)變量,防止for循環(huán)失去控制。 【建議4-5-1】建議for語(yǔ)句的循環(huán)控制變量的取值采用“半開(kāi)半閉區(qū)間”寫法。 示例4-5(a)中的x值屬于半開(kāi)半閉區(qū)間“0=xN”,起點(diǎn)到終點(diǎn)的間隔為 N,循環(huán)次數(shù)為2 示例4-5(b)中的x值屬于閉區(qū)間“ 0=x=N-1 ,起點(diǎn)到終點(diǎn)的間隔為N-1,循環(huán)次數(shù)為 相比之下,示例4-5(a)的寫法更加直觀,盡管兩者的功能是相同的。 for(i ntx=0;xN;x+) 示例4-5(a)循環(huán)變量屬于半開(kāi)半閉區(qū)間 for(i ntx=0;x0) *pbTo+=*pbFrom+; returnpvTo;
22、 示例6-5復(fù)制不重疊的內(nèi)存塊 assert不是一個(gè)倉(cāng)促拼湊起來(lái)的宏。為了不在程序的Debug版本和Release版本引起差 別,assert不應(yīng)該產(chǎn)生任何副作用。所以assert不是函數(shù),而是宏。程序員可以把 assert看 成一個(gè)在任何系統(tǒng)狀態(tài)下都可以安全使用的無(wú)害測(cè)試手段。如果程序在assert處終止了,并 不是說(shuō)含有該assert的函數(shù)有錯(cuò)誤,而是調(diào)用者出了差錯(cuò),assert可以幫助我們找到發(fā)生錯(cuò) 誤的原因。 很少有比跟蹤到程序的斷言,去卩不知道該斷言的作用更讓人沮喪的事了。你化了很多時(shí)間,不 是為了排除錯(cuò)誤,而只是為了弄清楚這個(gè)錯(cuò)誤到底是什么。有的時(shí)候,程序員偶爾還會(huì)設(shè)計(jì)出 有錯(cuò)誤的
23、斷言。所以如果搞不清楚斷言檢查的是什么,就很難判斷錯(cuò)誤是出現(xiàn)在程序中,還是 出現(xiàn)在斷言中。幸運(yùn)的是這個(gè)問(wèn)題很好解決,只要加上清晰的注釋即可。這本是顯而易見(jiàn)的事 情,可是很少有程序員這樣做。這好比一個(gè)人在森林里,看到樹(shù)上釘著一塊“危險(xiǎn)”的大牌 子。但危險(xiǎn)到底是什么?樹(shù)要倒?有廢井?有野獸?除非告訴人們“危險(xiǎn)”是什么,否則這個(gè) 警告牌難以起到積極有效的作用。難以理解的斷言常常被程序員忽略,甚至被刪除。 【規(guī)則6-5-1】使用斷言捕捉不應(yīng)該發(fā)生的非法情況。不要混淆非法情況與錯(cuò)誤情況 之間的區(qū)別,后者是必然存在的并且是一定要作出處理的。 【規(guī)則6-5-2】在函數(shù)的入口處,使用斷言檢查參數(shù)的有效性(合法
24、性)。 【建議6-5-1】在編寫函數(shù)時(shí),要進(jìn)行反復(fù)的考查,并且自問(wèn):“我打算做哪些假定? ”一 旦確定了的假定,就要使用斷言對(duì)假定進(jìn)行檢查。 【建議6-5-2】一般教科書都鼓勵(lì)程序員們進(jìn)行防錯(cuò)設(shè)計(jì),但要記住這種編程風(fēng)格可能 會(huì)隱瞞錯(cuò)誤。當(dāng)進(jìn)行防錯(cuò)設(shè)計(jì)時(shí),如果“不可能發(fā)生”的事情的確發(fā)生了,則要使用斷 言進(jìn)行報(bào)警。 6.6引用與指針的比較 引用是C+中的概念,初學(xué)者容易把引用和指針混淆一起。一下程序中,n是m的個(gè)引用 (reference ) , m是被引用物(referent )。 int m; int n相當(dāng)于m的別名(綽號(hào)),對(duì)n的任何操作就是對(duì) m的操作。例如有人名叫王小毛,他的 綽號(hào)是“三毛”。說(shuō)“三毛”怎么怎么的,其實(shí)就是對(duì)王小毛說(shuō)三道四。所以n既不是m的拷 貝,也不是指向m的指針,其實(shí)n就是m它自己。 引用的一些規(guī)則如下: (1) 引用被創(chuàng)建的同時(shí)必須被初始化(指針則可以在任何時(shí)候被初始化)。 (2) 不能有NULL引用,引用必須與合法的存儲(chǔ)單元關(guān)聯(lián)(指針則可以是NULL。 (3) 旦引用被初始化,就不能改變引用的關(guān)系(指針則可以隨時(shí)改變所指的對(duì)象)。以下示 例程序中,k被初始化為i的引用。語(yǔ)句k=j并不能將k修改成為j的引用, 只是把k的值改變成為6。由于k是
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋼管加工銷售合同范例
- led外租合同范例
- 抽傭分成合同范例
- 餐具配送合同范例
- 買賣車庫(kù)合同范例
- 藥品集中網(wǎng)上采購(gòu)合同范例
- 無(wú)公害蔬菜供貨合同范例
- 長(zhǎng)運(yùn)輸合同范例
- 意向裝修施工合同范例
- 培訓(xùn)合同范例版
- 減肥課件模板教學(xué)課件
- 2024年部門年終總結(jié)
- 公司招商部工作流程及管理制度
- 漢語(yǔ)閱讀教程第一冊(cè)第十二課
- 江蘇省南京市六校2024-2025學(xué)年高一上學(xué)期期中聯(lián)合調(diào)研 化學(xué)試題
- 2024年時(shí)事政治試題(帶答案)
- 高一數(shù)學(xué)必修一知識(shí)點(diǎn)和公式
- 系統(tǒng)商用密碼應(yīng)用方案v5-2024(新模版)
- 2024年秋國(guó)家開(kāi)放大學(xué)《形勢(shì)與政策》大作業(yè):建設(shè)中華民族現(xiàn)代文明的路徑是什么?中華民族現(xiàn)代文明有哪些鮮明特質(zhì)?附答案【供參考】
- Unit 3 Lesson 13 At School(教學(xué)設(shè)計(jì))-2024-2025學(xué)年冀教版(三起)英語(yǔ)四年級(jí)上冊(cè)
- 和員工簽股權(quán)合同范本
評(píng)論
0/150
提交評(píng)論