图书介绍
C语言深度解剖 解开程序员面试笔记的秘密PDF|Epub|txt|kindle电子书版本网盘下载
![C语言深度解剖 解开程序员面试笔记的秘密](https://www.shukui.net/cover/72/33887085.jpg)
- 陈正冲编著 著
- 出版社: 北京:北京航空航天大学出版社
- ISBN:9787512408371
- 出版时间:2012
- 标注页数:173页
- 文件大小:59MB
- 文件页数:194页
- 主题词: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、double5
1.4.1数据类型与“模子”6
1.4.2变量的命名规则6
1.5最冤枉的关键字——sizeof11
1.5.1常年被人误认为函数11
1.5.2 sizeof(int)*p表示什么意思12
1.6 signed、unsigned关键字12
1.7 if、else组合15
1.7.1 bool变量与“零值”进行比较15
1.7.2 float变量与“零值”进行比较15
1.7.3指针变量与“零值”进行比较16
1.7.4 else到底与哪个if配对呢17
1.7.5 if语句后面的分号18
1.7.6使用if语句的其他注意事项19
1.8 switch、case组合20
1.8.1不要拿青龙偃月刀去削苹果20
1.8.2 case关键字后面的值有什么要求吗21
1.8.3 case语句的排列顺序22
1.8.4使用case语句的其他注意事项23
1.9 do、while、for关键字24
1.9.1 break与continue的区别25
1.9.2循环语句的注意点25
1.10 goto关键字27
1.11 void关键字27
1.11.1 void a27
1.11.2 void修饰函数返回值和参数28
1.11.3 void指针30
1.11.4 void不能代表一个真实的变量31
1.12 return关键字31
1.13 const关键字也许该被替换为readonly32
1.13.1 const修饰的只读变量32
1.13.2节省空间,避免不必要的内存分配,同时提高效率33
1.13.3修饰一般变量33
1.13.4修饰数组33
1.13.5修饰指针33
1.13.6修饰函数的参数34
1.13.7修饰函数的返回值34
1.14最易变的关键字——volatile34
1.15最会带帽子的关键字——extern35
1.16 struct关键字36
1.16.1空结构体多大36
1.16.2柔性数组37
1.16.3 struct与class的区别38
1.17 union关键字39
1.17.1大小端模式对union类型数据的影响39
1.17.2如何用程序确认当前系统的存储模式40
1.18 enum关键字44
1.18.1枚举类型的使用方法44
1.18.2枚举与#define宏的区别45
1.19伟大的缝纫师——typedef关键字46
1.19.1关于马甲的笑话46
1.19.2历史的误会——也许应该是typerename46
1.19.3 typedef与#define的区别47
1.19.4#define a int[10]与typedef int a[10]48
第2章 符号50
2.1注释符号51
2.1.1几个似非而是的注释问题51
2.1.2 y=x/*p52
2.1.3怎样才能写出出色的注释52
2.2接续符和转义符56
2.3单引号、双引号57
2.4逻辑运算符57
2.5位运算符58
2.5.1左移和右移59
2.5.2 0x01<<2+3的值为多少60
2.6花括号60
2.7++、--操作符60
2.7.1++i+++i+++i62
2.7.2贪心法62
2.8 2/(-2)的值是多少62
2.9运算符的优先级63
2.9.1运算符的优先级表63
2.9.2一些容易出错的优先级问题65
第3章 预处理67
3.1宏定义68
3.1.1数值宏常量68
3.1.2字符串宏常量69
3.1.3用define宏定义注释符号“?”69
3.1.4用define宏定义表达式69
3.1.5宏定义中的空格72
3.1.6#undef72
3.2条件编译73
3.3文件包含75
3.4#error预处理76
3.5#line预处理76
3.6#pragma预处理76
3.6.1#pragma message77
3.6.2#pragma code_seg78
3.6.3#pragma once78
3.6.4#pragma hdrstop78
3.6.5#pragma resource78
3.6.6#pragma warning78
3.6.7#pragma comment79
3.6.8#pragma pack79
3.7“#”运算符83
3.8“##”预算符83
第4章 指针和数组85
4.1指针85
4.1.1指针的内存布局85
4.1.2“*”与防盗门的钥匙86
4.1.3 int * p =NULL和*p=NULL有什么区别87
4.1.4如何将数值存储到指定的内存地址88
4.1.5编译器的bug88
4.1.6如何达到手中无剑、胸中也无剑的境界90
4.2数组90
4.2.1数组的内存布局90
4.2.2省政府和市政府的区别——&a[0]和&a的区别91
4.2.3数组名a作为左值和右值的区别92
4.3指针和数组之间的恩恩怨怨92
4.3.1以指针的形式访问和以下标的形式访问93
4.3.2 a和&a的区别94
4.3.3指针和数组的定义与声明96
4.3.4指针和数组的对比98
4.4指针数组和数组指针99
4.4.1指针数组和数组指针的内存布局99
4.4.2 int(*)[10]p2——也许应该这么定义数组指针100
4.4.3再论a和&a之间的区别100
4.4.4地址的强制转换101
4.5多维数组和多级指针104
4.5.1二维数组104
4.5.2二级指针107
4.6数组参数和指针参数108
4.6.1一维数组参数108
4.6.2一级指针参数110
4.6.3二维数组参数和二级指针参数112
4.7函数指针113
4.7.1函数指针的定义113
4.7.2函数指针的使用114
4.7.3(*(void(*)())0)()——这是什么116
4.7.4函数指针数组116
4.7.5函数指针数组指针117
第5章 内存管理119
5.1什么是野指针119
5.2栈、堆和静态区120
5.3常见的内存错误及对策120
5.3.1指针没有指向一块合法的内存120
5.3.2为指针分配的内存太小122
5.3.3内存分配成功,但并未初始化122
5.3.4内存越界123
5.3.5内存泄漏124
5.3.6内存已经被释放了,但是继续通过指针来使用127
第6章 函数128
6.1函数的由来与好处128
6.2编码风格129
6.3函数设计的一般原则和技巧135
6.4函数递归142
6.4.1一个简单但易出错的递归例子142
6.4.2不使用任何变量编写strlen函数144
第7章 文件结构146
7.1文件内容的一般规则146
7.2文件名命名的规则151
7.3文件目录的规则151
第8章 关于面试的秘密152
8.1外表形象152
8.1.1学生就是学生,穿着符合自己身份就行了152
8.1.2不要一身异味,熏晕考官对你没好处153
8.1.3女生不要带2个以上耳环,不要涂指甲153
8.2内在表现154
8.2.1谈吐要符合自己身份,切忌不懂装懂、满嘴胡咧咧154
8.2.2态度是一种习惯,习惯决定一切154
8.2.3要学会尊敬别人和懂礼貌156
8.3如何写一份让考官眼前一亮的简历157
8.3.1个人信息怎么写158
8.3.2求职意向和个人的技能、获奖或荣誉情况怎么突出159
8.3.3成绩表是应届生必须要准备的161
附录1 C语言基础测试题162
附录2 C语言基础测试题答案168
后记171
参考文献173