简介
C程序设计语言诞生至今已有四十多年的历史,对其研究介绍的著作和教材数不胜数。当前,C程序设计语言教材大多是以传授者的视角编写的,内容也大都专注于语法规则的讲解,偏重于知识的灌输。就知识讲解而言,教材或者工具书采取这样的编写方式确有好处,但对于信息时代的学习者来说,学习难免枯燥乏味。因此,当一位老师向我推荐杭州电子科技大学一名在读大学生于大一时凭兴趣写的一本“很有趣、很有特点”的C语言教材时,我实在难以想象出他会写出什么新意来—直到浏览了其全部书稿。本书的作者捕捉了大量被其他书籍忽略但在实践中非常重要的细节内容,以一种与读者互动的姿态和语言娓娓道来,答疑解惑。同时我也非常赞赏其叙述的独特视角,认为确有理由向大众推荐和分享这本好书。
目录
第1章 一点点想说在前面的话 1
1.1 计算机是怎样运行的? 1
1.2 程序是怎样运行的? 4
1.3 前面两节与C语言有什么关系? 5
1.4 代码风格 8
1.5 永远不要写void main() 11
1.6 不要把试卷型代码风格奉为圭臬 12
1.7 要避免进入C语言标准的“灰色地带” 14
第2章 从关键字说起 16
2.1 C语言的关键字还是32个吗? 16
2.2 声明和定义 17
2.3 C语言程序的段内存分配 18
2.4 堆和栈的理论知识 20
2.5 第一个关键字auto 22
2.6 基本数据类型、强制转换以及signed/unsigned 23
2.7 最不像关键字的关键字sizeof 25
2.8 好恋人if else 26
2.9 循环三剑客与它们的朋友:break、continue、goto以及逗号运算符 28
2.10 “八爪章鱼”switch和它的“爪子”case 36
2.11 “只进不出”的const 37
2.12 变量作用域与“外籍标签”extern 38
2.13 不老实的static 41
2.14 集结伙伴的struct 43
2.15 union蜗居45
2.16 枚举:百里挑一 49
2.17 爱给人起小名的typedef 52
2.18 比较纠结的两个关键字:volatile和register 54
2.19 五个新成员:restrict,inline,_Complex,_Imaginary,_Bool 54
第3章 那个曾被你画叉叉的函数 57
3.1 为啥会有函数咧? 57
3.2 库和接口 59
3.3 自己的函数 62
3.4 替身与明星:函数的形参和实参 63
3.5 函数中的“导演”及“编剧” 65
3.6 为什么会有函数声明?必须要声明吗? 66
3.7 套娃一样的函数嵌套调用:深层次理解函数调用 68
第4章 数组VS指针 75
4.1 从数组说起 75
4.2 指针说:怪我喽? 82
4.3 知道了指针,二重指针也不在话下 86
4.4 左值?右值? 88
4.5 数组与指针的区别 90
4.6 指针和数组何时“相同”? 94
4.7 数组的指针表示 95
4.8 函数与指针:深入理解传址调用 96
4.9 结构体与指针 108
4.10 内存的动态申请、内存泄漏以及野指针 112
4.11 “空指针”与“空类型指针” 123
4.12 restrict指针124
4.13 数组下角标越界与缓冲区溢出 125
第5章 学会了C语言入门C 还会难吗?——C 快速过渡 134
5.1 什么是面向对象编程? 134
5.2 抽象的艺术 136
5.3 封装与类 137
5.4 访问控制 139
5.5 类的声明 140
5.6 函数重载 142
5.7 构造函数、传引用调用以及运算符重载 148
5.8 对象指针和this指针 167
5.9 析构函数和内联函数 170
5.10 静态成员与常成员 175
5.11 对象数组、对象指针数组和对象数组指针 177
5.12 拷贝构造函数 178
5.13 new、delete关键字 182
5.14 继承185
5.15 多态性与虚函数 194
5.16 关于C ,你接下来可能需要学习的内容 198
附录 C语言结构型变量的内存对齐问题 202
参考文献 210
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问