当前位置:在线查询网 > 在线百科全书查询 > C语言深度解剖:解开程序员面试笔试的秘密

C语言深度解剖:解开程序员面试笔试的秘密_在线百科全书查询


请输入要查询的词条内容:

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




基本信息


出版社: 北京航空航天大学出版社; 第1版 (2010年7月1日)

丛书名: 博客藏经阁丛书

平装: 165页

正文语种: 简体中文

开本: 16

ISBN: 7512401442, 9787512401440

条形码: 9787512401440

商品尺寸: 22.8 x 18 x 1.2 cm

商品重量: 281 g

内容简介


《C语言深度解剖:解开程序员面试笔试的秘密》由作者结合自身多年嵌入式c语言开发经验和平时讲解C语言的心得体会整理而成,其中有很多作者独特的见解或看法。由于并不是从头到尾讲解C语言的基础知识,所以

目录


第1章 关键字

1.1 最宽宏大量的关键字——auto

1.2 最快的关键字——register

1.2.1 皇帝身边的小太监——寄存器

1.2.2 使用register修饰符的注意点

1.3 最名不符实的关键字——static

1.3.1 修饰变量

1.3.2 修饰函数

1.4 基本数据类型——short、int、long、char、float、double

1.4.1 数据类型与“模子

1.4.2 变量的命名规则

1.5 最冤枉的关键字——sizeof

1.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到底与哪个“配对呢

1.7.5 if语句后面的分号

1.7.6 使用if语句的其他注意事项

1.8 switch、case组合

1.8.1 不要拿青龙偃月刀去削苹果

1.8.2 cRse关键字后面的值有什么要求吗

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 voida:

1.11.2 void修饰函数返回值和参数

1.11.3 void指针

1.11.4 void不能代表一个真实的变量

1.12 return关键字

1.13 const关键字也许该被替换为readonly

1.13.1 const修饰的只读变量

1.13.2 节省空间,避免不必要的内存分配,同时提高效率

1.13.3 修饰一般变量

1.13.4 修饰数组

1.13.5 修饰指针

1.13.6 修饰函数的参数

1.13.7 修饰函数的返回值

1.14 最易变的关键字——volatile

1.15 最会带帽子的关键字——extern

1.16 struct关键字

1.16.1 空结构体多大

1.16.2 柔性数组

1.16.3 struct与class的区别

1.17union关键字

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 历史的误会——也许应该是typerename

1.19.3 typedef与#define的区别

1.19.4 #defineaint[10]与typedefinta[10]

第2章 符号

2.1 注释符号

2.1.1 几个似非而是的注释问题

2.1.2 y-x/*p

2.1.3 怎样才能写出出色的注释

2.2 接续符和转义符

2.3 单引号、双引号

2.4 逻辑运算符

2.5 位运算符

2.5.1 左移和右移

2.5.2 Ox01<<2+3的值为多少

2.6 花括号

2.7 ++、一一操作符

2.7.1 ++i+++i+++i

2.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 #under

3.2 条件编译

3.3 文件包含

3.4 #error预处理

3.5 #line预处理

3.6 #pragma预处理

3.6.1 #pragmamessage

3.6.2 #pragmacodeseg

3.6.3 #pragmaonce

3.6.4 #pragmahdrstop

3.6.5 #pragmaresource

3.6.6 #pragmawarning

3.6.7 #pragmacomment

3.6.8 #pragmapack

3.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 编译器的bug

4.1.6 如何达到手中无剑、胸中也无剑的境界

4.2 数组

4.2.1 数组的内存布局

4.2.2 省政府和市政府的区别——&a[0]和&a的区别

4.2.3 数组名a作为左值和右值的区别

4.3 指针和数组之间的恩恩怨怨

……

第5章 内存管理

第6章 函数

第7章 文件结构

第8章 关于面试的秘密

附录

后记

参考文献