展开全部

主编推荐语

一本书帮你全面解析C/C++面试题。

内容简介

众多高级语言都从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 看代码写输出——一般赋值语句
  • 面试题2 看代码写输出——C++域操作符
  • 面试题3 看代码写输出——i++和++i的区别
  • 面试题4 i++与++i哪个效率更高
  • 面试题5 选择编程风格良好的条件比较语句
  • 面试题6 看代码写结果——有符号变量与无符号变量的值的转换
  • 面试题7 不使用任何中间变量如何将a、b的值进行交换
  • 面试题8 C++与C有什么不同
  • 面试题9 如何理解C++是面向对象化的,而C是面向过程化的
  • 面试题10 标准头文件的结构
  • 面试题11 #include <head.h>和#include "head.h" 有什么区别
  • 面试题12 C++中main函数执行完后还执行其他语句吗
  • 第2章 预处理、const、static与sizeof
  • 面试题1 预处理的使用
  • 面试题2 用#define实现宏并求最大值和最小值
  • 面试题3 宏定义的使用
  • 面试题4 看代码写输出——宏参数的连接
  • 面试题5 用宏定义得到一个字的高位和低位字节
  • 面试题6 用宏定义得到一个数组所含的元素个数
  • 面试题7 找错——const的使用
  • 面试题8 说明const与#define的特点及区别
  • 面试题9 C++中const有什么作用(至少说出3个)
  • 面试题10 static有什么作用(至少说出2个)
  • 面试题11 static全局变量与普通的全局变量有什么区别
  • 面试题12 看代码写结果——C++类的静态成员
  • 面试题13 使用sizeof计算普通变量所占空间大小
  • 面试题14 使用sizeof计算类对象所占空间大小
  • 面试题15 使用sizeof计算含有虚函数的类对象的空间大小
  • 面试题16 使用sizeof计算虚拟继承的类对象的空间大小
  • 面试题17 sizeof与strlen有哪些区别
  • 面试题18 sizeof有哪些用途
  • 面试题19 找错——使用strlen()函数代替sizeof计算字符串长度
  • 面试题20 使用sizeof计算联合体的大小
  • 面试题21 #pragma pack的作用
  • 面试题22 为什么要引入内联函数
  • 面试题23 为什么inline能很好地取代表达式形式的预定义
  • 面试题24 说明内联函数使用的场合
  • 面试题25 为什么不把所有的函数都定义成内联函数
  • 面试题26 内联函数与宏有什么区别
  • 第3章 引用和指针
  • 面试题1 一般变量引用
  • 面试题2 指针变量引用
  • 面试题3 看代码找错误——变量引用
  • 面试题4 如何交换两个字符串
  • 面试题5 程序查错——参数引用
  • 面试题6 参数引用的常见错误
  • 面试题7 指针和引用有什么区别
  • 面试题8 为什么传引用比传指针安全
  • 面试题9 复杂指针的声明
  • 面试题10 看代码写结果——用指针赋值
  • 面试题11 指针加减操作
  • 面试题12 指针比较
  • 面试题13 看代码找错误——内存访问违规
  • 面试题14 指针的隐式转换
  • 面试题15 指针常量与常量指针的区别
  • 面试题16 指针的区别
  • 面试题17 找错——常量指针和指针常量的作用
  • 面试题18 this指针的正确叙述
  • 面试题19 看代码写结果——this指针
  • 面试题20 指针数组与数组指针的区别
  • 面试题21 找错——指针数组和数组指针的使用
  • 面试题22 函数指针与指针函数的区别
  • 面试题23 数组指针与函数指针的定义
  • 面试题24 各种指针的定义
  • 面试题25 代码改错——函数指针的使用
  • 面试题26 看代码写结果——函数指针的使用
  • 面试题27 typedef用于函数指针定义
  • 面试题28 什么是“野指针”
  • 面试题29 看代码查错——“野指针”的危害
  • 面试题30 有了malloc/free,为什么还要new/delete
  • 面试题31 程序改错——指针的初始化
  • 面试题32 各种内存分配和释放的函数的联系和区别
  • 面试题33 程序找错——动态内存的传递
  • 面试题34 动态内存的传递
  • 面试题35 比较分析两个代码段的输出——动态内存的传递
  • 面试题36 程序查错——“野指针”用于变量值的互换
  • 面试题37 内存的分配方式有几种
  • 面试题38 什么是句柄
  • 面试题39 指针与句柄有什么区别
  • 第4章 字符串
  • 面试题1 使用库函数将数字转换为字符串
  • 面试题2 不使用库函数将整数转换为字符串
  • 面试题3 使用库函数将字符串转换为数字
  • 面试题4 不使用库函数将字符串转换为数字
  • 面试题5 编程实现strcpy函数
  • 面试题6 编程实现memcpy函数
  • 面试题7 strcpy与memcpy的区别
  • 面试题8 改错——数组越界
  • 面试题9 分析程序——数组越界
  • 面试题10 分析程序——打印操作可能产生数组越界
  • 面试题11 编程实现计算字符串的长度
  • 面试题12 编程实现字符串中子串的查找
  • 面试题13 编程实现字符串中各单词的翻转
  • 面试题14 编程判断字符串是否为回文
  • 面试题15 编程实现stcmp库函数
  • 面试题16 编程查找两个字符串的最大公共子串
  • 面试题17 不使用printf,将十进制数以二进制和十六进制的形式输出
  • 面试题18 编程实现转换字符串、插入字符的个数
  • 面试题19 字符串编码例题
  • 面试题20 反转字符串,但其指定的子串不反转
  • 面试题21 编写字符串反转函数strrev
  • 面试题22 编程实现任意长度的两个正整数相加
  • 面试题23 编程实现字符串的循环右移
  • 面试题24 删除指定长度的字符
  • 面试题25 字符串的排序及交换
  • 面试题26 编程实现删除字符串中所有指定的字符
  • 面试题27 分析代码——使用strcat连接字符串
  • 面试题28 编程实现库函数strcat
  • 面试题29 编程计算含有汉字的字符串长度
  • 面试题30 找出01字符串中0和1连续出现的最大次数
  • 面试题31 编程实现字符串的替换
  • 第5章 位运算与嵌入式编程
  • 面试题1 位制转换
  • 面试题2 看代码写出结果——位运算
  • 面试题3 设置或清除特定的位
  • 面试题4 计算一个字节里有多少bit被置1
  • 面试题5 位运算改错
  • 面试题6 运用位运算交换a、b两数
  • 面试题7 列举并解释C++中的4种运算符转化以及它们的不同点
  • 面试题8 用#define声明一个常数
  • 面试题9 如何用C语言编写死循环
  • 面试题10 如何访问特定位置的内存
  • 面试题11 对中断服务代码的评论
  • 面试题12 看代码写结果——整数的自动转换
  • 面试题13 关键字static的作用是什么
  • 面试题14 关键字volatile有什么含义
  • 面试题15 判断处理器是Big_endian还是Little_endian
  • 面试题16 评价代码片断——处理器字长
  • 第6章 C++面向对象
  • 面试题1 描述面向对象技术的基本概念
  • 面试题2 判断题——类的基本概念
  • 面试题3 选择题——C++与C语言相比的改进
  • 面试题4 class和struct有什么区别
  • 面试题5 改错——C++类对象的声明
  • 面试题6 看代码写结果——C++类成员的访问
  • 面试题7 找错——类成员的初始化
  • 面试题8 看代码写结果——静态成员变量的使用
  • 面试题9 与全局对象相比,使用静态数据成员有什么优势
  • 面试题10 有哪几种情况只能用intialization list, 而不能用assignment
  • 面试题11 静态成员的错误使用
  • 面试题12 对静态数据成员的正确描述
  • 面试题13 main函数执行前还会执行什么代码?
  • 面试题14 C++中的空类默认会产生哪些类成员函数
  • 面试题15 构造函数和析构函数是否可以被重载
  • 面试题16 关于重载构造函数的调用
  • 面试题17 构造函数的使用
  • 面试题18 构造函数explicit与普通构造函数的区别
  • 面试题19 explicit构造函数的作用
  • 面试题20 C++中虚析构函数的作用是什么
  • 面试题21 看代码写结果——析构函数的执行顺序
  • 面试题22 复制构造函数是什么?什么是深复制和浅复制
  • 面试题23 编译器与默认的copy constructor
  • 面试题24 写一个继承类的复制函数
  • 面试题25 复制构造函数与赋值函数有什么区别
  • 面试题26 编写类String的构造函数、析构函数和赋值函数
  • 面试题27 了解C++类各成员函数的关系
  • 面试题28 C++类的临时对象
  • 面试题29 复制构造函数和析构函数
  • 面试题30 看代码写结果——C++静态成员和临时对象
  • 面试题31 什么是临时对象?临时对象在什么情况下产生
  • 面试题32 为什么C语言不支持函数重载而C++能支持
  • 面试题33 判断题——函数重载的正确声明
  • 面试题34 重载和覆写有什么区别
  • 面试题35 编程题——MyString类的编写
  • 面试题36 编程题——各类运算符重载函数的编写
  • 面试题37 看代码写输出——new操作符重载的使用
  • 第7章 C++继承和多态
  • 面试题1 C++类继承的三种关系
  • 面试题2 C++继承关系
  • 面试题3 看代码找错——C++继承
  • 面试题4 私有继承有什么作用
  • 面试题5 私有继承和组合有什么相同点和不同点
  • 面试题6 什么是多态
  • 面试题7 虚函数是怎么实现的
  • 面试题8 构造函数调用虚函数
  • 面试题9 看代码写结果——虚函数的作用
  • 面试题10 看代码写结果——虚函数
  • 面试题11 虚函数相关的选择题
  • 面试题12 为什么需要多重继承?它的优缺点是什么
  • 面试题13 多重继承中的二义性
  • 面试题14 多重继承二义性的消除
  • 面试题15 多重继承和虚拟继承
  • 面试题16 为什么要引入抽象基类和纯虚函数
  • 面试题17 虚函数与纯虚函数有什么区别?
  • 面试题18 程序找错——抽象类不能实例化
  • 面试题19 应用题——用面向对象的方法进行设计
  • 面试题20 什么是COM
  • 面试题21 COM组件有什么特点
  • 面试题22 如何理解COM对象和接口?
  • 面试题23 简述COM、ActiveX和DCOM
  • 面试题24 什么是DLL HELL
  • 第8章 数据结构
  • 面试题1 编程实现一个单链表的建立
  • 面试题2 编程实现一个单链表的测长
  • 面试题3 编程实现一个单链表的打印
  • 面试题4 编程实现一个单链表节点的查找
  • 面试题5 编程实现一个单链表节点的插入
  • 面试题6 编程实现一个单链表节点的删除
  • 面试题7 实现一个单链表的逆置
  • 面试题8 寻找单链表的中间元素
  • 面试题9 单链表的正向排序
  • 面试题10 判断链表是否存在环型链表问题
  • 面试题11 有序单链表的合并
  • 面试题12 约瑟夫问题的解答
  • 面试题13 编程实现一个双向链表的建立
  • 面试题14 编程实现一个双向链表的测长
  • 面试题15 编程实现一个双向链表的打印
  • 面试题16 编程实现一个双向链表节点的查找
  • 面试题17 编程实现一个双向链表节点的插入
  • 面试题18 编程实现一个双向链表节点的删除
  • 面试题19 实现有序双向循环链表的插入操作
  • 面试题20 删除两个双向循环链表的相同结点
  • 面试题21 编程实现队列的入队、出队、测长、打印
  • 面试题22 队列和栈有什么区别
  • 面试题23 简答题——队列和栈的使用
  • 面试题24 选择题——队列和栈的区别
  • 面试题25 使用队列实现栈
  • 面试题26 选择题—栈的使用
  • 面试题27 用C++实现一个二叉排序树
  • 面试题28 使用递归与非递归方法实现中序遍历
  • 面试题29 使用递归与非递归方法实现先序遍历
  • 面试题30 使用递归与非递归方法实现后序遍历
  • 面试题31 编写层次遍历二叉树的算法
  • 面试题32 编写判别给定二叉树是否为二叉排序树的算法
  • 第9章 排序
  • 面试题1 编程实现直接插入排序
  • 面试题2 编程实现希尔(Shell)排序
  • 面试题3 编程实现冒泡排序
  • 面试题4 编程实现快速排序
  • 面试题5 编程实现选择排序
  • 面试题6 编程实现堆排序
  • 面试题7 实现归并排序的算法(使用自顶向下的方法)
  • 面试题8 使用基数排序对整数进行排序
  • 面试题9 选择题——各排序算法速度的性能比较
  • 面试题10 各排序算法的时间复杂度的比较
  • 第10章 泛型编程
  • 面试题1 举例说明什么是泛型编程
  • 面试题2 函数模板与类模板分别是什么
  • 面试题3 使用模板有什么缺点?如何避免
  • 面试题4 选择题——类模板的实例化
  • 面试题5 解释什么是模板的特化
  • 面试题6 部分模板特例化和全部模板特例化有什么区别
  • 面试题7 使用函数模板对普通函数进行泛型化
  • 面试题8 使用类模板对类进行泛型化
  • 面试题9 通过类模板设计符合要求的公共类
  • 第11章 STL(标准模板库)
  • 面试题1 什么是STL
  • 面试题2 具体说明STL如何实现vector
  • 面试题3 看代码回答问题——vector容器中iterator的使用
  • 面试题4 看代码找错——vector容器的使用
  • 面试题5 把一个文件中的整数排序后输出到另一个文件中
  • 面试题6 list和vector有什么区别
  • 面试题7 分析代码问题并修正——list和vector容器的使用
  • 面试题8 stl::deque是一种什么数据类型
  • 面试题9 在做应用时如何选择vector和deque
  • 面试题10 看代码找错——适配器stack和queue的使用
  • 面试题11 举例说明set的用法
  • 面试题12 举例说明map的用法
  • 面试题13 STL中map内部是怎么实现的
  • 面试题14 map和hashmap有什么区别
  • 面试题15 什么是STL算法
  • 面试题16 分析代码功能——STL算法的使用
  • 面试题17 vector中的erase方法与algorithm中的remove有什么区别
  • 面试题18 什么是auto_ptr(STL智能指针)?如何使用
  • 面试题19 看代码找错——智能指针auto_ptr的使用
  • 面试题20 智能指针如何实现
  • 面试题21 使用std::auto_ptr有什么方面的限制
  • 面试题22 如何理解函数对象
  • 面试题23 如何使用bind1st和bind2nd
  • 面试题24 实现bind1st的函数配接器
  • 第12章 智力测试题
  • 面试题1 元帅领兵
  • 面试题2 两龟赛跑
  • 面试题3 电视机的价格
  • 面试题4 这块石头究竟有多重
  • 面试题5 四兄弟的年龄
  • 面试题6 爬楼梯
  • 面试题7 3只砝码称东西
  • 面试题8 称米
  • 面试题9 比萨饼交易
  • 面试题10 伊沙贝拉时装精品屋
  • 面试题11 烧绳子的时间计算问题
  • 面试题12 给工人的金条
  • 面试题13 被污染的药丸
  • 面试题14 称量罐头
  • 面试题15 有20元钱可以喝到几瓶汽水
  • 面试题16 判断鸟的飞行距离
  • 面试题17 按劳取酬
  • 面试题18 空姐分配物品
  • 面试题19 消失的1元钱
  • 面试题20 分物品
  • 面试题21 称出4升的水
  • 面试题22 通向诚实国和说谎国的路
  • 面试题23 排序问题
  • 面试题24 两个同一颜色的果冻
  • 面试题25 怎样称才能用3次就找到球
  • 面试题26 计算生日是哪一天
  • 面试题27 3个女儿的年龄
  • 面试题28 取回黑袜和白袜
  • 面试题29 谁先击完40下鼠标
  • 面试题30 聪明人是怎样发财的
  • 面试题31 谁打碎了花瓶
  • 面试题32 大有作为
  • 面试题33 宴会桌旁
  • 面试题34 过桥问题
  • 面试题35 一句不可信的话
  • 面试题36 海盗分宝石
  • 面试题37 如何推算有几条病狗
  • 面试题38 判断谁是盗窃犯
  • 面试题39 向导
  • 面试题40 扑克牌问题
  • 面试题41 谁是机械师
  • 面试题42 帽子的颜色
  • 面试题43 两个大于1小于10的整数
  • 面试题44 谁用1美元的纸币付了糖果钱
  • 面试题45 究竟有哪些人参加了会议
  • 面试题46 小虫
  • 面试题47 相遇
  • 面试题48 约会
  • 面试题49 30秒答题
  • 面试题50 1分钟答题
  • 面试题51 现代斯芬克斯之谜
  • 面试题52 所有开着的灯的编号
展开全部

评分及书评

评分不足
1个评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。