版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第一部分:基本概念及其它問答題1、關(guān)鍵字static的作用是什么?這個簡單的問題很少有人能回答完全。在C語言中,關(guān)鍵字static有三個明顯的作用:1). 在在函數(shù)體體,一個個被聲明明為靜態(tài)態(tài)的變量量在這一一函數(shù)被被調(diào)用過過程中維維持其值值不變。2). 在在模塊內(nèi)內(nèi)(但在在函數(shù)體體外),一一個被聲聲明為靜靜態(tài)的變變量可以以被模塊塊內(nèi)所用用函數(shù)訪訪問,但但不能被被模塊外外其它函函數(shù)訪問問。它是是一個本本地的全全局變量量。3). 在在模塊內(nèi)內(nèi),一個個被聲明明為靜態(tài)態(tài)的函數(shù)數(shù)只可被被這一模模塊內(nèi)的的其它函函數(shù)調(diào)用用。那就就是,這這個函數(shù)數(shù)被限制制在聲明明它的模模塊的本本地范圍圍內(nèi)使用用。大多數(shù)應(yīng)試試
2、者能正正確回答答第一部部分,一一部分能能正確回回答第二二部分,同同是很少少的人能能懂得第第三部分分。這是是一個應(yīng)應(yīng)試者的的嚴重的的缺點,因因為他顯顯然不懂懂得本地地化數(shù)據(jù)和代碼范范圍的好好處和重重要性。2、“引用用”與指針針的區(qū)別別是什么么?答、1) 引用必必須被初初始化,指指針不必必。2) 引用用初始化化以后不不能被改改變,指指針可以以改變所所指的對對象。3) 不存存在指向向空值的的引用,但但是存在在指向空空值的指指針。指針通過某某個指針針變量指指向一個個對象后后,對它它所指向向的變量量間接操操作。程程序中使使用指針針,程序序的可讀讀性差;而引用用本身就就是目標標變量的的別名,對對引用的的操
3、作就就是對目目標變量量的操作作。流操作符、賦賦值操作作符=的返回回值、拷拷貝構(gòu)造造函數(shù)的的參數(shù)、賦賦值操作作符=的參數(shù)數(shù)、其它它情況都都推薦使使用引用用3、.h頭頭文件中中的iffndeef/ddefiine/enddif 的作用用?答:防止該該頭文件件被重復復引用。4、#inncluude 與與#inncluude fiile.h的的區(qū)別?答:前者是是從Sttanddardd Liibraary的的路徑尋尋找和引引用fiile.h,而而后者是是從當前前工作路路徑搜尋尋并引用用fille.hh。5、描述實實時系統(tǒng)統(tǒng)的基本本特性答:在特定定時間內(nèi)內(nèi)完成特特定的任任務(wù),實實時性與與可靠性性。6、全
4、局變變量和局局部變量量在內(nèi)存存中是否否有區(qū)別別?如果果有,是是什么區(qū)區(qū)別?答:全局變變量儲存存在靜態(tài)態(tài)數(shù)據(jù)區(qū)區(qū),局部部變量在在堆棧中中。7、什么是是平衡二二叉樹?答:左右子子樹都是是平衡二二叉樹且且左右子子樹的深深度差值值的絕對對值不大大于1。8、堆棧溢溢出一般般是由什什么原因因?qū)е碌牡??答?.沒沒有回收收垃圾資資源 2.層層次太深深的遞歸歸調(diào)用9、冒泡排排序算法法的時間間復雜度度是什么么?答:O(nn2)10、什么么函數(shù)不不能聲明明為虛函函數(shù)?答:connstrructtor11、隊列列和棧有有什么區(qū)區(qū)別?答:隊列先先進先出出,棧后后進先出出12、不能能做swwitcch()的參數(shù)數(shù)類型答
5、:swiitchh的參數(shù)數(shù)不能為為實型。13、局部部變量能能否和全全局變量量重名?答:能,局局部會屏屏蔽全局局。要用用全局變變量,需需要使用用:局部變量可可以與全全局變量量同名,在在函數(shù)內(nèi)內(nèi)引用這這個變量量時,會會用到同同名的局局部變量量,而不不會用到到全局變變量。對對于有些些編譯器器而言,在在同一個個函數(shù)內(nèi)內(nèi)可以定定義多個個同名的的局部變變量,比比如在兩兩個循環(huán)環(huán)體內(nèi)都都定義一一個同名名的局部部變量,而而那個局局部變量量的作用用域就在在那個循循環(huán)體內(nèi)內(nèi)14、如何何引用一一個已經(jīng)經(jīng)定義過過的全局局變量?答、可以用用引用頭頭文件的的方式,也也可以用用extternn關(guān)鍵字字,如果果用引用用頭文件
6、件方式來來引用某某個在頭頭文件中中聲明的的全局變變量,假假定你將將那個變變量寫錯錯了,那那么在編編譯期間間會報錯錯,如果果你用eexteern方方式引用用時,假假定你犯犯了同樣樣的錯誤誤,那么么在編譯譯期間不不會報錯錯,而在在連接期期間報錯錯。15、全局局變量可可不可以以定義在在可被多多個.CC文件包包含的頭頭文件中中?為什什么?答、可以,在在不同的的C文件中中以sttatiic形式式來聲明明同名全全局變量量。可以在不同同的C文件中中聲明同同名的全全局變量量,前提提是其中中只能有有一個CC文件中中對此變變量賦初初值,此此時連接接不會出出錯。16、語句句forr( ;1 ;)有什么么問題?它是什
7、什么意思思?答、和whhilee(1)相同,無無限循環(huán)環(huán)。17、doowwhille和whiiledoo有什么么區(qū)別?答、前一個個循環(huán)一一遍再判判斷,后后一個判判斷以后后再循環(huán)環(huán)。18、sttataac 全全局變量量、局部部變量、函函數(shù)與普普通全局局變量、局局部變量量、函數(shù)數(shù)statiic全局局變量與與普通的的全局變變量有什什么區(qū)別別?sttatiic局部部變量和和普通局局部變量量有什么么區(qū)別?staaticc函數(shù)與與普通函函數(shù)有什什么區(qū)別別?答、全局變變量(外部變變量)的說明明之前再再冠以sstattic 就構(gòu)成成了靜態(tài)態(tài)的全局局變量。全全局變量量本身就就是靜態(tài)態(tài)存儲方方式,靜靜態(tài)全局局變量
8、當當然也是是靜態(tài)存存儲方式式。這兩兩者在存存儲方式式上并無無不同。這這兩者的的區(qū)別雖雖在于非非靜態(tài)全全局變量量的作用用域是整整個源程程序,當當一個源源程序由由多個源源文件組組成時,非非靜態(tài)的的全局變變量在各各個源文文件中都都是有效效的。而而靜態(tài)全全局變量量則限制制了其作作用域,即只在定義該變量的源文件內(nèi)有效,在同一源程序的其它源文件中不能使用它。由于靜態(tài)全局變量的作用域局限于一個源文件內(nèi),只能為該源文件內(nèi)的函數(shù)公用,因此可以避免在其它源文件中引起錯誤。從以上分析析可以看看出,把把局部變變量改變變?yōu)殪o態(tài)態(tài)變量后后是改變變了它的的存儲方方式即改改變了它它的生存存期。把把全局變變量改變變?yōu)殪o態(tài)態(tài)變量
9、后后是改變變了它的的作用域域,限制制了它的的使用范范圍。statiic函數(shù)數(shù)與普通通函數(shù)作作用域不不同。僅僅在本文文件。只只在當前前源文件件中使用用的函數(shù)數(shù)應(yīng)該說說明為內(nèi)內(nèi)部函數(shù)數(shù)(sttatiic),內(nèi)內(nèi)部函數(shù)數(shù)應(yīng)該在在當前源源文件中中說明和和定義。對對于可在在當前源源文件以以外使用用的函數(shù)數(shù),應(yīng)該該在一個個頭文件件中說明明,要使使用這些些函數(shù)的的源文件件要包含含這個頭頭文件statiic全局局變量與與普通的的全局變變量有什什么區(qū)別別:sttatiic全局局變量只只初使化化一次,防防止在其其他文件件單元中中被引用用;statiic局部部變量和和普通局局部變量量有什么么區(qū)別:staaticc局
10、部變變量只被被初始化化一次,下下一次依依據(jù)上一一次結(jié)果果值;statiic函數(shù)數(shù)與普通通函數(shù)有有什么區(qū)區(qū)別:sstattic函函數(shù)在內(nèi)內(nèi)存中只只有一份份,普通通函數(shù)在在每個被被調(diào)用中中維持一一份拷貝貝19、程序序的內(nèi)存存分配答答:一個個由c/C+編譯的的程序占占用的內(nèi)內(nèi)存分為為以下幾幾個部分分1、棧區(qū)區(qū)(sttackk)由編譯譯器自動動分配釋釋放,存存放函數(shù)數(shù)的參數(shù)數(shù)值,局局部變量量的值等等。其操操作方式式類似于于數(shù)據(jù)結(jié)結(jié)構(gòu)中的的棧。22、堆區(qū)區(qū)(heeap)一般由由程序員員分配釋釋放,若若程序員員不釋放放,程序序結(jié)束時時可能由由OS回收收。注意意它與數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)中的堆堆是兩回回事,分分配方式
11、式倒是類類似于鏈鏈表,呵呵呵。33、全局局區(qū)(靜靜態(tài)區(qū))(static)全局變量和靜態(tài)變量的存儲是放在一塊的,初始化的全局變量和靜態(tài)變量在一塊區(qū)域,未初始化的全局變量和未初始化的靜態(tài)變量在相鄰的另一塊區(qū)域。程序結(jié)束后由系統(tǒng)釋放。4、文字常量區(qū)常量字符串就是放在這里的。程序結(jié)束后由系統(tǒng)釋放。5、程序代碼區(qū)存放函數(shù)體的二進制代碼例子程序這這是一個個前輩寫寫的,非非常詳細細/mmainn.cppp intt a=0; /全全局初始始化區(qū) chhar *p11; /全局未未初始化化區(qū) maiin() inttb;棧棧 chaar ss=abbc; /棧棧 chaar *p2; /棧棧 chaar *p
12、3=12234556; /112344560在常常量區(qū),pp3在棧棧上。 sstattic intt c=0; /全局局(靜態(tài)態(tài))初始始化區(qū) pp1 = (ccharr*)mmallloc(10); p22 = (chhar*)maallooc(220); /分分配得來來得100和200字節(jié)的的區(qū)域就就在堆區(qū)區(qū)。 sttrcppy(pp1,12334566); /112344560放在在常量區(qū)區(qū),編譯譯器可能能會將它它與p33所向12334566優(yōu)化化成一個個地方。20、解釋釋堆和棧棧的區(qū)別別答:堆(hheapp)和棧棧(sttackk)的區(qū)區(qū)別(1)申請請方式sstacck:由由系統(tǒng)自自動分
13、配配。例如如,聲明明在函數(shù)數(shù)中一個個局部變變量innt bb;系統(tǒng)統(tǒng)自動在在棧中為為b開辟辟空間hheapp:需要要程序員員自己申申請,并并指明大大小,在在c中mmallloc函函數(shù)如pp1=(chaar*)malllocc(100);在在C+中用nnew運運算符如如p2=(chhar*)maallooc(110);但是注注意p11、p22本身是是在棧中中的。(2)申請請后系統(tǒng)統(tǒng)的響應(yīng)應(yīng)棧:只只要棧的的剩余空空間大于于所申請請空間,系系統(tǒng)將為為程序提提供內(nèi)存存,否則則將報異異常提示示棧溢出出。堆:首先應(yīng)應(yīng)該知道道操作系系統(tǒng)有一一個記錄錄空閑內(nèi)內(nèi)存地址址的鏈表表,當系系統(tǒng)收到到程序的的申請時時,
14、會遍遍歷該鏈鏈表,尋尋找第一一個空間間大于所所申請空空間的堆堆結(jié)點,然然后將該該結(jié)點從從空閑結(jié)結(jié)點鏈表表中刪除除,并將將該結(jié)點點的空間間分配給給程序,另另外,對對于大多多數(shù)系統(tǒng)統(tǒng),會在在這塊內(nèi)內(nèi)存空間間中的首首地址處處記錄本本次分配配的大小小,這樣樣,代碼碼中的ddeleete語語句才能能正確的的釋放本本內(nèi)存空空間。另另外,由由于找到到的堆結(jié)結(jié)點的大大小不一一定正好好等于申申請的大大小,系系統(tǒng)會自自動的將將多余的的那部分分重新放放入空閑閑鏈表中中。(3)申請請大小的的限制棧棧:在WWinddowss下,棧棧是向低低地址擴擴展的數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu),是一一塊連續(xù)續(xù)的內(nèi)存存的區(qū)域域。這句句話的意意思是棧棧
15、頂?shù)牡氐刂泛蜅5淖畲蟠笕萘渴鞘窍到y(tǒng)預預先規(guī)定定好的,在在WINNDOWWS下,棧棧的大小小是2MM(也有有的說是是1M,總總之是一一個編譯譯時就確確定的常常數(shù)),如如果申請請的空間間超過棧棧的剩余余空間時時,將提提示ovverffloww。因此此,能從從棧獲得得的空間間較小。堆:堆是向高地址擴展的數(shù)據(jù)結(jié)構(gòu),是不連續(xù)的內(nèi)存區(qū)域。這是由于系統(tǒng)是用鏈表來存儲的空閑內(nèi)存地址的,自然是不連續(xù)的,而鏈表的遍歷方向是由低地址向高地址。堆的大小受限于計算機系統(tǒng)中有效的虛擬內(nèi)存。由此可見,堆獲得的空間比較靈活,也比較大。(4)申請請效率的的比較:棧:由由系統(tǒng)自自動分配配,速度度較快。但但程序員員是無法法控制的
16、的。堆:是由nnew分分配的內(nèi)內(nèi)存,一一般速度度比較慢慢,而且且容易產(chǎn)產(chǎn)生內(nèi)存存碎片,不過用用起來最最方便.另外,在在WINNDOWWS下,最最好的方方式是用用Virrtuaal AAllooc分配配內(nèi)存,他他不是在在堆,也也不是在在棧,而而是直接接在進程程的地址址空間中中保留一一塊內(nèi)存存,雖然然用起來來最不方方便。但但是速度度快,也也最靈活活。(5)堆和和棧中的的存儲內(nèi)內(nèi)容棧:在函數(shù)數(shù)調(diào)用時時,第一一個進棧棧的是主主函數(shù)中中后的下下一條指指令(函函數(shù)調(diào)用用語句的的下一條條可執(zhí)行行語句)的的地址,然然后是函函數(shù)的各各個參數(shù)數(shù),在大大多數(shù)的的C編譯譯器中,參參數(shù)是由由右往左左入棧的的,然后后是函
17、數(shù)數(shù)中的局局部變量量。注意意靜態(tài)變變量是不不入棧的的。當本本次函數(shù)數(shù)調(diào)用結(jié)結(jié)束后,局局部變量量先出棧棧,然后后是參數(shù)數(shù),最后后棧頂指指針指向向最開始始存的地地址,也也就是主主函數(shù)中中的下一一條指令令,程序序由該點點繼續(xù)運運行。堆堆:一般般是在堆堆的頭部部用一個個字節(jié)存存放堆的的大小。堆堆中的具具體內(nèi)容容由程序序員安排排。(6)存取取效率的的比較char s1=aaaaaaaaaaaaaaaaaaaa;ccharr *ss2=bbbbbbbbbbbbbbbbbbbbbb;aaaaaaaaaaaaaaa是在運運行時刻刻賦值的的;而bbbbbbbbbbbbbbb是在在編譯時時就確定定的;但但是,在在
18、以后的的存取中中,在棧棧上的數(shù)數(shù)組比指指針所指指向的字字符串(例如堆堆)快。比如:#includevoidmain()char a=1;char c=1234567890;char *p=1234567890;a = c1;a = p1;return;對應(yīng)的匯編代碼10:a=c1;004010678A4DF1movcl,byteptrebp-0Fh0040106A884DFCmovbyteptrebp-4,cl11:a=p1;0040106D8B55ECmovedx,dwordptrebp-14h004010708A4201moval,byteptredx+1004010738845FCmov
19、byteptrebp-4,al第一種在讀取時直接就把字符串中的元素讀到寄存器cl中,而第二種則要先把指針值讀到edx中,在根據(jù)edx讀取字符,顯然慢了。21、什么么是預編編譯,何何時需要要預編譯譯?答:預編譯譯又稱為為預處理理,是做做些代碼碼文本的的替換工工作。處處理#開開頭的指指令,比比如拷貝貝#inncluude包包含的文文件代碼碼,#ddefiine宏宏定義的的替換,條件編編譯等,就就是為編編譯做的的預備工工作的階階段,主主要處理理#開始始的預編編譯指令令,預編編譯指令令指示了了在程序序正式編編譯前就就由編譯譯器進行行的操作作,可以以放在程程序中的的任何位位置。c編譯系統(tǒng)統(tǒng)在對程程序進行
20、行通常的的編譯之之前,先先進行預預處理。cc提供的的預處理理功能主主要有以以下三種種:1)宏宏定義2)文文件包含含3)條條件編譯譯總是使用不不經(jīng)常改改動的大大型代碼碼體。、程序由由多個模模塊組成成,所有有模塊都都使用一一組標準準的包含含文件和和相同的的編譯選選項。在在這種情情況下,可可以將所所有包含含文件預預編譯為為一個預預編譯頭頭。22、關(guān)鍵鍵字coonstt是什么么含意?答:我只要要一聽到到被面試試者說:“coonstt意味著著常數(shù)”,我我就知道道我正在在和一個個業(yè)余者者打交道道。去年年Dann Saaks已已經(jīng)在他他的文章章里完全全概括了了connst的的所有用用法,因因此ESSP(譯譯
21、者:EEmbeeddeed SSysttemss Prrogrrammmingg)的每每一位讀讀者應(yīng)該該非常熟熟悉coonstt能做什什么和不不能做什什么.如如果你從從沒有讀讀到那篇篇文章,只只要能說說出coonstt意味著著“只讀讀”就可可以了。盡盡管這個個答案不不是完全全的答案案,但我我接受它它作為一一個正確確的答案案。(如如果你想想知道更更詳細的的答案,仔仔細讀一一下Saaks的的文章吧吧。)如如果應(yīng)試試者能正正確回答答這個問問題,我我將問他他一個附附加的問問題:下下面的聲聲明都是是什么意意思?constt innt aa;int cconsst aa;constt innt *a;in
22、t * coonstt a;int cconsst * a connst;前兩個的作作用是一一樣,aa是一個個常整型型數(shù)。第第三個意意味著aa是一個個指向常常整型數(shù)數(shù)的指針針(也就就是,整整型數(shù)是是不可修修改的,但但指針可可以)。第第四個意意思a是是一個指指向整型型數(shù)的常常指針(也也就是說說,指針針指向的的整型數(shù)數(shù)是可以以修改的的,但指指針是不不可修改改的)。最最后一個個意味著著a是一一個指向向常整型型數(shù)的常常指針(也也就是說說,指針針指向的的整型數(shù)數(shù)是不可可修改的的,同時時指針也也是不可可修改的的)。如如果應(yīng)試試者能正正確回答答這些問問題,那那么他就就給我留留下了一一個好印印象。順順帶提一一
23、句,也也許你可可能會問問,即使使不用關(guān)關(guān)鍵字 connst,也也還是能能很容易易寫出功功能正確確的程序序,那么么我為什什么還要要如此看看重關(guān)鍵鍵字coonstt呢?我我也如下下的幾下下理由:1). 關(guān)關(guān)鍵字cconsst的作作用是為為給讀你你代碼的的人傳達達非常有有用的信信息,實實際上,聲聲明一個個參數(shù)為為常量是是為了告告訴了用用戶這個個參數(shù)的的應(yīng)用目目的。如如果你曾曾花很多多時間清清理其它它人留下下的垃圾圾,你就就會很快快學會感感謝這點點多余的的信息。(當當然,懂懂得用cconsst的程程序員很很少會留留下的垃垃圾讓別別人來清清理的。)2). 通通過給優(yōu)優(yōu)化器一一些附加加的信息息,使用用關(guān)鍵
24、字字connst也也許能產(chǎn)產(chǎn)生更緊緊湊的代代碼。3). 合合理地使使用關(guān)鍵鍵字coonstt可以使使編譯器器很自然然地保護護那些不不希望被被改變的的參數(shù),防防止其被被無意的的代碼修修改。簡簡而言之之,這樣樣可以減減少buug的出出現(xiàn)23、關(guān)鍵鍵字voolattilee有什么么含意 并給出出三個不不同的例例子。答:一個定定義為vvolaatille的變變量是說說這變量量可能會會被意想想不到地地改變,這這樣,編編譯器就就不會去去假設(shè)這這個變量量的值了了。精確確地說就就是,優(yōu)優(yōu)化器在在用到這這個變量量時必須須每次都都小心地地重新讀讀取這個個變量的的值,而而不是使使用保存存在寄存存器里的的備份。下下面
25、是vvolaatille變量量的幾個個例子:1). 并并行設(shè)備備的硬件件寄存器器(如:狀態(tài)寄寄存器)2). 一一個中斷斷服務(wù)子子程序中中會訪問問到的非非自動變變量(NNon-auttomaaticc vaariaablees)3). 多多線程應(yīng)應(yīng)用中被被幾個任任務(wù)共享享的變量量回答不出這這個問題題的人是是不會被被雇傭的的。我認認為這是是區(qū)分CC程序員員和嵌入入式系統(tǒng)統(tǒng)程序員員的最基基本的問問題。嵌嵌入式系系統(tǒng)程序序員經(jīng)常常同硬件件、中斷斷、RTTOS等等等打交交道,所所用這些些都要求求vollatiile變變量。不不懂得vvolaatille內(nèi)容容將會帶帶來災(zāi)難難。假設(shè)被面試試者正確確地回答答
26、了這是是問題(嗯嗯,懷疑疑這否會會是這樣樣),我我將稍微微深究一一下,看看一下這這家伙是是不是直直正懂得得vollatiile完完全的重重要性。1). 一一個參數(shù)數(shù)既可以以是coonstt還可以以是voolattilee嗎?解解釋為什什么。2). 一一個指針針可以是是vollatiile 嗎?解解釋為什什么。3). 下下面的函函數(shù)有什什么錯誤誤:int ssquaare(vollatiile intt *pptr)returrn *ptrr * *pttr;下面是答案案:1). 是是的。一一個例子子是只讀讀的狀態(tài)態(tài)寄存器器。它是是vollatiile因因為它可可能被意意想不到到地改變變。它是是
27、connst因因為程序序不應(yīng)該該試圖去去修改它它。2). 是是的。盡盡管這并并不很常常見。一一個例子子是當一一個中服服務(wù)子程程序修該該一個指指向一個個buffferr的指針針時。3). 這這段代碼碼的有個個惡作劇劇。這段段代碼的的目的是是用來返返指針*ptrr指向值值的平方方,但是是,由于于*pttr指向向一個vvolaatille型參參數(shù),編編譯器將將產(chǎn)生類類似下面面的代碼碼:int ssquaare(vollatiile intt *pptr)int aa,b;a = *ptrr;b = *ptrr;returrn aa * b;由于*pttr的值值可能被被意想不不到地該該變,因因此a和和
28、b可能能是不同同的。結(jié)結(jié)果,這這段代碼碼可能返返不是你你所期望望的平方方值!正正確的代代碼如下下:long squuaree(voolattilee innt *ptrr)int aa;a = *ptrr;returrn aa * a;24、三種種基本的的數(shù)據(jù)模模型答:按照數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)類型的的不同,將將數(shù)據(jù)模模型劃分分為層次次模型、網(wǎng)網(wǎng)狀模型型和關(guān)系系模型。25、結(jié)構(gòu)構(gòu)與聯(lián)合合有和區(qū)區(qū)別?答:(1). 結(jié)結(jié)構(gòu)和聯(lián)聯(lián)合都是是由多個個不同的的數(shù)據(jù)類類型成員員組成, 但在在任何同同一時刻刻, 聯(lián)聯(lián)合中只只存放了了一個被被選中的的成員(所所有成員員共用一一塊地址址空間), 而結(jié)結(jié)構(gòu)的所所有成員員都存在
29、在(不同同成員的的存放地地址不同同)。(22). 對于聯(lián)聯(lián)合的不不同成員員賦值, 將會會對其它它成員重重寫,原來成成員的值值就不存存在了, 而對對于結(jié)構(gòu)構(gòu)的不同同成員賦賦值是互互不影響響的26、描述述內(nèi)存分分配方式式以及它它們的區(qū)區(qū)別?答:1) 從靜態(tài)態(tài)存儲區(qū)區(qū)域分配配。內(nèi)存存在程序序編譯的的時候就就已經(jīng)分分配好,這這塊內(nèi)存存在程序序的整個個運行期期間都存存在。例例如全局局變量,sstattic 變量。2) 在棧上上創(chuàng)建。在在執(zhí)行函函數(shù)時,函數(shù)內(nèi)局部變量的存儲單元都可以在棧上創(chuàng)建,函數(shù)執(zhí)行結(jié)束時這些存儲單元自動被釋放。棧內(nèi)存分配運算內(nèi)置于處理器的指令集。3) 從堆上分配,亦稱動態(tài)內(nèi)存分配。程序
30、在運行的時候用malloc 或new 申請任意多少的內(nèi)存,程序員自己負責在何時用free 或delete 釋放內(nèi)存。動態(tài)內(nèi)存的生存期由程序員決定,使用非常靈活,但問題也最多27、請說說出coonstt與#ddefiine 相比,有有何優(yōu)點點?答:Connst作作用:定定義常量量、修飾飾函數(shù)參參數(shù)、修修飾函數(shù)數(shù)返回值值三個作作用。被被Connst修修飾的東東西都受受到強制制保護,可可以預防防意外的的變動,能能提高程程序的健健壯性。1) coonstt 常量量有數(shù)據(jù)據(jù)類型,而而宏常量量沒有數(shù)數(shù)據(jù)類型型。編譯譯器可以以對前者者進行類類型安全全檢查。而而對后者者只進行行字符替替換,沒沒有類型型安全檢檢
31、查,并并且在字字符替換換可能會會產(chǎn)生意意料不到到的錯誤誤。 2) 有些集集成化的的調(diào)試工工具可以以對coonstt 常量量進行調(diào)調(diào)試,但但是不能能對宏常常量進行行調(diào)試。28、簡述述數(shù)組與與指針的的區(qū)別?答:數(shù)組要要么在靜靜態(tài)存儲儲區(qū)被創(chuàng)創(chuàng)建(如如全局數(shù)數(shù)組),要要么在棧棧上被創(chuàng)創(chuàng)建。指指針可以以隨時指指向任意意類型的的內(nèi)存塊塊。 (1)修修改內(nèi)容容上的差差別 chhar a = “heelloo”; aa0 = X; chhar *p = “wworlld”; / 注意意p 指指向常量量字符串串 p00 = XX; / 編譯器器不能發(fā)發(fā)現(xiàn)該錯錯誤,運運行時錯錯誤 (22) 用用運算符符sizz
32、eoff 可以以計算出出數(shù)組的的容量(字字節(jié)數(shù))。sizeof(p),p 為指針得到的是一個 指針變量的字節(jié)數(shù),而不是p 所指的內(nèi)存容量。C+/C 語言沒有辦法知道指針所指的內(nèi)存容量,除非在申請內(nèi)存時記住它。注意當數(shù)組作為函數(shù)的參數(shù)進行傳遞時,該數(shù)組自動退化為同類型的指針。 char a = hello world; char *p = a; cout sizeof(a) endl; / 12 字節(jié) cout sizeof(p) endl; / 4 字節(jié) 計算數(shù)組和指針的內(nèi)存容量 void Func(char a100) cout sizeof(a) endl; / 4 字節(jié)而不是100 字節(jié)
33、 29、分別別寫出BBOOLL,innt,ffloaat,指指針類型型的變量量a 與與“零”的的比較語語句。答:BOOOL : iff ( !a ) oor iif(aa)innt : iif ( a = 0)ffloaat :connst EXPPRESSSIOON EEXP = 00.00000001 iif ( a -EXXP)ppoinnterr : if ( aa != NUULL) orr iff(a = NULLL) 30、如何何判斷一一段程序序是由CC 編譯譯程序還還是由CC+編編譯程序序編譯的的?答:#iffdeff _cplluspplusscouutc+;#ellsecc
34、outtc;#enndiff31、論述述含參數(shù)數(shù)的宏與與函數(shù)的的優(yōu)缺點點答: 帶帶參宏 函數(shù)處理時間 編譯時時 程程序運行行時參數(shù)類型 沒沒有參數(shù)數(shù)類型問問題 定義義實參、形形參類型型處理過程 不不分配內(nèi)內(nèi)存 分配配內(nèi)存程序長度 變變長 不變變運行速度 不不占運行行時間 調(diào)用和和返回占占用時間間32、用兩兩個棧實實現(xiàn)一個個隊列的的功能?要求給給出算法法和思路路!答 、設(shè)22個棧為為A,BB, 一一開始均均為空.入隊:將新元素ppushh入棧AA;出隊:(1)判斷斷棧B是是否為空空;(2)如果果不為空空,則將將棧A中中所有元元素依次次popp出并ppushh到棧BB;(3)將棧棧B的棧棧頂元素素
35、popp出;這樣實現(xiàn)的的隊列入入隊和出出隊的平平攤復雜雜度都還還是O(1), 比上上面的幾幾種方法法要好33、嵌入入式系統(tǒng)統(tǒng)中經(jīng)常常要用到到無限循循環(huán),你你怎么樣樣用C編編寫死循循環(huán)呢?答:這個問問題用幾幾個解決決方案。我我首選的的方案是是:whilee(1)一些程序員員更喜歡歡如下方方案:for(;)這個實現(xiàn)方方式讓我我為難,因因為這個個語法沒沒有確切切表達到到底怎么么回事。如如果一個個應(yīng)試者者給出這這個作為為方案,我我將用這這個作為為一個機機會去探探究他們們這樣做做的基本原理。如如果他們們的基本本答案是是:“我我被教著著這樣做做,但從從沒有想想到過為為什么?!边@這會給我我留下一一個壞印印象
36、。第三個方案案是用 gottoLoop:.goto Looop;應(yīng)試者如給給出上面面的方案案,這說說明或者者他是一一個匯編編語言程程序員(這這也許是是好事)或或者他是是一個想想進入新新領(lǐng)域的的BASSIC/FORRTRAAN程序序員。34、位操操作(BBit mannipuulattionn) 答: 嵌入入式系統(tǒng)統(tǒng)總是要要用戶對對變量或或寄存器器進行位位操作。給給定一個個整型變變量a,寫寫兩段代代碼,第第一個設(shè)設(shè)置a的的bitt 3,第第二個清清除a 的biit 33。在以以上兩個個操作中中,要保保持其它它位不變變。對這這個問題題有三種種基本的的反應(yīng)11)不知知道如何何下手。該該被面者者從沒做
37、做過任何何嵌入式式系統(tǒng)的的工作。2) 用bit fields。Bit fields是被扔到C語言死角的東西,它保證你的代碼在不同編譯器之間是不可移植的,同時也保證了的你的代碼是不可重用的。我最近不幸看到 Infineon為其較復雜的通信芯片寫的驅(qū)動程序,它用到了bit fields因此完全對我無用,因為我的編譯器用其它的方式來實現(xiàn)bit fields的。從道德講:永遠不要讓一個非嵌入式的家伙粘實際硬件的邊。3) 用 #defines 和 bit masks 操作。這是一個有極高可移植性的方法,是應(yīng)該被用到的方法。最佳的解決方案如下:#define BIT3 (0 x1 3)static int
38、 a;void set_bit3(void) a |= BIT3;void clear_bit3(void) a &= BIT3; 一些人喜歡為設(shè)置和清除值而定義一個掩碼同時定義一些說明常數(shù),這也是可以接受的。我希望看到幾個要點:說明常數(shù)、|=和&=操作。35、訪問問固定的的內(nèi)存位位置(AAcceessiing fixxed memmoryy loocattionns) 答:嵌入式式系統(tǒng)經(jīng)經(jīng)常具有有要求程程序員去去訪問某某特定的的內(nèi)存位位置的特特點。在在某工程程中,要要求設(shè)置置一絕對對地址為為0 x667a99的整型型變量的的值為00 xaaa66。編編譯器是是一個純純粹的AANSII編譯器器
39、。寫代代碼去完完成這一一任務(wù)。這一問題測試你是否知道為了訪問一絕對地址把一個整型數(shù)強制轉(zhuǎn)換(typecast)為一指針是合法的。這一問題的實現(xiàn)方式隨著個人風格不同而不同。典型的類似代碼如下: int *ptr; ptr = (int *)0 x67a9; *ptr = 0 xaa66;A more obscure approach is: 一個較晦澀的方法是: *(int * const)(0 x67a9) = 0 xaa55;即使你的品味更接近第二種方案,但我建議你在面試時使用第一種方案。36、中斷斷(Innterrruppts)答: 中斷斷是嵌入入式系統(tǒng)統(tǒng)中重要要的組成成部分,這這導致了了
40、很多編編譯開發(fā)發(fā)商提供供一種擴擴展讓讓標準CC支持中中斷。具具代表事事實是,產(chǎn)產(chǎn)生了一一個新的的關(guān)鍵字字 _intterrruptt。下面面的代碼碼就使用用了_intterrruptt關(guān)鍵字字去定義義了一個個中斷服服務(wù)子程程序(IISR),請評評論一下下這段代代碼的。_interrupt double compute_area (double radius) double area = PI * radius * radius; printf(nArea = %f, area); return area;這個函數(shù)有太多的錯誤了,以至讓人不知從何說起了:1)ISR 不能返回一個值。如果你不懂這個
41、,那么你不會被雇用的。2) ISR 不能傳遞參數(shù)。如果你沒有看到這一點,你被雇用的機會等同第一項。3) 在許多的處理器/編譯器中,浮點一般都是不可重入的。有些處理器/編譯器需要讓額處的寄存器入棧,有些處理器/編譯器就是不允許在ISR中做浮點運算。此外,ISR應(yīng)該是短而有效率的,在ISR中做浮點運算是不明智的。4) 與第三點一脈相承,printf()經(jīng)常有重入和性能上的問題。如果你丟掉了第三和第四點,我不會太為難你的。不用說,如果你能得到后兩點,那么你的被雇用前景越來越光明了。37、動態(tài)態(tài)內(nèi)存分分配(DDynaamicc meemorry aalloocattionn) 答:盡管不不像非嵌嵌入式
42、計計算機那那么常見見,嵌入入式系統(tǒng)統(tǒng)還是有有從堆(hheapp)中動動態(tài)分配配內(nèi)存的的過程的的。那么么嵌入式式系統(tǒng)中中,動態(tài)態(tài)分配內(nèi)內(nèi)存可能能發(fā)生的的問題是是什么?這里,我我期望應(yīng)應(yīng)試者能能提到內(nèi)內(nèi)存碎片片,碎片片收集的的問題,變變量的持持行時間間等等。這這個主題題已經(jīng)在在ESPP雜志中中被廣泛泛地討論論過了(主主要是 P.JJ. PPlauugerr, 他他的解釋釋遠遠超超過我這這里能提提到的任任何解釋釋),所所有回過過頭看一一下這些些雜志吧吧!讓應(yīng)應(yīng)試者進進入一種種虛假的的安全感感覺后,我我拿出這這么一個個小節(jié)目目:下面面的代碼碼片段的的輸出是是什么,為為什么?chaar *ptrr;if
43、f (ptrr = (chhar *)mmallloc(0) = NUULL) pputss(GGot a nnulll poointter);eelsee puuts(Goot aa vaalidd poointter);這這是一個個有趣的的問題。最最近在我我的一個個同事不不經(jīng)意把把0值傳傳給了函函數(shù)maallooc,得得到了一一個合法法的指針針之后,我我才想到到這個問問題。這這就是上上面的代代碼,該該代碼的的輸出是是Goot aa vaalidd poointter。我用用這個來來開始討討論這樣樣的一問問題,看看看被面面試者是是否想到到庫例程程這樣做做是正確確。得到到正確的的答案固固然重要
44、要,但解解決問題題的方法法和你做做決定的的基本原原理更重重要些。38、Tyypeddef 答:Typpedeef 在在C語言言中頻繁繁用以聲聲明一個個已經(jīng)存存在的數(shù)數(shù)據(jù)類型型的同義義字。也也可以用用預處理理器做類類似的事事。例如如,思考考一下下下面的例例子:#deffinee dPPS sstruuct s *typpedeef sstruuct s * tPPS; 以以上兩種種情況的的意圖都都是要定定義dPPS 和和 tPPS 作作為一個個指向結(jié)結(jié)構(gòu)s指指針。哪哪種方法法更好呢呢?(如如果有的的話)為為什么? 這是一一個非常常微妙的的問題,任任何人答答對這個個問題(正正當?shù)脑颍┦鞘菓?yīng)當被
45、被恭喜的的。答案案是:ttypeedeff更好。思思考下面面的例子子:dPPS pp1,pp2;ttPS p3,p4;第一個個擴展為為strructt s * pp1, p2; 上面面的代碼碼定義pp1為一一個指向向結(jié)構(gòu)的的指,pp2為一一個實際際的結(jié)構(gòu)構(gòu),這也也許不是是你想要要的。第第二個例例子正確確地定義義了p33 和pp4 兩兩個指針針。39、用變變量a給給出下面面的定義義答:a) 一個整整型數(shù)(AAn iinteegerr)b) 一個個指向整整型數(shù)的的指針(AA poointter to an inttegeer)c) 一個個指向指指針的的的指針,它它指向的的指針是是指向一一個整型型數(shù)
46、(AA poointter to a ppoinnterr too ann inntegger)d) 一個個有100個整型型數(shù)的數(shù)數(shù)組(AAn aarraay oof 110 iinteegerrs)e) 一個個有100個指針針的數(shù)組組,該指指針是指指向一個個整型數(shù)數(shù)的(AAn aarraay oof 110 ppoinnterrs tto iinteegerrs)f) 一個個指向有有10個個整型數(shù)數(shù)數(shù)組的的指針(AA poointter to an arrray of 10 inttegeers)g) 一個個指向函函數(shù)的指指針,該該函數(shù)有有一個整整型參數(shù)數(shù)并返回回一個整整型數(shù)(AA pooi
47、ntter to a ffuncctioon tthatt taakess ann inntegger as an arggumeent andd reeturrns an inttegeer)h) 一個個有100個指針針的數(shù)組組,該指指針指向向一個函函數(shù),該該函數(shù)有有一個整整型參數(shù)數(shù)并返回回一個整整型數(shù)( An arrray of tenn poointterss too fuuncttionns tthatt taake an inttegeerargummentt annd rretuurn an inttegeer )答案是:a) innt aa; / AAn iinteegerrb)
48、 innt *a; / A ppoinnterr too ann innteggerc) innt *a; / A poiinteer tto aa poointter to an inttegeerd) innt aa100; / An arrray of 10 inttegeerse) innt *a110; / Ann arrrayy off 100 poointterss too innteggerssf) innt (*a)100; / A ppoinnterr too ann arrrayy off 100 innteggerssg) innt (*a)(innt); / A po
49、iinteer tto aa fuuncttionn a thaat ttakees aan iinteegerr arrgummentt annd rretuurnss ann innteggerh) innt (*a10)(iint); / AAn aarraay oof 110 ppoinnterrs tto ffuncctioons thaat ttakee ann inntegger arggumeent andd reeturrn aan iinteegerr40、解釋釋局部變變量、全全局變量量和靜態(tài)態(tài)變量的的含義。答:41、寫一一個“標標準”宏宏答:交換兩兩個參數(shù)數(shù)值的宏宏定義為
50、為:. #deefinne SSWAPP(a,b) (a)=(a)+(bb);(b)=(a)-(b);(a)=(a)-(b);輸入兩個參參數(shù),輸輸出較小小的一個個:#ddefiine MINN(A,B) (AA) nexxt,并并隨后刪刪除原nnextt指向的的節(jié)點。第二部分:程序代代碼評價價或者找找錯1、下面的的代碼輸輸出是什什么,為為什么?voiid ffoo(voiid) unnsiggnedd innt aa = 6; intt b = -20; (aa+b 66) ? puuts( 6) : putts(6。原因因是當表表達式中中存在有有符號類類型和無無符號類類型時所所有的操操作數(shù)都
51、都自動轉(zhuǎn)轉(zhuǎn)換為無無符號類類型。因因此-220變成成了一個個非常大大的正整整數(shù),所所以該表表達式計計算出的的結(jié)果大大于6。這這一點對對于應(yīng)當當頻繁用用到無符符號數(shù)據(jù)據(jù)類型的的嵌入式式系統(tǒng)來來說是豐豐常重要要的。如如果你答答錯了這這個問題題,你也也就到了了得不到到這份工工作的邊邊緣。22、評價價下面的的代碼片片斷:uunsiigneed iint zerro = 0;unssignned intt coompzzeroo = 0 xFFFFFF; /*1s ccompplemmentt off zeero */對對于一個個intt型不是是16位位的處理理器為說說,上面面的代碼碼是不正正確的。應(yīng)應(yīng)編
52、寫如如下:uunsiigneed iint commpzeero = 0;這這一問題題真正能能揭露出出應(yīng)試者者是否懂懂得處理理器字長長的重要要性。在在我的經(jīng)經(jīng)驗里,好好的嵌入入式程序序員非常常準確地地明白硬硬件的細細節(jié)和它它的局限限,然而而PC機機程序往往往把硬硬件作為為一個無無法避免免的煩惱惱。3、 C語語言同意意一些令令人震驚驚的結(jié)構(gòu)構(gòu),下面面的結(jié)構(gòu)構(gòu)是合法法的嗎,如如果是它它做些什什么?iint a = 5, b = 77, cc;c = aa+b;這這個問題題將做為為這個測測驗的一一個愉快快的結(jié)尾尾。不管管你相不不相信,上上面的例例子是完完全合乎乎語法的的。問題題是編譯譯器如何何處理它
53、它?水平平不高的的編譯作作者實際際上會爭爭論這個個問題,根根據(jù)最處處理原則則,編譯譯器應(yīng)當當能處理理盡可能能所有合合法的用用法。因因此,上上面的代代碼被處處理成:c = a+ + b;因此, 這段段代碼持持行后aa = 6, b = 7, c = 112。如如果你知知道答案案,或猜猜出正確確答案,做做得好。如如果你不不知道答答案,我我也不把把這個當當作問題題。我發(fā)發(fā)現(xiàn)這個個問題的的最大好好處是這這是一個個關(guān)于代代碼編寫寫風格,代代碼的可可讀性,代代碼的可可修改性性的好的的話題。4、設(shè)有以以下說明明和定義義:typeddef uniion loong i; intt k5; chhar c; D
54、AATE;strucct ddataa intt caat; DATTE ccow; dooublle ddog; ttoo;DATE maxx;則語句 pprinntf(%dd,ssizeeof(strructt daate)+siizeoof(mmax);的的執(zhí)行結(jié)結(jié)果是? 答 、結(jié)果果是:552。DDATEE是一個個uniion, 變量量公用空空間. 里面最最大的變變量類型型是innt55, 占用220個字字節(jié). 所以它它的大小小是200data是是一個sstruuct, 每個個變量分分開占用用空間. 依次次為innt4 + DDATEE20 + ddoubble88 = 32.所以結(jié)果
55、是是 200 + 32 = 552.當然.在某些些16位位編輯器器下, intt可能是是2字節(jié)節(jié),那么么結(jié)果是是 innt2 + DDATEE10 + ddoubble88 = 205、請寫出出下列代代碼的輸輸出內(nèi)容容#inclludeemain()int aa,b,c,dd;a=10;b=a+;c=+aa;d=10*a+;printtf(b,cc,d:%d,%d,%d,bb,c,dd);returrn 00; 答:10,112,11206、寫出下下列代碼碼的輸出出內(nèi)容#inclludeeint iinc(intt a)returrn(+a);int mmultti(iint*a,iint*b
56、,iint*c)returrn(*c=*a*b);typeddef intt(FUUNC11)(iint in);typeddef intt(FUUNC22) (intt*,iint*,innt*);void shoow(FFUNCC2 ffun,intt arrg1, innt*aarg22)INCp=&innc;int ttempp =pp(arrg1);fun(&temmp,&argg1, argg2);printtf(%dn,*arrg2);main()int aa;show(mullti,10,&a);returrn 00;答:11007、請找出出下面代代碼中的的所以錯錯誤說明:以下
57、下代碼是是把一個個字符串串倒序,如如“abbcd”倒倒序后變變?yōu)椤癲dcbaa”1、#inncluudestrringg.h2、maiin()3、4、 chhar*srcc=hhelllo,wworlld;5、 chhar* deest=NULLL;6、 innt llen=strrlenn(srrc);7、 deest=(chhar*)maallooc(llen);8、 chhar* d=desst;9、 chhar* s=srccleen;10、 wwhille(llen-!=0) 11、 dd+=s-;12、 pprinntf(%ss,ddestt);13、 rretuurn 0;14、
58、答:方法1:int mmainn()char* srrc = hhelllo,wworlld;int llen = sstrllen(srcc);char* deest = (chaar*)malllocc(leen+11);/要為為0分分配一個個空間char* d = ddestt;char* s = &srccleen-11;/指向向最后一一個字符符whilee( llen- != 00 )*d+=*s-;*d = 0;/尾部部要加0printtf(%sn,desst);free(desst);/ 使用完完,應(yīng)當當釋放空空間,以以免造成成內(nèi)存匯匯泄露returrn 00;方法2:#incl
59、ludee #inclludee main()char strr=heelloo,woorldd;int llen=strrlenn(sttr);char t;for(iint i=00; iileen/22; ii+)t=strri; strii=sstrlenn-i-1; sttrllen-i-11=tt;printtf(%s,sttr);returrn 00;8、請問下下面程序序有什么么錯誤? innt aa600225010000,i,j,kk; foor(kk=0;k=10000;kk+) ffor(j=00;j2500;j+) forr(i=0;ii600;i+) aijk=0;答
60、案:把循循環(huán)語句句內(nèi)外換換一下9、請問下下面程序序會出現(xiàn)現(xiàn)什么情情況?. #deefinne MMax_CB 5000 vvoidd LmmiQuueryyCSmmd(SStruuct MSggCB * ppmsgg) unssignned chaar uucCmmdNuum; . forr(uccCmddNumm=0;ucCCmdNNumMaxx_CBB;uccCmddNumm+) .; 答案:死循循環(huán)10、以下下3個有有什么區(qū)區(qū)別chhar * cconsst pp; /常量量指針,pp的值不不可以修修改char connst * pp;/指向常常量的指指針,指指向的常常量值不不可以改改c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版砼單項工程承包施工合同
- 2024版浙江省種子買賣合同
- 上海復旦附中2025屆高二上生物期末綜合測試試題含解析
- 陜西咸陽武功縣普集高級中學2025屆生物高一上期末教學質(zhì)量檢測模擬試題含解析
- 2024年保密基礎(chǔ)知識競賽試題庫及答案(共290題)
- 舉一反三系列高二高考數(shù)學同步及復習資料人教A版選擇性必修2專題4.6 等差數(shù)列的前n項和公式(重難點題型檢測)(含答案及解析)
- 小猴子下山教案模板6篇
- 山魈繪畫教案6篇
- 沖擊鉆安全操作規(guī)程有哪些(11篇)
- 系學生會文體部工作計劃6篇
- 2024人教版初中九年級數(shù)學上冊第二十一章一元二次方程大單元:跨學科教學課時教學設(shè)計
- 耳穴壓豆課件
- 第一次月考+(1-2單元)+2024-2025學年六年級上冊數(shù)學人教版
- 河北省邢臺市信都區(qū)2023-2024學年九年級上學期期中英語試題
- 《烹飪廚房英語》課程教案完整版全套(技校)
- 馬戲娛樂相關(guān)行業(yè)公司成立方案及可行性研究報告
- 2024至2030年中國帶電作業(yè)機器人行業(yè)發(fā)展戰(zhàn)略規(guī)劃及未來前景展望報告
- 子宮頸胃型腺癌臨床診治中國專家共識(2024年版)解讀
- 2025屆武漢市高三語文(上)九月調(diào)研聯(lián)考試卷附答案解析
- 2024年成考專升本政治試題附答案
- 復句類型練習
評論
0/150
提交評論