freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c筆試題匯總word版(編輯修改稿)

2025-05-08 22:29 本頁面
 

【文章內(nèi)容簡介】 reinterpret_cast的區(qū)別和應用。,int,float,指針類型的變量a 與“零”的比較語句。答案:BOOL : if ( !a ) or if(a)int : if ( a == 0)float : const EXPRESSION EXP = if ( a EXP amp。amp。 a EXP)pointer : if ( a != NULL) or if(a == NULL)define 相比,有何優(yōu)點?答案:1) const 常量有數(shù)據(jù)類型,而宏常量沒有數(shù)據(jù)類型。編譯器可以對前者進行類型安全檢查。而對后者只進行字符替換,沒有類型安全檢查,并且在字符替換可能會產(chǎn)生意料不到的錯誤。2) 有些集成化的調(diào)試工具可以對const 常量進行調(diào)試,但是不能對宏常量進行調(diào)試。?數(shù)組要么在靜態(tài)存儲區(qū)被創(chuàng)建(如全局數(shù)組),要么在棧上被創(chuàng)建。指針可以隨時指向任意類型的內(nèi)存塊。(1)修改內(nèi)容上的差別char a[] = “hello”。a[0] = ‘X’。char *p = “world”。 // 注意p 指向常量字符串p[0] = ‘X’。 // 編譯器不能發(fā)現(xiàn)該錯誤,運行時錯誤(2) 用運算符sizeof 可以計算出數(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 a[100]){cout sizeof(a) endl。 // 4 字節(jié)而不是100 字節(jié)}、覆蓋和隱藏區(qū)別?答案::(1)相同的范圍(在同一個類中);(2)函數(shù)名字相同;(3)參數(shù)不同;(4)virtual 關(guān)鍵字可有可無。,特征是:(1)不同的范圍(分別位于派生類與基類);(2)函數(shù)名字相同;(3)參數(shù)相同;(4)基類函數(shù)必須有virtual 關(guān)鍵字。c.“隱藏”是指派生類的函數(shù)屏蔽了與其同名的基類函數(shù),規(guī)則如下:(1)如果派生類的函數(shù)與基類的函數(shù)同名,但是參數(shù)不同。此時,不論有無virtual關(guān)鍵字,基類的函數(shù)將被隱藏(注意別與重載混淆)。(2)如果派生類的函數(shù)與基類的函數(shù)同名,并且參數(shù)也相同,但是基類函數(shù)沒有virtual 關(guān)鍵字。此時,基類的函數(shù)被隱藏(注意別與覆蓋混淆)35. There are two int variables: a and b, don’t use “if”, “? :”, “switch”or other judgement statements, find out the biggest one of the two numbers.答案:( ( a + b ) + abs( a b ) ) / 236. 如何打印出當前源文件的文件名以及源文件的當前行號?答案:cout __FILE__ 。cout__LINE__ 。__FILE__和__LINE__是系統(tǒng)預定義宏,這種宏并不是在某個文件中定義的,而是由編譯器定義的。37. main 主函數(shù)執(zhí)行完畢后,是否可能會再執(zhí)行一段代碼,給出說明?答案:可以,可以用_onexit 注冊一個函數(shù),它會在main 之后執(zhí)行int fn1(void), fn2(void), fn3(void), fn4 (void)。void main( void ){String str(zhanglin)。_onexit( fn1 )。_onexit( fn2 )。_onexit( fn3 )。_onexit( fn4 )。printf( This is executed first.\n )。}int fn1(){printf( next.\n )。return 0。}int fn2(){printf( executed )。return 0。}int fn3(){printf( is )。return 0。}int fn4(){printf( This )。return 0。}The _onexit function is passed the address of a function (func) to be called when the program terminates normally. Successive calls to _onexit create a register of functions that are executed in LIFO (lastinfirstout) order. The functions passed to _onexit cannot take parameters.38. 如何判斷一段程序是由C 編譯程序還是由C++編譯程序編譯的?答案:ifdef __cpluspluscoutc++。elsecoutc。endif,要求排序后輸出到另一個文件中答案:#i ncludeiostream#i ncludefstreamusing namespace std。void Order(vectorintamp。 data) //bubble sort{int count = () 。int tag = false 。 // 設(shè)置是否需要繼續(xù)冒泡的標志位for ( int i = 0 。 i count 。 i++){for ( int j = 0 。 j count i 1 。 j++){if ( data[j] data[j+1]){tag = true 。int temp = data[j] 。data[j] = data[j+1] 。data[j+1] = temp 。}}if ( !tag )break 。}}void main( void ){vectorintdata。ifstream in(c:\\)。if ( !in){coutfile error!。exit(1)。}int temp。while (!()){intemp。(temp)。}()。 //關(guān)閉輸入文件流Order(data)。ofstream out(c:\\)。if ( !out){coutfile error!。exit(1)。}for ( i = 0 。 i () 。 i++)outdata[i] 。()。 //關(guān)閉輸出文件流}40. 鏈表題:一個鏈表的結(jié)點結(jié)構(gòu)struct Node{int data 。Node *next 。}。typedef struct Node Node 。(1)已知鏈表的頭結(jié)點head,寫一個函數(shù)把這個鏈表逆序 ( Intel)Node * ReverseList(Node *head) //鏈表逆序{if ( head == NULL || headnext == NULL )return head。Node *p1 = head 。Node *p2 = p1next 。Node *p3 = p2next 。p1next = NULL 。while ( p3 != NULL ){p2next = p1 。p1 = p2 。p2 = p3 。p3 = p3next 。}p2next = p1 。head = p2 。return head 。}(2)已知兩個鏈表head1 和head2 各自有序,請把它們合并成一個鏈表依然有序。(保留所有結(jié)點,即便大小相同)Node * Merge(Node *head1 , Node *head2){if ( head1 == NULL)return head2 。if ( head2 == NULL)return head1 。Node *head = NULL 。Node *p1 = NULL。Node *p2 = NULL。if ( head1data head2data ){head = head1 。p1 = head1next。p2 = head2 。}else{head = head2 。p2 = head2next 。p1 = head1 。}Node *pcurrent = head 。while ( p1 != NULL amp。amp。 p2 != NULL){if ( p1data = p2data ){pcurrentnext = p1 。pcurrent = p1 。p1 = p1next 。}else{pcurrentnext = p2 。pcurrent = p2 。p2 = p2next 。}}if ( p1 != NULL )pcurrentnext = p1 。if ( p2 != NULL )pcurrentnext = p2 。return head 。}(3)已知兩個鏈表head1 和head2 各自有序,請把它們合并成一個鏈表依然有序,這次要求用遞歸方法進行。 (Autodesk)答案:Node * MergeRecursive(Node *head1 , Node *head2){if ( head1 == NULL )return head2 。if ( head2 == NULL)return head1 。Node *head = NULL 。if ( head1data head2data ){head = head1 。headnext = MergeRecursive(head1next,head2)。}else{head = head2 。headnext = MergeRecursive(head1,head2next)。}return head 。}41. 分析一下這段程序的輸出 (Autodesk)class B{public:B(){coutdefault constructorendl。}~B(){coutdestructedendl。}B(int i):data(i) //B(int) works as a converter ( int instance of B){coutconstructed by parameter data endl。}private:int data。}。B Play( B b){return b 。}(1) results:int main(int argc, char* argv[]) constructed by parameter 5{ destructed B(5)形參析構(gòu)B t1 = Play(5)。 B t2 = Play(t1)。   destructed t1形參析構(gòu)return 0?!             ?destructed t2 注意順序!} destructed t1(2) results:int main(int argc, char* argv[]) constructed by parameter 5{ destructed B(5)形參析構(gòu)B t1 = Play(5)。 B t2 = Play(10)。   constructed by parameter 10return 0?!             ?destructed B(10)形參析構(gòu)} destructed t2 注意順序!destructed t142. 寫一個函數(shù)找出一個整數(shù)數(shù)組中,第二大的數(shù) (microsoft)答案:const int MINNUMBER = 32767 。int find_sec_max( int data[] , int count){int maxnumber = data[0] 。int sec_max = MINNUMBER 。for ( int i = 1 。 i count 。 i++){if ( data[i] maxnumber ){sec_max = maxnumber 。maxnumber = data[i] 。}else{if ( data[i] sec_max )sec_max = data[i] 。}}return sec_max 。}43. 寫一個在一個字符串(n)中尋找一個子串(m)第一個位置的函數(shù)。KMP算法效率最好,時間復雜度是O(n+m)。44. 多重繼承的內(nèi)存分配問題:比如有class A : public class B, public class C {}那么A的內(nèi)存結(jié)構(gòu)大致是怎么樣的?這個是pilerdependent的, 不同的實現(xiàn)其細節(jié)可能不同。如果不考慮有虛函數(shù)、虛繼承的話就相當簡單;否則的話,相當復雜??梢詤⒖肌渡钊胩剿鰿++對象模型》,或者:45. 如何判斷一個單鏈表是有環(huán)的?(注意不能用標志位,最多只能用兩個額外指針)struct node { char val。 node* next。}bool check(const node* head) {} //return false : 無環(huán);true: 有環(huán)一種O(n)的辦法就是(搞兩個指針,一個每次遞增一步,一個每次遞增兩步,如果有環(huán)的話兩者必然重合,反之亦然)
點擊復制文檔內(nèi)容
教學教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1