当前位置:首页 > 工业技术
笨办法学C语言
笨办法学C语言

笨办法学C语言PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:泽德.A.肖
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115477309
  • 页数:314 页
图书介绍:这本书的目标是让读者掌握足够的C语言技能,从而可以自己用C语言些程序或者修改别人的C语言代码,成为一个名优秀的程序员,但这并不完全是一本讲C语言编程的书,书中还重点关注防御性编程。本书以习题的方式引导读者一步一步学习编程,结构非常简单,共包括52个习题,每一个习题都重点讲解一个重要的主题,多数是以代码开始,然后解释代码的编写,再运行并测试程序,最后给出附加任务。
《笨办法学C语言》目录
标签:语言 办法

习题0 准备工作 1

Linux 1

Mac OS X 1

Windows 2

文本编辑器 2

习题1 打开尘封的编译器 4

代码详解 4

应该看到的结果 5

如何破坏程序 5

附加任务 6

习题2 使用Makefile构建程序 7

使用make 7

应该看到的结果 8

如何破坏程序 9

附加任务 9

习题3 格式化打印 10

应该看到的结果 10

外部研究 11

如何破坏程序 11

附加任务 12

习题4 使用调试器 13

GDB小技巧 13

GDB快速参考 13

LLDB快速参考 14

习题5 记忆C语言运算符 15

如何记忆 15

运算符列表 16

习题6 记忆C语言语法 19

关键字 19

语法结构 20

鼓励的话 23

告诫的话 24

习题7 变量和类型 25

你应该看到的结果 26

如何破坏程序 27

附加任务 27

习题8 if,else-if,else 28

应该看到的结果 29

如何破坏程序 29

附加任务 30

习题9 while循环和布尔表达式 31

应该看到的结果 31

如何破坏程序 32

附加任务 32

习题10 switch语句 33

应该看到的结果 35

如何破坏程序 36

附加任务 36

习题11数组和字符串 37

应该看到的结果 38

如何破坏程序 39

附加任务 39

习题12数组和大小 41

应该看到的结果 42

如何破坏程序 43

附加任务 43

习题13 for循环和字符串数组 44

应该看到的结果 45

理解字符串数组 46

如何破坏程序 46

附加任务 46

习题14编写和使用函数 47

应该看到的结果 48

如何破坏程序 49

附加任务 49

习题15指针,可怕的指针 50

应该看到的结果 52

解释指针 53

指针的实际应用 54

指针词汇表 54

指针不是数组 54

如何破坏程序 55

附加任务 55

习题16结构体和指向结构体的指针 56

应该看到的结果 59

什么是结构体 59

如何破坏程序 60

附加任务 60

习题17内存分配:堆和栈 61

应该看到的结果 67

堆分配和栈分配的区别 67

如何破坏程序 68

附加任务 69

习题18指向函数的指针 70

应该看到的结果 74

如何破坏程序 74

附加任务 75

习题19 Zed的强悍的调试宏 76

C语言错误处理的问题 76

调试宏 77

使用dbg.h 79

应该看到的结果 82

CPP如何扩展宏 82

附加任务 84

习题20高级调试技巧 85

调试打印和GDB 85

调试策略 86

附加任务 87

习题21高级数据类型与流程控制 88

可用数据类型 88

类型修饰符 88

类型限定符 89

类型转换 89

类型大小 89

可用运算符 91

数学运算符 92

数据运算符 92

逻辑运算符 92

位运算符 93

布尔运算符 93

赋值运算符 93

可用的控制结构 94

附加任务 94

习题22栈、作用域和全局变量 95

ex22.c和ex22.h 95

ex22_main.c 97

应该看到的结果 99

作用域、栈和bug 100

如何破坏程序 101

附加任务 101

习题23达夫设备 102

应该看到的结果 105

谜底 105

何必呢 106

附加任务 106

习题24输入、输出、文件 107

应该看到的结果 109

如何破坏程序 110

I/O函数 110

附加任务 111

习题25变参函数 112

应该看到的结果 116

如何破坏程序 116

附加任务 116

习题26 logfind项目 117

logfind的需求 117

习题27创造性与防御性编程 118

创造性程序员思维模式 118

防御性程序员思维模式 119

防御性编程的八个策略 119

应用八大策略 120

永不信任输入 120

预防错误 122

尽早出错,公开出错 123

记录假设 124

预防优先,文档其次 124

自动化一切 125

简洁明了 125

质疑权威 126

次序不重要 126

附加任务 127

习题28 Makefile中级课程 128

基本项目结构 128

Makefile 129

开头 130

构建目标 131

单元测试 132

清理 133

安装 133

检查工具 134

应该看到的结果 134

附加任务 135

习题29库和链接 136

动态加载共享库 137

应该看到的结果 139

如何破坏程序 140

附加任务 141

习题30自动化测试 142

为测试框架连线 143

附加任务 147

习题31常见未定义行为 148

最重要的20个未定义行为 149

常见的未定义行为 149

习题32双链表 153

什么是数据结构 153

创建库 153

双链表 154

定义 155

实现 156

测试 160

应该看到的结果 162

如何改进程序 163

附加任务 163

习题33链表算法 164

冒泡排序和归并排序 164

单元测试 165

实现 167

应该看到的结果 170

如何改进程序 170

附加任务 171

习题34动态数组 172

优势和劣势 180

如何改进程序 180

附加任务 181

习题35排序和搜索 182

基数排序和二分搜索 185

C语言的联合体 186

实现 188

RadixMap_find与二分搜索 194

RadixMap_sort和radix_sort 194

如何改进程序 195

附加任务 196

习题36更安全的字符串 197

为什么C语言的字符串糟透了 197

使用bstrlib 198

学习库 199

习题37散列表 201

单元测试 208

如何改进程序 211

附加任务 211

习题38散列表算法 213

应该看到的结果 218

如何破坏程序 219

附加任务 220

习题39字符串算法 221

应该看到的结果 228

分析结果 230

附加任务 231

习题40二叉搜索树 232

如何改进程序 245

附加任务 245

习题41 devpkg项目 246

devpkg是什么 246

我们要实现的东西 246

设计 247

Apache Portable Runtime 247

项目布局 248

其他依赖 249

Makefile文件 249

源代码文件 250

DB函数 251

shell函数 254

命令函数 259

devpkg主函数 264

最后的挑战 267

习题42栈与队列 268

应该看到的结果 271

如何改进程序 272

附加任务 272

习题43简单的统计引擎 273

滚动标准差和平均值 273

实现 274

如何使用这个引擎 279

附加任务 280

习题44环形缓冲区 281

单元测试 284

应该看到的结果 284

如何改进程序 285

附加任务 285

习题45简单的TCP/IP客户端 286

加强Makefile 286

netclient的代码 286

应该看到的结果 290

如何破坏程序 291

附加任务 291

习题46三元搜索树 292

优点和缺点 300

如何改进程序 300

附加任务 301

习题47快速URL路由 302

应该看到的结果 305

如何改进程序 305

附加任务 306

习题48简单网络服务器 307

规格说明 307

习题49统计服务器 308

规格说明 308

习题50统计数据的路由 309

习题51存储统计数据 310

软件规格 310

习题52入侵和改进你的服务器 311

接下来的路 312

相关图书
作者其它书籍
返回顶部