眾多高級語言都從C/C++有所借鑒,所以說C/C++的語言基礎(chǔ)對從事軟件開發(fā)的人員來說非常重要。 《C和C++程序員面試秘笈》是一本解析C/C++面試題的書,可以幫助求職者更好地準備面試!禖和C++程序員面試秘笈》共包含12章,囊括了目前企業(yè)中常見的面試題類型和考點,包括C/C++程序基礎(chǔ),預(yù)處理、const、static與sizeof,引用和指針,字符串,位運算與嵌入式編程,C++面向?qū)ο,C++繼承和多態(tài),數(shù)據(jù)結(jié)構(gòu),排序,泛型編程,STL,算法和邏輯思維等最常見的面試題!禖和C++程序員面試秘笈》通過技術(shù)點解析、代碼輔佐的方式讓讀者能深刻領(lǐng)會每個考點背后的技術(shù)。 《C和C++程序員面試秘笈》緊扣面試精髓,對各種技術(shù)的剖析一針見血,是目前想找工作的C/C++程序員和剛畢業(yè)的大學(xué)生的面試寶典。
目錄: 第1章C/C++程序基礎(chǔ) 面試題1看代碼寫輸出——一般賦值語句 面試題2看代碼寫輸出——C++域操作符 面試題3看代碼寫輸出——i++和++i的區(qū)別 面試題4i++與++i哪個效率更高 面試題5選擇編程風(fēng)格良好的條件比較語句 面試題6看代碼寫結(jié)果——有符號變量與無符號變量的值的轉(zhuǎn)換 面試題7不使用任何中間變量如何將a、b的值進行交換 面試題8C++與C有什么不同 面試題9如何理解C++是面向?qū)ο蠡模鳦是面向過程化的 面試題10標準頭文件的結(jié)構(gòu) 面試題11#include和#include"head.h"有什么區(qū)別 面試題12C++中main函數(shù)執(zhí)行完后還執(zhí)行其他語句嗎 第2章預(yù)處理、const、static與sizeof 面試題1預(yù)處理的使用第1章C/C++程序基礎(chǔ) 面試題1看代碼寫輸出——一般賦值語句 面試題2看代碼寫輸出——C++域操作符 面試題3看代碼寫輸出——i++和++i的區(qū)別 面試題4i++與++i哪個效率更高 面試題5選擇編程風(fēng)格良好的條件比較語句 面試題6看代碼寫結(jié)果——有符號變量與無符號變量的值的轉(zhuǎn)換 面試題7不使用任何中間變量如何將a、b的值進行交換 面試題8C++與C有什么不同 面試題9如何理解C++是面向?qū)ο蠡模鳦是面向過程化的 面試題10標準頭文件的結(jié)構(gòu) 面試題11#include和#include"head.h"有什么區(qū)別 面試題12C++中main函數(shù)執(zhí)行完后還執(zhí)行其他語句嗎 第2章預(yù)處理、const、static與sizeof 面試題1預(yù)處理的使用 面試題2用#define實現(xiàn)宏并求最大值和最小值 面試題3宏定義的使用 面試題4看代碼寫輸出——宏參數(shù)的連接 面試題5用宏定義得到一個字的高位和低位字節(jié) 面試題6用宏定義得到一個數(shù)組所含的元素個數(shù) 面試題7找錯——const的使用 面試題8說明const與#define的特點及區(qū)別 面試題9C++中const有什么作用(至少說出3個) 面試題10static有什么作用(至少說出2個) 面試題11static全局變量與普通的全局變量有什么區(qū)別 面試題12看代碼寫結(jié)果——C++類的靜態(tài)成員 面試題13使用sizeof計算普通變量所占空間大小 面試題14使用sizeof計算類對象所占空間大小 面試題15使用sizeof計算含有虛函數(shù)的類對象的空間大小 面試題16使用sizeof計算虛擬繼承的類對象的空間大小 面試題18sizeof與strlen有哪些區(qū)別 面試題19sizeof有哪些用途 面試題20找錯——使用strlen()函數(shù)代替sizeof計算字符串長度 面試題21使用sizeof計算聯(lián)合體的大小 面試題22#pragmapack的作用 面試題23為什么要引入內(nèi)聯(lián)函數(shù) 面試題24為什么inline能很好地取代表達式形式的預(yù)定義 面試題25說明內(nèi)聯(lián)函數(shù)使用的場合 面試題26為什么不把所有的函數(shù)都定義成內(nèi)聯(lián)函數(shù) 面試題27內(nèi)聯(lián)函數(shù)與宏有什么區(qū)別 第3章引用和指針 面試題1一般變量引用 面試題2指針變量引用 面試題3看代碼找錯誤——變量引用 面試題4如何交換兩個字符串 面試題5程序查錯——參數(shù)引用 面試題6參數(shù)引用的常見錯誤 面試題7指針和引用有什么區(qū)別 面試題8為什么傳引用比傳指針安全 面試題9復(fù)雜指針的聲明 面試題10看代碼寫結(jié)果——用指針賦值 面試題11指針加減操作 面試題12指針比較 面試題13看代碼找錯誤——內(nèi)存訪問違規(guī) 面試題14指針的隱式轉(zhuǎn)換 面試題15指針常量與常量指針的區(qū)別 面試題16指針的區(qū)別 面試題17找錯——常量指針和指針常量的作用 面試題18this指針的正確敘述 面試題19看代碼寫結(jié)果——this指針 面試題20指針數(shù)組與數(shù)組指針的區(qū)別 面試題21找錯——指針數(shù)組和數(shù)組指針的使用 面試題22函數(shù)指針與指針函數(shù)的區(qū)別 面試題23數(shù)組指針與函數(shù)指針的定義 面試題24各種指針的定義 面試題25代碼改錯——函數(shù)指針的使用 面試題26看代碼寫結(jié)果——函數(shù)指針的使用 面試題27typedef用于函數(shù)指針定義 面試題28什么是“野指針” 面試題29看代碼查錯——“野指針”的危害 面試題30有了malloc/free,為什么還要new/delete 面試題31程序改錯——指針的初始化 面試題32各種內(nèi)存分配和釋放的函數(shù)的聯(lián)系和區(qū)別 面試題33程序找錯——動態(tài)內(nèi)存的傳遞 面試題34動態(tài)內(nèi)存的傳遞 面試題35比較分析兩個代碼段的輸出——動態(tài)內(nèi)存的傳遞 面試題36程序查錯——“野指針”用于變量值的互換 面試題37內(nèi)存的分配方式有幾種 面試題38什么是句柄 面試題39指針與句柄有什么區(qū)別 第4章字符串 面試題1使用庫函數(shù)將數(shù)字轉(zhuǎn)換為字符串 面試題2不使用庫函數(shù)將整數(shù)轉(zhuǎn)換為字符串 面試題3使用庫函數(shù)將字符串轉(zhuǎn)換為數(shù)字 面試題4不使用庫函數(shù)將字符串轉(zhuǎn)換為數(shù)字 面試題5編程實現(xiàn)strcpy函數(shù) 面試題6編程實現(xiàn)memcpy函數(shù) 面試題7strcpy與memcpy的區(qū)別 面試題8改錯——數(shù)組越界 面試題9分析程序——數(shù)組越界 面試題10分析程序——打印操作可能產(chǎn)生數(shù)組越界 面試題11編程實現(xiàn)計算字符串的長度 面試題12編程實現(xiàn)字符串中子串的查找 面試題13編程實現(xiàn)字符串中各單詞的翻轉(zhuǎn) 面試題14編程判斷字符串是否為回文 面試題15編程實現(xiàn)stcmp庫函數(shù) 面試題16編程查找兩個字符串的最大公共子串 面試題17不使用printf,將十進制數(shù)以二進制和十六進制的形式輸出 面試題18編程實現(xiàn)轉(zhuǎn)換字符串、插入字符的個數(shù) 面試題19字符串編碼例題 面試題20反轉(zhuǎn)字符串,但其指定的子串不反轉(zhuǎn) 面試題21編寫字符串反轉(zhuǎn)函數(shù)strrev 面試題22編程實現(xiàn)任意長度的兩個正整數(shù)相加 面試題23編程實現(xiàn)字符串的循環(huán)右移 面試題24刪除指定長度的字符 面試題25字符串的排序及交換 面試題26編程實現(xiàn)刪除字符串中所有指定的字符 面試題27分析代碼——使用strcat連接字符串 面試題28編程實現(xiàn)庫函數(shù)strcat 面試題29編程計算含有漢字的字符串長度 面試題30找出01字符串中0和1連續(xù)出現(xiàn)的最大次數(shù) 面試題31編程實現(xiàn)字符串的替換 第5章位運算與嵌入式編程 面試題1位制轉(zhuǎn)換 面試題2看代碼寫出結(jié)果——位運算 面試題3設(shè)置或清除特定的位 面試題4計算一個字節(jié)里有多少bit被置1 面試題5位運算改錯 面試題6運用位運算交換a、b兩數(shù) 面試題7列舉并解釋C++中的4種運算符轉(zhuǎn)化以及它們的不同點 面試題8用#define聲明一個常數(shù) 面試題9如何用C語言編寫死循環(huán) 面試題10如何訪問特定位置的內(nèi)存 面試題11對中斷服務(wù)代碼的評論 面試題12看代碼寫結(jié)果——整數(shù)的自動轉(zhuǎn)換 面試題13關(guān)鍵字static的作用是什么 面試題14關(guān)鍵字volatile有什么含義 面試題15判斷處理器是Big_endian還是Little_endian 面試題16評價代碼片斷——處理器字長 第6章C++面向?qū)ο?br/> 面試題1描述面向?qū)ο蠹夹g(shù)的基本概念 面試題2判斷題——類的基本概念 面試題3選擇題——C++與C語言相比的改進 面試題4class和struct有什么區(qū)別 面試題5改錯——C++類對象的聲明 面試題6看代碼寫結(jié)果——C++類成員的訪問 面試題7找錯——類成員的初始化 面試題8看代碼寫結(jié)果——靜態(tài)成員變量的使用 面試題9與全局對象相比,使用靜態(tài)數(shù)據(jù)成員有什么優(yōu)勢 面試題10有哪幾種情況只能用intializationlist,而不能用assignment 面試題11靜態(tài)成員的錯誤使用 面試題12對靜態(tài)數(shù)據(jù)成員的正確描述 面試題13main函數(shù)執(zhí)行前還會執(zhí)行什么代碼 面試題14C++中的空類默認會產(chǎn)生哪些類成員函數(shù) 面試題15構(gòu)造函數(shù)和析構(gòu)函數(shù)是否可以被重載 面試題16關(guān)于重載構(gòu)造函數(shù)的調(diào)用 面試題17構(gòu)造函數(shù)的使用 面試題18構(gòu)造函數(shù)explicit與普通構(gòu)造函數(shù)的區(qū)別 面試題19explicit構(gòu)造函數(shù)的作用 面試題20C++中虛析構(gòu)函數(shù)的作用是什么 面試題21看代碼寫結(jié)果——析構(gòu)函數(shù)的執(zhí)行順序 面試題22復(fù)制構(gòu)造函數(shù)是什么?什么是深復(fù)制和淺復(fù)制 面試題23編譯器與默認的copyconstructor 面試題24寫一個繼承類的復(fù)制函數(shù) 面試題25復(fù)制構(gòu)造函數(shù)與賦值函數(shù)有什么區(qū)別 面試題26編寫類String的構(gòu)造函數(shù)、析構(gòu)函數(shù)和賦值函數(shù) 面試題27了解C++類各成員函數(shù)的關(guān)系 面試題28C++類的臨時對象 面試題29復(fù)制構(gòu)造函數(shù)和析構(gòu)函數(shù) 面試題30看代碼寫結(jié)果——C++靜態(tài)成員和臨時對象 面試題31什么是臨時對象?臨時對象在什么情況下產(chǎn)生 面試題32為什么C語言不支持函數(shù)重載而C++能支持 面試題33判斷題——函數(shù)重載的正確聲明 面試題34重載和覆寫有什么區(qū)別 面試題35編程題——MyString類的編寫 面試題36編程題——各類運算符重載函數(shù)的編寫 面試題37看代碼寫輸出——new操作符重載的使用 第7章C++繼承和多態(tài) 面試題1C++類繼承的三種關(guān)系 面試題2C++繼承關(guān)系 面試題3看代碼找錯——C++繼承 面試題4私有繼承有什么作用 面試題5私有繼承和組合有什么相同點和不同點 面試題6什么是多態(tài) 面試題7虛函數(shù)是怎么實現(xiàn)的 面試題8構(gòu)造函數(shù)調(diào)用虛函數(shù) 面試題9看代碼寫結(jié)果——虛函數(shù)的作用 面試題10看代碼寫結(jié)果——虛函數(shù) 面試題11虛函數(shù)相關(guān)的選擇題 面試題12為什么需要多重繼承?它的優(yōu)缺點是什么 面試題13多重繼承中的二義性 面試題14多重繼承二義性的消除 面試題15多重繼承和虛擬繼承 面試題16為什么要引入抽象基類和純虛函數(shù) 面試題17虛函數(shù)與純虛函數(shù)有什么區(qū)別 面試題18程序找錯——抽象類不能實例化 面試題19應(yīng)用題——用面向?qū)ο蟮姆椒ㄟM行設(shè)計 面試題20什么是COM 面試題21COM組件有什么特點 面試題22如何理解COM對象和接口 面試題23簡述COM、ActiveX和DCOM 面試題24什么是DLLHELL 第8章數(shù)據(jù)結(jié)構(gòu) 面試題1編程實現(xiàn)一個單鏈表的建立 面試題2編程實現(xiàn)一個單鏈表的測長 面試題3編程實現(xiàn)一個單鏈表的打印 面試題4編程實現(xiàn)一個單鏈表節(jié)點的查找 面試題5編程實現(xiàn)一個單鏈表節(jié)點的插入 面試題6編程實現(xiàn)一個單鏈表節(jié)點的刪除 面試題7實現(xiàn)一個單鏈表的逆置 面試題8尋找單鏈表的中間元素 面試題9單鏈表的正向排序 面試題10判斷鏈表是否存在環(huán)型鏈表問題 面試題11有序單鏈表的合并 面試題12約瑟夫問題的解答 面試題13編程實現(xiàn)一個雙向鏈表的建立 面試題14編程實現(xiàn)一個雙向鏈表的測長 面試題15編程實現(xiàn)一個雙向鏈表的打印 面試題16編程實現(xiàn)一個雙向鏈表節(jié)點的查找 面試題17編程實現(xiàn)一個雙向鏈表節(jié)點的插入 面試題18編程實現(xiàn)一個雙向鏈表節(jié)點的刪除 面試題19實現(xiàn)有序雙向循環(huán)鏈表的插入操作 面試題20刪除兩個雙向循環(huán)鏈表的相同結(jié)點 面試題21編程實現(xiàn)隊列的入隊、出隊、測長、打印 面試題22隊列和棧有什么區(qū)別 面試題23簡答題——隊列和棧的使用 面試題24選擇題——隊列和棧的區(qū)別 面試題25使用隊列實現(xiàn)棧 面試題26選擇題——棧的使用 面試題27用C++實現(xiàn)一個二叉排序樹 面試題28使用遞歸與非遞歸方法實現(xiàn)中序遍歷 面試題29使用遞歸與非遞歸方法實現(xiàn)先序遍歷 面試題30使用遞歸與非遞歸方法實現(xiàn)后序遍歷 面試題31編寫層次遍歷二叉樹的算法 面試題32編寫判別給定二叉樹是否為二叉排序樹的算法 第9章排序 面試題1編程實現(xiàn)直接插入排序 面試題2編程實現(xiàn)希爾(Shell)排序 面試題3編程實現(xiàn)冒泡排序 面試題4編程實現(xiàn)快速排序 面試題5編程實現(xiàn)選擇排序 面試題6編程實現(xiàn)堆排序 面試題7實現(xiàn)歸并排序的算法(使用自頂向下的方法) 面試題8使用基數(shù)排序?qū)φ麛?shù)進行排序 面試題9選擇題——各排序算法速度的性能比較 面試題10各排序算法的時間復(fù)雜度的比較 第10章泛型編程 面試題1舉例說明什么是泛型編程 面試題2函數(shù)模板與類模板分別是什么 面試題3使用模板有什么缺點?如何避免 面試題4選擇題——類模板的實例化 面試題5解釋什么是模板的特化 面試題6部分模板特例化和全部模板特例化有什么區(qū)別 面試題7使用函數(shù)模板對普通函數(shù)進行泛型化 面試題8使用類模板對類進行泛型化 面試題9通過類模板設(shè)計符合要求的公共類 第11章STL(標準模板庫) 面試題1什么是STL 面試題2具體說明STL如何實現(xiàn)vector 面試題3看代碼回答問題——vector容器中iterator的使用 面試題4看代碼找錯——vector容器的使用 面試題5把一個文件中的整數(shù)排序后輸出到另一個文件中 面試題6list和vector有什么區(qū)別 面試題7分析代碼問題并修正——list和vector容器的使用 面試題8stl::deque是一種什么數(shù)據(jù)類型 面試題9在做應(yīng)用時如何選擇vector和deque 面試題10看代碼找錯——適配器stack和queue的使用 面試題11舉例說明set的用法 面試題12舉例說明map的用法 面試題13STL中map內(nèi)部是怎么實現(xiàn)的 面試題14map和hashmap有什么區(qū)別 面試題15什么是STL算法 面試題16分析代碼功能——STL算法的使用 面試題17vector中的erase方法與algorithm中的remove有什么區(qū)別 面試題18什么是auto_ptr(STL智能指針)?如何使用 面試題19看代碼找錯——智能指針auto_ptr的使用 面試題20智能指針如何實現(xiàn) 面試題21使用std::auto_ptr有什么方面的限制 面試題22如何理解函數(shù)對象 面試題23如何使用bind1st和bind2nd 面試題24實現(xiàn)bind1st的函數(shù)配接器 第12章智力測試題 面試題1元帥領(lǐng)兵 面試題2兩龜賽跑 面試題3電視機的價格 面試題4這塊石頭究竟有多重 面試題5四兄弟的年齡 面試題6爬樓梯 面試題73只砝碼稱東西 面試題8稱米 面試題9比薩餅交易 面試題10伊沙貝拉時裝精品屋 面試題11燒繩子的時間計算問題 面試題12給工人的金條 面試題13被污染的藥丸 面試題14稱量罐頭 面試題15有20元錢可以喝到幾瓶汽水 面試題16判斷鳥的飛行距離 面試題17按勞取酬 面試題18空姐分配物品 面試題19消失的1元錢 面試題20分物品 面試題21稱出4升的水 面試題22通向誠實國和說謊國的路 面試題23排序問題 面試題24兩個同一顏色的果凍 面試題25怎樣稱才能用3次就找到球 面試題26計算生日是哪一天 面試題273個女兒的年齡 面試題28取回黑襪和白襪 面試題29誰先擊完40下鼠標 面試題30聰明人是怎樣發(fā)財?shù)?br/> 面試題31誰打碎了花瓶 面試題32大有作為 面試題33宴會桌旁 面試題34過橋問題 面試題35一句不可信的話 面試題36海盜分寶石 面試題37如何推算有幾條病狗 面試題38判斷誰是盜竊犯 面試題39向?qū)?br/> 面試題40撲克牌問題 面試題41誰是機械師 面試題42帽子的顏色 面試題43兩個大于1小于10的整數(shù) 面試題44誰用1美元的紙幣付了糖果錢 面試題45究竟有哪些人參加了會議 面試題46小蟲 面試題47相遇 面試題48約會 面試題4930秒答題 面試題501分鐘答題 面試題51現(xiàn)代斯芬克斯之謎 面試題52所有開著的燈的編號
|