图书介绍
C语言深度解剖 解开程序员面试笔试的秘密PDF|Epub|txt|kindle电子书版本下载
![C语言深度解剖 解开程序员面试笔试的秘密](https://www.shukui.net/cover/23/30294975.jpg)
- 陈正冲编著 著
- 出版社: 北京:北京航空航天大学出版社
- ISBN:9787512401440
- 出版时间:2010
- 标注页数:166页
- 文件大小:52MB
- 文件页数:182页
- 主题词:C语言-程序设计
PDF下载
下载说明
C语言深度解剖 解开程序员面试笔试的秘密PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 关键字1
1.1 最宽宏大量的关键字——auto3
1.2 最快的关键字——register3
1.2.1 皇帝身边的小太监——寄存器3
1.2.2 使用register修饰符的注意点4
1.3 最名不符实的关键字——static4
1.3.1 修饰变量4
1.3.2 修饰函数5
1.4 基本数据类型——short、int、long、char、float、double6
1.4.1 数据类型与“模子”6
1.4.2 变量的命名规则7
1.5 最冤枉的关键字——sizeof11
1.5.1 常年被人误认为函数11
1.5.2 sizeof(int)*p表示什么意思11
1.6 signed、unsigned关键字12
1.7 if、else组合14
1.7.1 bool变量与“零值”进行比较14
1.7.2 float变量与“零值”进行比较14
1.7.3 指针变量与“零值”进行比较15
1.7.4 else到底与哪个if配对呢15
1.7.5 if语句后面的分号17
1.7.6 使用if语句的其他注意事项18
1.8 switch、case组合18
1.8.1 不要拿青龙偃月刀去削苹果18
1.8.2 case关键字后面的值有什么要求吗19
1.8.3 case语句的排列顺序19
1.8.4 使用case语句的其他注意事项21
1.9 do、while、for关键字22
1.9.1 break与continue的区别23
1.9.2 循环语句的注意点23
1.10 goto关键字25
1.11 void关键字25
1.11.1 void a25
1.11.2 void修饰函数返回值和参数26
1.11.3 void指针28
1.11.4 void不能代表一个真实的变量29
1.12 return关键字30
1.13 const关键字也许该被替换为readonly30
1.13.1 const修饰的只读变量31
1.13.2 节省空间,避免不必要的内存分配,同时提高效率31
1.13.3 修饰一般变量32
1.13.4 修饰数组32
1.13.5 修饰指针32
1.13.6 修饰函数的参数32
1.13.7 修饰函数的返回值33
1.14 最易变的关键字——volatile33
1.15 最会带帽子的关键字——extern34
1.16 struct关键字35
1.16.1 空结构体多大35
1.16.2 柔性数组36
1.16.3 struct与class的区别37
1.17 union关键字38
1.17.1 大小端模式对union类型数据的影响38
1.17.2 如何用程序确认当前系统的存储模式39
1.18 enum关键字41
1.18.1 枚举类型的使用方法41
1.18.2 枚举与#define宏的区别42
1.19 伟大的缝纫师——typedef关键字42
1.19.1 关于马甲的笑话42
1.19.2 历史的误会——也许应该是typerename42
1.19.3 typedef与#define的区别44
1.19.4 #define a int[10]与typedef int a[10]44
第2章 符号46
2.1 注释符号47
2.1.1 几个似非而是的注释问题47
2.1.2 y=x/*p48
2.1.3 怎样才能写出出色的注释49
2.2 接续符和转义符50
2.3 单引号、双引号52
2.4 逻辑运算符52
2.5 位运算符53
2.5.1 左移和右移53
2.5.2 0x01<<2+3的值为多少53
2.6 花括号54
2.7 ++、--操作符54
2.7.1 ++i+++i+++i55
2.7.2 贪心法56
2.8 2/(-2)的值是多少56
2.9 运算符的优先级57
2.9.1 运算符的优先级表57
2.9.2 一些容易出错的优先级问题59
第3章 预处理61
3.1 宏定义62
3.1.1 数值宏常量62
3.1.2 字符串宏常量63
3.1.3 用define宏定义注释符号“?”63
3.1.4 用define宏定义表达式64
3.1.5 宏定义中的空格65
3.1.6 #undef65
3.2 条件编译66
3.3 文件包含67
3.4 #error预处理67
3.5 #line预处理68
3.6 #pragma预处理68
3.6.1 #pragma message69
3.6.2 #pragma code_seg69
3.6.3 #pragma once69
3.6.4 #pragma hdrstop69
3.6.5 #pragma resource70
3.6.6 #pragma warning70
3.6.7 #pragma comment71
3.6.8 #pragma pack71
3.7 “#”运算符75
3.8 “##”预算符76
第4章 指针和数组77
4.1 指针77
4.1.1 指针的内存布局77
4.1.2 “*”与防盗门的钥匙79
4.1.3 int*p=NULL和*p=NULL有什么区别79
4.1.4 如何将数值存储到指定的内存地址80
4.1.5 编译器的bug81
4.1.6 如何达到手中无剑、胸中也无剑的境界82
4.2 数组83
4.2.1 数组的内存布局83
4.2.2 省政府和市政府的区别——&a[0]和&a的区别84
4.2.3 数组名a作为左值和右值的区别84
4.3 指针和数组之间的恩恩怨怨85
4.3.1 以指针的形式访问和以下标的形式访问85
4.3.2 a和&a的区别87
4.3.3 指针和数组的定义与声明89
4.3.4 指针和数组的对比91
4.4 指针数组和数组指针92
4.4.1 指针数组和数组指针的内存布局92
4.4.2 int(*)[10]p2——也许应该这么定义数组指针93
4.4.3 再论a和&a之间的区别94
4.4.4 地址的强制转换95
4.5 多维数组和多级指针97
4.5.1 二维数组97
4.5.2 二级指针100
4.6 数组参数和指针参数102
4.6.1 一维数组参数102
4.6.2 一级指针参数105
4.6.3 二维数组参数和二级指针参数107
4.7 函数指针108
4.7.1 函数指针的定义108
4.7.2 函数指针的使用109
4.7.3 (*(void(*)())0)()——这是什么110
4.7.4 函数指针数组111
4.7.5 函数指针数组指针112
第5章 内存管理114
5.1 什么是野指针114
5.2 栈、堆和静态区115
5.3 常见的内存错误及对策115
5.3.1 指针没有指向一块合法的内存115
5.3.2 为指针分配的内存太小117
5.3.3 内存分配成功,但并未初始化118
5.3.4 内存越界119
5.3.5 内存泄漏119
5.3.6 内存已经被释放了,但是继续通过指针来使用122
第6章 函数124
6.1 函数的由来与好处124
6.2 编码风格125
6.3 函数设计的一般原则和技巧131
6.4 函数递归134
6.4.1 一个简单但易出错的递归例子134
6.4.2 不使用任何变量编写strlen函数136
第7章 文件结构138
7.1 文件内容的一般规则138
7.2 文件名命名的规则142
7.3 文件目录的规则143
第8章 关于面试的秘密144
8.1 外表形象144
8.1.1 学生就是学生,穿着符合自己身份就行了144
8.1.2 不要一身异味,熏晕考官对你没好处145
8.1.3 女生不要带2个以上耳环,不要涂指甲145
8.2 内在表现146
8.2.1 谈吐要符合自己身份,切忌不懂装懂、满嘴胡咧咧146
8.2.2 态度是一种习惯,习惯决定一切147
8.2.3 要学会尊敬别人和懂礼貌149
8.3 如何写一份让考官眼前一亮的简历150
8.3.1 个人信息怎写151
8.3.2 求职意向和个人的技能、获奖或荣誉情况怎么突出152
8.3.3 成绩表是应届生必须要准备的154
附录1 C语言基础测试题155
附录2 C语言基础测试题答案161
后记164
参考文献166