图书介绍
C和C++程序员面试秘笈PDF|Epub|txt|kindle电子书版本网盘下载
![C和C++程序员面试秘笈](https://www.shukui.net/cover/14/35093592.jpg)
- 董山海编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115341136
- 出版时间:2014
- 标注页数:448页
- 文件大小:48MB
- 文件页数:466页
- 主题词:C语言-程序设计
PDF下载
下载说明
C和C++程序员面试秘笈PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 C/C++程序基础1
面试题1看代码写输出——一般赋值语句1
面试题2看代码写输出——C++域操作符3
面试题3看代码写输出——i++和++i的区别4
面试题4 i++与++i哪个效率更高6
面试题5选择编程风格良好的条件比较语句7
面试题6看代码写结果——有符号变量与无符号变量的值的转换9
面试题7不使用任何中间变量如何将a、 b的值进行交换10
面试题8 C++与C有什么不同12
面试题9如何理解C++是面向对象化的,而C是面向过程化的13
面试题10标准头文件的结构13
面试题11 #include 〈head.h〉和#include ”head.h”有什么区别15
面试题12 C++中main函数执行完后还执行其他语句吗15
第2章 预处理、const、 static与sizeof17
面试题1预处理的使用17
面试题2用#define实现宏并求最大值和最小值19
面试题3宏定义的使用20
面试题4看代码写输出——宏参数的连接21
面试题5用宏定义得到一个字的高位和低位字节21
面试题6用宏定义得到一个数组所含的元素个数22
面试题7找错——const的使用23
面试题8说明const与#define的特点及区别24
面试题9 C++中const有什么作用(至少说出3个)25
面试题10 static有什么作用(至少说出2个)25
面试题11 static全局变量与普通的全局变量有什么区别26
面试题12看代码写结果——C++类的静态成员27
面试题13使用sizeof计算普通变量所占空间大小29
面试题14使用sizeof计算类对象所占空间大小30
面试题15 使用sizeof计算含有虚函数的类对象的空间大小33
面试题16使用sizeof计算虚拟继承的类对象的空间大小35
面试题18 sizeof与strlen有哪些区别37
面试题19 sizeof有哪些用途38
面试题20找错——使用strlen()函数代替sizeof计算字符串长度38
面试题21使用sizeof计算联合体的大小40
面试题22 #pragma pack的作用42
面试题23为什么要引入内联函数43
面试题24为什么inline能很好地取代表达式形式的预定义43
面试题25说明内联函数使用的场合44
面试题26为什么不把所有的函数都定义成内联函数45
面试题27内联函数与宏有什么区别45
第3章 引用和指针47
面试题1一般变量引用47
面试题2指针变量引用49
面试题3看代码找错误——变量引用50
面试题4如何交换两个字符串51
面试题5程序查错——参数引用52
面试题6参数引用的常见错误54
面试题7指针和引用有什么区别55
面试题8为什么传引用比传指针安全56
面试题9复杂指针的声明57
面试题10看代码写结果——用指针赋值59
面试题11指针加减操作60
面试题12指针比较61
面试题13看代码找错误——内存访问违规62
面试题14指针的隐式转换63
面试题15指针常量与常量指针的区别64
面试题16指针的区别65
面试题17找错——常量指针和指针常量的作用66
面试题18 this指针的正确叙述67
面试题19看代码写结果——this指针68
面试题20指针数组与数组指针的区别69
面试题21找错——指针数组和数组指针的使用71
面试题22函数指针与指针函数的区别72
面试题23数组指针与函数指针的定义74
面试题24各种指针的定义75
面试题25代码改错——函数指针的使用75
面试题26看代码写结果——函数指针的使用77
面试题27 typedef用于函数指针定义78
面试题28什么是“野指针”78
面试题29看代码查错——“野指针”的危害79
面试题30有了 malloc/free,为什么还要new/delete80
面试题31程序改错——指针的初始化81
面试题32各种内存分配和释放的函数的联系和区别85
面试题33程序找错——动态内存的传递86
面试题34动态内存的传递88
面试题35比较分析两个代码段的输出——动态内存的传递90
面试题36程序查错——“野指针”用于变量值的互换92
面试题37内存的分配方式有几种92
面试题38什么是句柄93
面试题39指针与句柄有什么区别94
第4章 字符串96
面试题1使用库函数将数字转换为字符串96
面试题2不使用库函数将整数转换为字符串98
面试题3使用库函数将字符串转换为数字100
面试题4不使用库函数将字符串转换为数字101
面试题5编程实现strcpy函数102
面试题6编程实现memcpy函数104
面试题7 strcpy与memcpy的区别105
面试题8改错——数组越界105
面试题9分析程序——数组越界107
面试题10分析程序——打印操作可能产生数组越界108
面试题11编程实现计算字符串的长度108
面试题12编程实现字符串中子串的查找110
面试题13编程实现字符串中各单词的翻转111
面试题14编程判断字符串是否为回文113
面试题15编程实现stcmp库函数115
面试题16编程查找两个字符串的最大公共子串116
面试题17不使用printf,将十进制数以二进制和十六进制的形式输出118
面试题18编程实现转换字符串、插入字符的个数120
面试题19字符串编码例题121
面试题20反转字符串,但其指定的子串不反转124
面试题21编写字符串反转函数strrev126
面试题22编程实现任意长度的两个正整数相加129
面试题23编程实现字符串的循环右移131
面试题24删除指定长度的字符132
面试题25字符串的排序及交换134
面试题26编程实现删除字符串中所有指定的字符135
面试题27分析代码——使用strcat连接字符串137
面试题28编程实现库函数strcat138
面试题29编程计算含有汉字的字符串长度139
面试题30找出01字符串中0和1连续出现的最大次数140
面试题31编程实现字符串的替换142
第5章 位运算与嵌入式编程144
面试题1位制转换144
面试题2看代码写出结果——位运算146
面试题3设置或清除特定的位147
面试题4计算一个字节里有多少bit被置1148
面试题5位运算改错149
面试题6运用位运算交换a、 b两数150
面试题7列举并解释C++中的4种运算符转化以及它们的不同点151
面试题8用#define声明一个常数152
面试题9如何用C语言编写死循环152
面试题10如何访问特定位置的内存153
面试题11对中断服务代码的评论154
面试题12看代码写结果——整数的自动转换154
面试题13关键字static的作用是什么155
面试题14关键字volatile有什么含义156
面试题15 判断处理器是Big endian还是Little endian156
面试题16评价代码片断——处理器字长157
第6章 C++面向对象159
面试题1描述面向对象技术的基本概念159
面试题2判断题——类的基本概念160
面试题3选择题——C++与C语言相比的改进161
面试题4 class和struct有什么区别161
面试题5改错——C++类对象的声明165
面试题6看代码写结果——C++类成员的访问165
面试题7找错——类成员的初始化166
面试题8看代码写结果——静态成员变量的使用167
面试题9与全局对象相比,使用静态数据成员有什么优势169
面试题10有哪几种情况只能用intialization list,而不能用assignment169
面试题11静态成员的错误使用171
面试题12对静态数据成员的正确描述173
面试题13 main函数执行前还会执行什么代码173
面试题14 C++中的空类默认会产生哪些类成员函数174
面试题15构造函数和析构函数是否可以被重载175
面试题16关于重载构造函数的调用175
面试题17构造函数的使用176
面试题18构造函数explicit与普通构造函数的区别178
面试题19 explicit构造函数的作用179
面试题20 C++中虚析构函数的作用是什么180
面试题21看代码写结果——析构函数的执行顺序182
面试题22复制构造函数是什么?什么是深复制和浅复制183
面试题23编译器与默认的copy constructor187
面试题24写一个继承类的复制函数187
面试题25复制构造函数与赋值函数有什么区别188
面试题26编写类String的构造函数、析构函数和赋值函数189
面试题27了解C++类各成员函数的关系192
面试题28 C++类的临时对象193
面试题29复制构造函数和析构函数196
面试题30看代码写结果——C++静态成员和临时对象198
面试题31什么是临时对象?临时对象在什么情况下产生200
面试题32 为什么C语言不支持函数重载而C++能支持202
面试题33判断题——函数重载的正确声明204
面试题34重载和覆写有什么区别205
面试题35编程题——MyString类的编写206
面试题36编程题——各类运算符重载函数的编写209
面试题37看代码写输出——new操作符重载的使用214
第7章 C++继承和多态216
面试题1 C++类继承的三种关系217
面试题2 C++继承关系219
面试题3看代码找错——C++继承221
面试题4私有继承有什么作用222
面试题5私有继承和组合有什么相同点和不同点223
面试题6什么是多态226
面试题7虚函数是怎么实现的228
面试题8构造函数调用虚函数229
面试题9看代码写结果——虚函数的作用230
面试题10看代码写结果——虚函数232
面试题11虚函数相关的选择题234
面试题12为什么需要多重继承?它的优缺点是什么235
面试题13多重继承中的二义性238
面试题14多重继承二义性的消除239
面试题15多重继承和虚拟继承240
面试题16为什么要引入抽象基类和纯虚函数242
面试题17虚函数与纯虚函数有什么区别244
面试题18程序找错——抽象类不能实例化244
面试题19应用题——用面向对象的方法进行设计245
面试题20什么是COM248
面试题21 COM组件有什么特点249
面试题22如何理解COM对象和接口250
面试题23简述COM、 ActiveX和DCOM251
面试题24什么是DLL HELL252
第8章 数据结构259
面试题1编程实现一个单链表的建立260
面试题2编程实现一个单链表的测长261
面试题3编程实现一个单链表的打印262
面试题4编程实现一个单链表节点的查找263
面试题5编程实现一个单链表节点的插入264
面试题6编程实现一个单链表节点的删除264
面试题7实现一个单链表的逆置266
面试题8寻找单链表的中间元素267
面试题9单链表的正向排序267
面试题10判断链表是否存在环型链表问题269
面试题11有序单链表的合并270
面试题12约瑟夫问题的解答273
面试题13编程实现一个双向链表的建立275
面试题14编程实现一个双向链表的测长277
面试题15编程实现一个双向链表的打印277
面试题16编程实现一个双向链表节点的查找278
面试题17编程实现一个双向链表节点的插入279
面试题18编程实现一个双向链表节点的删除279
面试题19实现有序双向循环链表的插入操作280
面试题20删除两个双向循环链表的相同结点283
面试题21编程实现队列的入队、出队、测长、打印287
面试题22队列和栈有什么区别291
面试题23简答题——队列和栈的使用292
面试题24选择题——队列和栈的区别292
面试题25使用队列实现栈293
面试题26选择题——栈的使用297
面试题27用C++实现一个二叉排序树298
面试题28使用递归与非递归方法实现中序遍历305
面试题29使用递归与非递归方法实现先序遍历306
面试题30使用递归与非递归方法实现后序遍历308
面试题31编写层次遍历二叉树的算法310
面试题32编写判别给定二叉树是否为二叉排序树的算法312
第9章 排序314
面试题1编程实现直接插入排序314
面试题2编程实现希尔(Shell)排序317
面试题3编程实现冒泡排序319
面试题4编程实现快速排序322
面试题5编程实现选择排序324
面试题6编程实现堆排序326
面试题7实现归并排序的算法(使用自顶向下的方法)329
面试题8使用基数排序对整数进行排序332
面试题9选择题——各排序算法速度的性能比较335
面试题10各排序算法的时间复杂度的比较336
第10章 泛型编程338
面试题1举例说明什么是泛型编程338
面试题2函数模板与类模板分别是什么340
面试题3使用模板有什么缺点?如何避免343
面试题4选择题——类模板的实例化345
面试题5解释什么是模板的特化346
面试题6部分模板特例化和全部模板特例化有什么区别348
面试题7使用函数模板对普通函数进行泛型化349
面试题8使用类模板对类进行泛型化351
面试题9通过类模板设计符合要求的公共类352
第11章 STL(标准模板库)355
面试题1什么是STL356
面试题2具体说明STL如何实现vector358
面试题3看代码回答问题——vector容器中iterator的使用360
面试题4看代码找错——vector容器的使用361
面试题5把一个文件中的整数排序后输出到另一个文件中363
面试题6 list和vector有什么区别365
面试题7分析代码问题并修正——list和vector容器的使用366
面试题8 stl::deque是一种什么数据类型368
面试题9在做应用时如何选择vector和deque369
面试题10看代码找错——适配器stack和queue的使用370
面试题11举例说明set的用法372
面试题12举例说明map的用法373
面试题13 STL中map内部是怎么实现的374
面试题14 map和hashmap有什么区别375
面试题15什么是STL算法375
面试题16分析代码功能——STL算法的使用377
面试题17 vector中的erase方法与algorithm中的remove有什么区别378
面试题18什么是auto_ptr (STL智能指针)?如何使用380
面试题19看代码找错——智能指针auto_ptr的使用382
面试题20 智能指针如何实现382
面试题21使用std::auto_ptr有什么方面的限制385
面试题22如何理解函数对象386
面试题23如何使用bind 1st和bind2nd388
面试题24实现bind 1st的函数配接器389
第12章 智力测试题392
面试题1元帅领兵393
面试题2两龟赛跑393
面试题3电视机的价格394
面试题4这块石头究竟有多重395
面试题5四兄弟的年龄396
面试题6爬楼梯396
面试题7 3只砝码称东西397
面试题8称米398
面试题9比萨饼交易399
面试题10伊沙贝拉时装精品屋399
面试题11烧绳子的时间计算问题400
面试题12给工人的金条401
面试题13被污染的药丸401
面试题14称量罐头402
面试题15有20元钱可以喝到几瓶汽水403
面试题16判断鸟的飞行距离404
面试题17按劳取酬405
面试题18空姐分配物品405
面试题19消失的1元钱406
面试题20分物品407
面试题21称出4升的水408
面试题22通向诚实国和说谎国的路409
面试题23排序问题410
面试题24两个同一颜色的果冻411
面试题25怎样称才能用3次就找到球412
面试题26计算生日是哪一天414
面试题27 3个女儿的年龄416
面试题28取回黑袜和白袜417
面试题29谁先击完40下鼠标418
面试题30聪明人是怎样发财的419
面试题31谁打碎了花瓶419
面试题32大有作为421
面试题33宴会桌旁422
面试题34过桥问题424
面试题35一句不可信的话425
面试题36海盗分宝石426
面试题37如何推算有几条病狗427
面试题38判断谁是盗窃犯428
面试题39向导429
面试题40扑克牌问题431
面试题41谁是机械师432
面试题42帽子的颜色433
面试题43两个大于1小于10的整数434
面试题44谁用1美元的纸币付了糖果钱437
面试题45究竟有哪些人参加了会议441
面试题46小虫442
面试题47相遇443
面试题48约会444
面试题49 30秒答题445
面试题50 1分钟答题446
面试题51现代斯芬克斯之谜447
面试题52所有开着的灯的编号448