作品介紹

C和C++程序員面試秘笈


作者:董山海     整理日期:2014-03-19 18:29:51

眾多高級(jí)語(yǔ)言都從C/C++有所借鑒,所以說(shuō)C/C++的語(yǔ)言基礎(chǔ)對(duì)從事軟件開發(fā)的人員來(lái)說(shuō)非常重要。
《C和C++程序員面試秘笈》是一本解析C/C++面試題的書,可以幫助求職者更好地準(zhǔn)備面試!禖和C++程序員面試秘笈》共包含12章,囊括了目前企業(yè)中常見的面試題類型和考點(diǎn),包括C/C++程序基礎(chǔ),預(yù)處理、const、static與sizeof,引用和指針,字符串,位運(yùn)算與嵌入式編程,C++面向?qū)ο,C++繼承和多態(tài),數(shù)據(jù)結(jié)構(gòu),排序,泛型編程,STL,算法和邏輯思維等最常見的面試題!禖和C++程序員面試秘笈》通過(guò)技術(shù)點(diǎn)解析、代碼輔佐的方式讓讀者能深刻領(lǐng)會(huì)每個(gè)考點(diǎn)背后的技術(shù)。
《C和C++程序員面試秘笈》緊扣面試精髓,對(duì)各種技術(shù)的剖析一針見血,是目前想找工作的C/C++程序員和剛畢業(yè)的大學(xué)生的面試寶典。

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






上一本:女人受益一生的12堂心態(tài)課 下一本:女人受益一生的12堂口才課

作家文集

下載說(shuō)明
C和C++程序員面試秘笈的作者是董山海,全書語(yǔ)言優(yōu)美,行文流暢,內(nèi)容豐富生動(dòng)引人入勝。為表示對(duì)作者的支持,建議在閱讀電子書的同時(shí),購(gòu)買紙質(zhì)書。

更多好書