热搜:
下载C语言深度解剖:解开程序员面试笔试的秘密

C语言深度解剖:解开程序员面试笔试的秘密

更多
  • 软件大小:736.00KB (753,664 字节)
  • 软件类别:编程书集 -> 电子教程
  • 软件授权:免费软件      软件语言:简体中文
  • 更新时间:2020/06/26
  • 软件厂商:
  • 软件官网:
  • 应用平台:
标签
软件介绍
热度:0
本书是由作者结合自身多年嵌入式c语言开发经验和平时讲解C语言的心得体会整理而成,其中有很多作者独特的见解或看法。由于并不是从头到尾讲解C语言的基础知识,所以《C语言深度解剖:解开程序员面试笔试的秘密》并不适用于C语言零基础的读者,其内容要比一般的C语言图书深得多、细致得多,其中有很多问题是各大公司的面试或笔试题。目录:

第1章 关键字1.1 最宽宏大量的关键字——auto1.2 最快的关键字——register1.2.1 皇帝身边的小太监——寄存器1.2.2 使用register修饰符的注意点1.3 最名不符实的关键字——static1.3.1 修饰变量1.3.2 修饰函数1.4 基本数据类型——short、int、long、char、float、double1.4.1 数据类型与“模子”1.4.2 变量的命名规则1.5 最冤枉的关键字——sizeof1.5.1 常年被人误认为函数1.5.2 sizeof(int)*p表示什么意思1.6 signed、unsigned关键字1.7 if、else组合1.7.1 bool变量与“零值”进行比较1.7.2 float变量与“零值”进行比较1.7.3 指针变量与“零值”进行比较1.7.4 else到底与哪个if配对呢1.7.5 if语句后面的分号1.7.6 使用if语句的其他注意事项1.8 switch、case组合1.8.1 不要拿青龙偃月刀去削苹果1.8.2 case关键字后面的值有什么要求吗1.8.3 case语句的排列顺序1.8.4 使用case语句的其他注意事项1.9 do、while、for关键字1.9.1 break与continue的区别1.9.2 循环语句的注意点1.10 goto关键字1.11 void关键字1.11.1 void a1.11.2 void修饰函数返回值和参数1.11.3 void指针1.11.4 void不能代表一个真实的变量1.12 return关键字1.13 const关键字也许该被替换为readonly1.13.1 const修饰的只读变量1.13.2 节省空间,避免不必要的内存分配,同时提高效率1.13.3 修饰一般变量1.13.4 修饰数组1.13.5 修饰指针1.13.6 修饰函数的参数1.13.7 修饰函数的返回值1.14 最易变的关键字——volatile1.15 最会带帽子的关键字——extern1.16 struct关键字1.16.1 空结构体多大1.16.2 柔性数组1.16.3 struct与class的区别1.17 union关键字1.17.1 大小端模式对union类型数据的影响1.17.2 如何用程序确认当前系统的存储模式1.18 enum关键字1.18.1 枚举类型的使用方法1.18.2 枚举与#define宏的区别1.19 伟大的缝纫师——typedef关键字1.19.1 关于马甲的笑话1.19.2 历史的误会——也许应该是typerename1.19.3 typedef与#define的区别1.19.4 #define a int\[10\]与typedef int a\[10\]第2章 符号2.1 注释符号2.1.1 几个似非而是的注释问题2.1.2 y = x/*p2.1.3 怎样才能写出出色的注释2.2 接续符和转义符2.3 单引号、双引号2.4 逻辑运算符2.5 位运算符2.5.1 左移和右移2.5.2 0x01[[2+3的值为多少2.6 花括号2.7 ++、--操作符2.7.1 ++i+++i+++i2.7.2 贪心法2.8 2 /(-2)的值是多少2.9 运算符的优先级2.9.1 运算符的优先级表2.9.2 一些容易出错的优先级问题第3章 预处理3.1 宏定义3.1.1 数值宏常量3.1.2 字符串宏常量3.1.3 用define宏定义注释符号“?”3.1.4 用define宏定义表达式3.1.5 宏定义中的空格3.1.6 #undef3.2 条件编译3.3 文件包含3.4 #error预处理3.5 #line预处理3.6 #pragma预处理3.6.1 #pragma message3.6.2 #pragma code_seg3.6.3 #pragma once3.6.4 #pragma hdrstop3.6.5 #pragma resource3.6.6 #pragma warning3.6.7 #pragma comment3.6.8 #pragma pack3.7“#”运算符3.8“##”预算符第4章 指针和数组4.1 指针4.1.1 指针的内存布局4.1.2“*”与防盗门的钥匙4.1.3 int*p=NULL和*p=NULL有什么区别4.1.4 如何将数值存储到指定的内存地址4.1.5 编译器的bug4.1.6 如何达到手中无剑、胸中也无剑的境界4.2 数组4.2.1 数组的内存布局4.2.2 省政府和市政府的区别——&a\[0\]和&a的区别4.2.3 数组名a作为左值和右值的区别4.3 指针和数组之间的恩恩怨怨4.3.1 以指针的形式访问和以下标的形式访问4.3.2 a和&a的区别4.3.3 指针和数组的定义与声明4.3.4 指针和数组的对比4.4 指针数组和数组指针4.4.1 指针数组和数组指针的内存布局4.4.2 int (*)\[10\] p2——也许应该这么定义数组指针4.4.3 再论a和&a之间的区别4.4.4 地址的强制转换4.5 多维数组和多级指针4.5.1 二维数组4.5.2 二级指针4.6 数组参数和指针参数4.6.1 一维数组参数4.6.2 一级指针参数4.6.3 二维数组参数和二级指针参数4.7 函数指针4.7.1 函数指针的定义4.7.2 函数指针的使用4.7.3 (*(void(*) ())0)()——这是什么4.7.4 函数指针数组4.7.5 函数指针数组指针第5章 内存管理5.1 什么是野指针5.2 栈、堆和静态区5.3 常见的内存错误及对策5.3.1 指针没有指向一块合法的内存5.3.2 为指针分配的内存太小5.3.3 内存分配成功,但并未初始化5.3.4 内存越界5.3.5 内存泄漏5.3.6 内存已经被释放了,但是继续通过指针来使用第6章 函数6.1 函数的由来与好处6.2 编码风格6.3 函数设计的一般原则和技巧6.4 函数递归6.4.1 一个简单但易出错的递归例子6.4.2 不使用任何变量编写strlen函数第7章 文件结构7.1 文件内容的一般规则7.2 文件名命名的规则7.3 文件目录的规则第8章 关于面试的秘密8.1 外表形象8.1.1 学生就是学生,穿着符合自己身份就行了8.1.2 不要一身异味,熏晕考官对你没好处8.1.3 女生不要带2个以上耳环,不要涂指甲8.2 内在表现8.2.1 谈吐要符合自己身份,切忌不懂装懂、满嘴胡咧咧8.2.2 态度是一种习惯,习惯决定一切8.2.3 要学会尊敬别人和懂礼貌8.3 如何写一份让考官眼前一亮的简历8.3.1 个人信息怎写8.3.2 求职意向和个人的技能、获奖或荣誉情况怎么突出8.3.3 成绩表是应届生必须要准备的附录1 C语言基础测试题附录2 C语言基础测试题答案后记参考文献

软件截图

  • C语言深度解剖:解开程序员面试笔试的秘密第1张

下载地址

C语言深度解剖:解开程序员面试笔试的秘密