




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、更多共享就在:/avbbtv/home ,個(gè)人整理,沒(méi)有版權(quán),歡迎共享-avbbtv如何在Visual C+ 6.0環(huán)境下進(jìn)行簡(jiǎn)單的C語(yǔ)言程序調(diào)試桂林電子科技大學(xué)波任 HYPERLINK mailto: 文章簡(jiǎn)介本文主要介紹如何在VC6.0環(huán)境下進(jìn)行簡(jiǎn)單的C語(yǔ)言程序調(diào)試。作為閱讀本 文的基礎(chǔ),讀者應(yīng)該熟悉如何在VC6.0環(huán)境下建立Win32 Console Application (Win32控制臺(tái)程序)類(lèi)型的工程。請(qǐng)結(jié)合文章給出的案例,按照文檔中的描述一 步一步做。如果只是閱讀,則收效甚微。在做完文章給出的案例后,你應(yīng)該嘗試 著將文章中介紹的知識(shí)和技巧應(yīng)用到你實(shí)際開(kāi)發(fā)的程序中。如果閱讀完一遍
2、后, 對(duì)調(diào)試基本概念還是不了解,建議你再多看幾遍。在介紹如何進(jìn)行C語(yǔ)言程序調(diào)試(debuggmg)前,首先介紹程序調(diào)試的概念。調(diào)試(debug)一詞在計(jì)算機(jī)領(lǐng)域最早被提及,源于美國(guó)人Adniual Grace Hopper(葛 麗霍普、COBOL語(yǔ)言發(fā)明者、電腦科學(xué)家)。二十世紀(jì)四十年代(1940s)Grace Hopper在哈佛大學(xué)為名為馬克2號(hào)(MarkII)的計(jì)算機(jī)(由IBM公司制造)編寫(xiě)程序 時(shí),有一次在排除計(jì)算機(jī)故障時(shí),發(fā)現(xiàn)一只飛蛾被夾在觸點(diǎn)原件之間,導(dǎo)致計(jì)算 機(jī)無(wú)法運(yùn)行。于是她詼諧的把計(jì)算機(jī)故障稱(chēng)之為“臭蟲(chóng)(bug)”,把排除程序故障 稱(chēng)之為debug o從此之后,在計(jì)算機(jī)領(lǐng)域,程
3、序調(diào)試或查找程序故障稱(chēng)為debug o 進(jìn)行程序開(kāi)發(fā)時(shí),很多情況是程序通過(guò)編譯、鏈接(亦即不存在語(yǔ)法錯(cuò)誤), 但是在運(yùn)行時(shí)往往得不到正確的結(jié)果(需要多組輸出數(shù)據(jù)進(jìn)行測(cè)試)。這時(shí)往往意 味著程序存在邏輯錯(cuò)誤(與語(yǔ)法錯(cuò)誤對(duì)應(yīng),通常是指程序所體現(xiàn)出的邏輯不符合 開(kāi)發(fā)者要求,或者是開(kāi)發(fā)者本身對(duì)程序所要解決的某一問(wèn)題的理解存在邏輯偏 差),而查找邏輯錯(cuò)誤的過(guò)程可稱(chēng)之為程序調(diào)試。程序案例下面以一個(gè)程序案例為例,介紹如何在VC6.0下進(jìn)行程序調(diào)試。案例:一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱(chēng)為“完數(shù)”。例如,6 的因子為1,2, 3,而6=1+2+3 ,因此是“完數(shù)氣編程序找出1000之內(nèi)的所有 的完數(shù)
4、,并按下面的格式輸出其因子:6 its factors aie 1, 2, 3表1是某同學(xué)編寫(xiě)的源程序。在VC6.0卜建立Win32 Console Application類(lèi) 型工程后,進(jìn)行編譯鏈接的結(jié)果如圖1所示。對(duì)于表1中的程序功能,在其源代 碼中相應(yīng)注釋己給出說(shuō)明。對(duì)于該源代碼編寫(xiě)是否合理、簡(jiǎn)潔,目前不做任何評(píng) 論。表1求1000以?xún)?nèi)所有的完數(shù)C源代碼#iiicludemain()mt n,a,b,c.d,sum=O;for (a=0;a=8;a+) /a表示一個(gè)三位數(shù)中的百位for (b=0;b=8;b+) /b表示一個(gè)三位數(shù)中的十位( _for (c=l;cv=8;c+) /c表示一
5、個(gè)三位數(shù)中的個(gè)位 _n=100*a+b*10+c; /n 表示一個(gè)1000 以?xún)?nèi)的數(shù)fbr (d=l;dn;d+)if (ii%d=0) d表示nl之間的數(shù),如果n能整除d,則d是n的 一個(gè)因子sum=sum*d; /sum表示n的因子之和if (n=sum) /如果n與n的因子之和相等,則表明n是一個(gè)完數(shù)pnntf(” nM);prmtf( ”d“ ,n);printff its factors aie ”);foi (d=l;dPress any key to continue程序運(yùn)行結(jié)束后,無(wú)任何輸出圖2程序的運(yùn)行結(jié)果在進(jìn)行程序調(diào)試時(shí),通常需要在某一行代碼設(shè)置斷點(diǎn)。斷點(diǎn)可理解為中斷或 暫
6、停。當(dāng)程序運(yùn)行時(shí),若遇到設(shè)置的斷點(diǎn),則會(huì)在斷點(diǎn)所在的代碼行暫停下來(lái)。 其功能是使得開(kāi)發(fā)者,在特定的某行代碼位置,查看程序運(yùn)行的狀態(tài)(變量值、 邏輯關(guān)系等)是否符合開(kāi)發(fā)者的預(yù)期要求,從而找出程序邏輯錯(cuò)誤所在。在介紹程序調(diào)試時(shí),首先介紹如何在程序中插入斷點(diǎn),如圖3所示。編譯微 型欄最右邊一個(gè)工具按鈕為插入斷點(diǎn)(或刪除斷點(diǎn))按鈕,每點(diǎn)擊該按鈕一次,則 會(huì)在當(dāng)前光標(biāo)所在行中插入斷點(diǎn)(如果當(dāng)前光標(biāo)所在行存在斷點(diǎn),則點(diǎn)擊該按鈕 一次將會(huì)把己存在的斷點(diǎn)刪除)o如果某一行存在斷點(diǎn),則該行最左端會(huì)有紅色 圓點(diǎn)表示,如圖3所示。lembersjl 0main ttinclude main()三四忒!筐jT在光標(biāo)所
7、在行插int n9a,b,cfd,sun0; _入或刪除斷點(diǎn)f(a=0;X=8;2i)| 3表示一個(gè)三位數(shù)中的百位for(b=0;b=8;b*) b表示一個(gè)三位數(shù)中的十位4、?圖3在程序中插入斷點(diǎn) 如何選擇在哪一行程序設(shè)置斷點(diǎn),這需要開(kāi)發(fā)者的經(jīng)驗(yàn)和對(duì)程序邏輯錯(cuò)誤 表象的理解(亦即對(duì)程序運(yùn)行結(jié)果不正確的判斷)。一般原則是將斷點(diǎn)設(shè)置在可能 存在邏輯錯(cuò)誤代碼段的前幾行。如果無(wú)法把握,則最“笨”的一種方式是將其設(shè) 置在程序的開(kāi)始,如圖3所示。在本例中,由于無(wú)法從程序運(yùn)行結(jié)果得知程序邏 輯錯(cuò)誤可能所在的位置,因此將斷點(diǎn)設(shè)置在代碼的第一行(注意,應(yīng)該將斷點(diǎn)設(shè) 置在可執(zhí)行代碼行上,而不應(yīng)該將其設(shè)置在變量定義
8、或是花括號(hào)等代碼行)。圖4開(kāi)始程序調(diào)試在設(shè)置了斷點(diǎn)后,便可進(jìn)行程序調(diào)試。要開(kāi)始調(diào)試,可單擊編譯微型欄中的 開(kāi)始調(diào)試按鈕(或者快捷鍵F5),如圖4所示。點(diǎn)擊開(kāi)始調(diào)試后,VC6.0由編輯環(huán) 境變?yōu)檎{(diào)試環(huán)境,并出現(xiàn)一個(gè)調(diào)試工具欄。下面簡(jiǎn)要介紹下VC6.0的調(diào)試環(huán)境。與代碼編輯環(huán)境不一樣的是,調(diào)試環(huán)境下方由上下文窗I 1和監(jiān)視窗口組成。上下文窗I I會(huì)列舉出與程序當(dāng)前所執(zhí)行到的代碼行上下幾行所對(duì)應(yīng)的變量的值,圖4中上下文窗II顯示了與黃色箭頭指向的 代碼行上下幾行對(duì)應(yīng)的變量值(由圖中看出a、b、c、d、11、sum的值,其中除了 sum的值為0夕卜,其他變量值均為-858993460。這是因?yàn)槌齭um
9、變量外,其他變 量均為進(jìn)行初始化或賦值,因此都為隨機(jī)數(shù))監(jiān)視窗II則可對(duì)開(kāi)發(fā)者所關(guān)注的 變量或表達(dá)式的值進(jìn)行監(jiān)視,需要監(jiān)視某一變量,則可在監(jiān)視窗II空白欄中雙擊, 輸入某一變量名即可。調(diào)試工具欄包含用于程序調(diào)試的工具按鈕,每一按鈕功能如下所述:(僅介紹調(diào)試工具欄中的第一行工具按鈕)重新開(kāi)始調(diào)試(Restart):重新開(kāi)始調(diào)試按鈕將結(jié)束本次調(diào)試,并重新開(kāi)始 新的調(diào)試,快捷鍵為Ctrl + Shift + F5 o在當(dāng)前本次調(diào)試無(wú)效果或無(wú)法找到錯(cuò) 誤時(shí)可點(diǎn)擊此按鈕,開(kāi)始新的調(diào)試。停止調(diào)試(Stop Debugging):停ll:調(diào)試按鈕將停止程序調(diào)試,返回至VC6.0 代碼編輯環(huán)境,快捷鍵為Shi
10、ft + F5 在進(jìn)行調(diào)試后,如發(fā)現(xiàn)邏輯錯(cuò)誤需要進(jìn) 行改正,則可點(diǎn)擊該按鈕。應(yīng)用代碼更改:如果在VC調(diào)試環(huán)境中對(duì)代碼進(jìn)行了更改,可點(diǎn)擊該按鈕將 更改應(yīng)用于當(dāng)前調(diào)試,而不必重新編譯、鏈接便能繼續(xù)進(jìn)行調(diào)試,快捷鍵為 Alt + F10o單步進(jìn)入(Step Into):每點(diǎn)擊一次單步進(jìn)入,程序?qū)?zhí)行一行代碼,快捷 鍵為F1當(dāng)需要執(zhí)行的代碼中包含函數(shù)調(diào)用時(shí),點(diǎn)擊單步進(jìn)入則會(huì)進(jìn)入被 調(diào)用的函數(shù)中執(zhí)行。單步越過(guò)(Step Over):單步越過(guò)與單步進(jìn)入功能相似,每點(diǎn)擊一次單步越 過(guò),程序?qū)?zhí)行一行代碼,快捷鍵為F10。兩者不同的是:當(dāng)需要執(zhí)行的代 碼中包含函數(shù)調(diào)用時(shí),點(diǎn)擊單步越過(guò)不會(huì)進(jìn)入被調(diào)用函數(shù)中執(zhí)行(
11、簡(jiǎn)而言之, 單步越過(guò)將函數(shù)僅看成一條語(yǔ)句,而單步進(jìn)入則將函數(shù)調(diào)用展開(kāi))o單步跳出(Step Out):單擊單步跳出,程序?qū)?zhí)行當(dāng)前所在函數(shù)的所有代 碼后,并返回至調(diào)用該函數(shù)的代碼中,快捷鍵為Shift + Filo該功能與單步 進(jìn)入配合使用(例如,如果不小心點(diǎn)擊了單步進(jìn)入后,可不必單步執(zhí)行完所進(jìn) 入的某一函數(shù),直接點(diǎn)擊單步跳出即可返回至調(diào)用該函數(shù)的代碼處,特別是 單步進(jìn)入了庫(kù)函數(shù)時(shí),該按鈕非常管用)。執(zhí)行至光標(biāo)所在行(Run to Cursor):?jiǎn)螕粼摪粹o,程序?qū)?zhí)行至光標(biāo)所在的 行后暫停下來(lái),快捷鍵為Ctrl + F10。使用該按鈕可不必在某個(gè)代碼行設(shè)置斷 點(diǎn),便可使程序在該行暫停下來(lái)。在
12、介紹了VC調(diào)試界面后,下面介紹如何運(yùn)用程序調(diào)試找出邏輯錯(cuò)誤。首先分析程序可知,sum用于保存一個(gè)數(shù)所有的因子之和,代碼行if(n= sum)則表 明n為完數(shù)。因此我們應(yīng)該關(guān)注變量n及變量sum,可在監(jiān)視窗I I中對(duì)其進(jìn)行監(jiān) 視。由于n由a、b、c三個(gè)變量確定,因此可在n = a* 100 + b * 10 +c代碼行中 設(shè)置斷點(diǎn),具體如圖5所示。在進(jìn)行程序調(diào)試時(shí),最重要的一點(diǎn)是開(kāi)發(fā)者需要根據(jù)當(dāng)前變量的值判斷當(dāng)前 執(zhí)行的代碼段對(duì)變量的改變是否符合程序編寫(xiě)的預(yù)期邏輯。例如在圖5中,由于 n=l ,則在執(zhí)行for(d = 1; d n; d+)循環(huán)時(shí),該循環(huán)判斷條件應(yīng)該為假,所以 sum的值不會(huì)發(fā)生
13、改變(仍然為0)。那么接下來(lái)的語(yǔ)句if (n = sum)也應(yīng)該為假(因?yàn)閚 = 1而sum = 0),因此1 不為完數(shù)。接著進(jìn)行調(diào)試時(shí),由于我們關(guān)注n的值,因此在n = a*100 + b*10 + c;這行代碼中設(shè)置斷點(diǎn),并刪除原來(lái)在for(a = 0; a =8; a+)所在行的斷點(diǎn),具體如圖6 所示。圖5運(yùn)行至n = a * 100 + b* 10 + c代碼行如圖6所示,變量n的值現(xiàn)在為2,程序在for(d = l;dvn;dJ)行停下,由于for循環(huán)的條件是,因此該for循環(huán)總共能執(zhí)行1次,而在for循環(huán)內(nèi)if(n % d= 0)條件在d=l時(shí)為真,因此sum的值在執(zhí)行完該for循
14、環(huán)后應(yīng)變?yōu)?,如圖 7所示。從目前看,我們并沒(méi)有發(fā)現(xiàn)其邏輯錯(cuò)誤所在,那么可以再接著進(jìn)行下一 步調(diào)試。圖6變量n=2時(shí)的調(diào)試界面圖7變量n=2時(shí),執(zhí)行完內(nèi)層for循環(huán)后調(diào)試界面圖7變量n=2時(shí),執(zhí)行完內(nèi)層for循環(huán)后調(diào)試界面因?yàn)閿?shù)字6是完數(shù),所以可以嘗試查看當(dāng)n=6時(shí),for(d=l;dn;d+)循環(huán)的 執(zhí)行過(guò)程。這時(shí)可以按快捷鍵F5繼續(xù)調(diào)試,由于在n = a* 100 + b* 10 + c代碼行 存在斷點(diǎn),因此每按一次F5 ,程序會(huì)在該行停下,并且每次n的值會(huì)發(fā)生變化, 當(dāng)在監(jiān)視窗II中查看得知n=6時(shí),因再次進(jìn)行單步調(diào)試,進(jìn)入for(d = l;dn; d+) 循環(huán)中,此時(shí)調(diào)試界面如圖8所
15、示。圖8變量n=6時(shí),執(zhí)行完n=a*100 + b*10 + c語(yǔ)句后的調(diào)試界面圖8所示為n=6 , d=l時(shí)的程序調(diào)試界面,由于d6在d=l、2、3、4、5的條件下為真,因此for循環(huán)應(yīng)該能執(zhí)行5次,而n=6的所有因子為1、2、3 , 因此執(zhí)行完這個(gè)for循環(huán)后,sum的值應(yīng)該為6。請(qǐng)注意這時(shí)d=l時(shí),sum的值 為多少? sum =6 ,也就是說(shuō)在未執(zhí)行for循環(huán)時(shí)sum值就已為6。那么執(zhí)行完for 循環(huán)后,sum的值將會(huì)是sum=6+1+2+3=12。在n=6時(shí),執(zhí)行完for循環(huán)后,變 量值如圖9所示。請(qǐng)注意sum變量的值為12, 11變量的值為6。因?yàn)閟um變量中保存的是n 的因子,因
16、此如果程序正確的話,sum的值因與n的值一致。從而可判斷出,邏 輯錯(cuò)誤出現(xiàn)在for循環(huán)語(yǔ)句附近,仔細(xì)觀察應(yīng)該發(fā)現(xiàn),當(dāng)n為6時(shí),在執(zhí)行for(d =1; d n; d+)循環(huán)前,sum的值己經(jīng)為6,如圖8所示。細(xì)心的同學(xué)應(yīng)該明白, 這時(shí)sum的值應(yīng)該是上幾次11= 1,2,3,4,5時(shí),所有n的因子之和,如表1所示。這邊是程序問(wèn)題所在,因?yàn)槊看斡?jì)算11的因子時(shí),sum仍然保存了上一個(gè)n值的 因子之和。因此導(dǎo)致即便n為完數(shù)時(shí),sum的值也不是n的因子之和。IN11。. 歹35 55,二 | Deboe國(guó)|就啟S30 P CF 回口國(guó)虹For(b=0;b=8;b*) b表示一個(gè)三位數(shù)中的十仕for(
17、d-1;dn;d*)for(c-1;c-8;c*) c表示一個(gè)三位數(shù)中的個(gè)位 n-100a*b10*c; n表示一個(gè)r*1000以?xún)?nèi)的!if(心5) / i 1玄間的數(shù),如果n能整除d,則煲的一個(gè)因號(hào) sun=sum*d; /surn的因子之卻_,I皿二迎iMC5:n與n的因子之和相等,則表明任是_個(gè)完數(shù)printf(Mne,);printr(%T,n);printF(,e its factors are ,*);Ready 8. Col 44)1 6HRiAD圖9變量n=6時(shí),執(zhí)行完for (d = 1; d n; d+)語(yǔ)句后的調(diào)試界面圖9變量n=6時(shí),執(zhí)行完fbr(d= l;dn; d+
18、)語(yǔ)句后的調(diào)試界面既然找到該問(wèn)題所在,那么該如何解決這一問(wèn)題呢?仔細(xì)考慮,可發(fā)現(xiàn),由于sum保存的是上一個(gè)數(shù)的因子之和,那么在計(jì)算當(dāng)前n的因子之和前,因首 先將sum的值賦為Oo具體修改應(yīng)為在for(d = 1; d v n; d-J-+)循環(huán)語(yǔ)句前加sum = 0;,如表2所示。表2修改過(guò)表1后的源代碼#iiicludemain()mt n,a,b,c.d,sum=0;for (a=0;a=8;a+)/a表示一個(gè)三位數(shù)中的百位for (b=0;b=8;b+) /b表示一個(gè)三位數(shù)中的十位( _for (c=l;c=8;c+) /c表示一個(gè)三位數(shù)中的個(gè)位 _n=100*a+b*10+c; /n
19、表示一個(gè)1000 以?xún)?nèi)的數(shù)sum = 0; /每次求n的因子時(shí),首先將sum賦值為0fbr (d=l;dn;d-H-)if (n%d=0) /d表示nl之間的數(shù),如果n能整除d,則d是n的 一個(gè)因子sum=sum-rd; /sum表示n的因子之和if (n=sum) /如果n與n的因子之和相等,則表明n是一個(gè)完數(shù)pnntf(” nM);pnntf(”d” ,n);printff its factors aie );foi (d=l;dn;d+)(if (n%d=0)pnntff% 4d”,d);)prmtf(nreturn 0;重新對(duì)程序進(jìn)行編譯鏈接,這時(shí)不必急于再開(kāi)始調(diào)試,而應(yīng)運(yùn)行此程序,查
20、 看修改過(guò)后的程序運(yùn)行結(jié)果是否正確,運(yùn)行結(jié)果如圖10所示。E:XGQIH2010-2011C_PROGAHING_EXPERIIEIT_ASOURCE_CODEProject_2D.its factors are 12328 its factors are 1247 14 程序輸出6和28,檢驗(yàn)的值6及28為完數(shù)|Hress any Rey to continue圖10改正邏輯錯(cuò)誤后,程序的運(yùn)行結(jié)果 查看圖10可知,6、28均為完數(shù)?,F(xiàn)在的疑問(wèn)是1000以?xún)?nèi)的完數(shù)是否只有6及28?實(shí)際上,1000以?xún)?nèi)的完數(shù)還應(yīng)包括496。因此可判定,程序雖然經(jīng)過(guò)修 改,但其仍然存在邏輯錯(cuò)誤。仔細(xì)觀察表2中的代
21、碼發(fā)現(xiàn)11的值由a、b、c三個(gè) 變量組成,而a、b、c三個(gè)變量的范圍為。8 ,因此n的范圍并不是1-999。從 而使得在計(jì)算1000以?xún)?nèi)完數(shù)時(shí),遺漏了一些數(shù),而這些數(shù)當(dāng)中包括完數(shù)496 o 此外,若要求1000以?xún)?nèi)的完數(shù),并沒(méi)有必要用三層循環(huán)生成數(shù)11,而用一個(gè)for 循環(huán)便可實(shí)現(xiàn)。進(jìn)一步修改過(guò)的程序源代碼如表3所示。需要說(shuō)明的一點(diǎn)是,在表3中求n變量的因子時(shí),內(nèi)層for循環(huán)for(d = 1; d n; d+)被改為了 for(d = 1; d= n/2; d+)。這是為什么呢?舉例說(shuō)明,假設(shè)n=500 , 那么當(dāng)d取值為大于250時(shí),例如251、252等等,這些值不可能為11=500的因
22、子(很顯然,251*2 = 502大于500)。因此在表3中做此修改,可減少內(nèi)層for循 環(huán)的不必要執(zhí)行次數(shù),從而提高程序的效率。表3最終改正的程序源代碼#iiicludemam()mt n,d,sum=0;fbr (n = l;n 1000;n+)/n 表示一個(gè)-1000 以?xún)?nèi)的數(shù)sum = 0; /每次求n的因子時(shí),首先將sum賦值為0fbr (d= 1;d=n/2; d+)(if (n%d=0) /d表示之間的數(shù),如果n能整除d,則d是n的一個(gè)因 子sum=sum+d; /sum表示n的因子之和 1 jif(n=sum) /如果ii與n的因子之和相等,則表明11是一個(gè)完數(shù)(printf(H n);prin此d” ,n);its factors
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 5.1透鏡 說(shuō)課稿2025年初中 人教版物理八年級(jí)上冊(cè)
- 學(xué)校結(jié)核病篩查對(duì)早期發(fā)現(xiàn)結(jié)核病的作用
- 《商業(yè)插畫(huà)創(chuàng)意與表現(xiàn)》課件-【2】商業(yè)插畫(huà)的發(fā)展歷程
- 《國(guó)際市場(chǎng)營(yíng)銷(xiāo)》課件-第7章 國(guó)際市場(chǎng)價(jià)格策略
- 瑜伽館改造粉刷施工合同
- 內(nèi)部培訓(xùn)計(jì)劃和實(shí)施情況統(tǒng)計(jì)表
- 銀行行業(yè)互聯(lián)網(wǎng)金融創(chuàng)新方案
- 企業(yè)中層管理人員培訓(xùn)方案
- 農(nóng)業(yè)防治病蟲(chóng)害的方法有哪些
- 三農(nóng)養(yǎng)殖業(yè)技術(shù)手冊(cè)
- 預(yù)防接種門(mén)診驗(yàn)收表4-副本
- 2024年交管12123學(xué)法減分考試題庫(kù)及完整答案(典優(yōu))
- 數(shù)智時(shí)代的AI人才糧倉(cāng)模型解讀白皮書(shū)(2024版)
- (2024年)高中化學(xué)校本課程教材《綠色化學(xué)》
- 中醫(yī)-血家藥方四物湯
- 2024年北師大版八年級(jí)下冊(cè)數(shù)學(xué)第二章綜合檢測(cè)試卷及答案
- 2024年電廠講解直流系統(tǒng)PPT通用課件
- 企業(yè)國(guó)防動(dòng)員教育培訓(xùn)方案
- 必修一第三單元 單元挑戰(zhàn) 探究密碼安全問(wèn)題課件
- 高中美術(shù)中的藝術(shù)治療與心理健康
- 體育課電子教案模板
評(píng)論
0/150
提交評(píng)論