欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 教程文档 > C/C++/C# > C和C++程序员面试秘笈[PDF][12.80MB]

C和C++程序员面试秘笈[PDF][12.80MB]

2019-05-21 477 收藏 0 赞一个 0 真差劲 0 去评论 去下载

内容简介

众多高 级语言都从C/C++有所借鉴,所以说C/C++的语言基础对从事软件开发的人员来说非常重要。 
  《C和C++程序员面试秘笈》是一本解析C/C++面试题的书,可以帮助求职者更好地准备面试。《C和C++程序员面试秘笈》共包含12章,囊括了目前企业中常见的面试题类型和考点,包括C/C++程序基础,预处理、const、static与sizeof,引用和指针,字符串,位运算与嵌入式编程,C++面向对象,C++继承和多态,数据结构,排序,泛型编程,STL,算法和逻辑思维等**常见的面试题。《C和C++程序员面试秘笈》通过技术点解析、代码辅佐的方式让读者能深刻领会每个考点背后的技术。 
  《C和C++程序员面试秘笈》紧扣面试精髓,对各种技术的剖析一针见血,是目前想找工作的C/C++程序员和刚毕业的大学生的面试宝典。

目录

第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和#include"head.h"有什么区别 15 
面试题12 C++中main函数执行完后还执行其他语句吗 15 
第2章 预处理、const、static与sizeof 17 
面试题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 #pragmapack的作用 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/delete 80 
面试题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 编写字符串反转函数strrev 126 
面试题22 编程实现任意长度的两个正整数相加 129 
面试题23 编程实现字符串的循环右移 131 
面试题24 删除指定长度的字符 132 
面试题25 字符串的排序及交换 134 
面试题26 编程实现删除字符串中所有指定的字符 135 
面试题27 分析代码——使用strcat连接字符串 137 
面试题28 编程实现库函数strcat 138 
面试题29 编程计算含有汉字的字符串长度 139 
面试题30 找出01字符串中0和1连续出现的最大次数 140 
面试题31 编程实现字符串的替换 142 
第5章 位运算与嵌入式编程 144 
面试题1 位制转换 144 
面试题2 看代码写出结果——位运算 146 
面试题3 设置或清除特定的位 147 
面试题4 计算一个字节里有多少bit被置1 148 
面试题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_endian 156 
面试题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 有哪几种情况只能用intializationlist,而不能用assignment 169 
面试题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 编译器与默认的copyconstructor 187 
面试题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 什么是COM 248 
面试题21 COM组件有什么特点 249 
面试题22 如何理解COM对象和接口 250 
面试题23 简述COM、ActiveX和DCOM 251 
面试题24 什么是DLLHELL 252 
第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 什么是STL 356 
面试题2 具体说明STL如何实现vector 358 
面试题3 看代码回答问题——vector容器中iterator的使用 360 
面试题4 看代码找错——vector容器的使用 361 
面试题5 把一个文件中的整数排序后输出到另一个文件中 363 
面试题6 list和vector有什么区别 365 
面试题7 分析代码问题并修正——list和vector容器的使用 366 
面试题8 stl::deque是一种什么数据类型 368 
面试题9 在做应用时如何选择vector和deque 369 
面试题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 如何使用bind1st和bind2nd 388 
面试题24 实现bind1st的函数配接器 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

文档截图

QQ截图20190521141331.jpg

C和C++程序员面试秘笈[PDF][12.80MB]

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

下载地址
大家评论