📕书籍信息
- 书名:一站式学习C编程
- 作者:宋劲杉
- 豆瓣评分:⭐9.3
- 出版社:电子工业出版社
- isbn:9787121129827
- 出版日期:2011-3
- 价格:59.00元
- 豆瓣:一站式学习C编程
🌵内容简介
【编辑推荐】:
《一站式学习c编程》有两条线索,一条线索是以linux平台为载体全面深入地介绍c语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试方法。本书分为两部分:第一部分讲解编程语言和程序设计的基本思想方法,让读者从概念上认识c语言;第二部分结合操作系统和体系结构的知识讲解程序的工作原理,让读者从本质上认识c语言。
《一站式学习c编程》适合做零基础的初学者学习c语言的第一本教材,帮助读者打下牢固的基础。有一定的编程经验但知识体系不够完整的读者也可以对照本书查缺补漏,从而更深入地理解程序的工作原理。《一站式学习c编程》最初是为北京亚嵌教育研究中心的嵌入式linux系统工程师就业班课程量身定做的教材之一,也适合作为高等院校程序设计基础课程的教材。本书对于c语言的语法介绍得非常全面,对c99标准做了很多解读,因此也可以作为一本精简的c语言语法参…
📣听过的人说…
- 🌞: 买这本书是想学习一下怎么Makefile,最后还是放弃了。作者试图写一本不一样程序设计入门书籍,很多部分的讲解都很赞,然后其实我还是没学会Makefile,做起来和看完全是两码事。
- 🌞: 终于明白还是太嫩了。。。修行在自身噶~,我将上下而求索!
- 🤖: 比谭浩强不知道高到哪里去了
📑书籍章节
- 《一站式学习c编程》
- 上篇 c语言入门
- 第1章 程序的基本概念 2
- 1.1 程序和编程语言 2
- 1.2 自然语言和形式语言 6
- 1.3 程序的调试 8
- 1.4 第一个程序 9
- 第2章 常量、变量和表达式 13
- 2.1 继续hello world 13
- 2.2 常量 16
- 2.3 变量 17
- 2.4 赋值 19
- 2.5 表达式 20
- 2.6 字符类型与字符编码 24
- 第3章 简单函数 26
- 3.1 数学函数 26
- 3.2 自定义函数 28
- 3.3 形参和实参 34
- 3.4 全局变量、局部变量和作用域 38
- 第4章 分支语句 44
- .4.1 if语句 44
- 4.2 if/else语句 46
- 4.3 布尔代数 48
- 4.4 switch语句 52
- 第5章 深入理解函数 54
- 5.1 return语句 54
- 5.2 增量式开发 57
- 5.3 递归 61
- 第6章 循环语句 67
- 6.1 while语句 67
- 6.2 do/while语句 69
- 6.3 for语句 70
- 6.4 break和continue语句 72
- 6.5 嵌套循环 73
- 6.6 goto语句和标号 74
- 第7章 结构体 78
- 7.1 复合类型与结构体 78
- 7.2 数据抽象 82
- 7.3 数据类型标志 86
- 7.4 嵌套结构体 87
- 第8章 数组 89
- 8.1 数组的基本概念 89
- 8.2 数组应用实例:统计随机数 92
- 8.3 数组应用实例:直方图 95
- 8.4 字符串 98
- 8.5 多维数组 100
- 第9章 编码风格 104
- 9.1 缩进和空白 104
- 9.2 注释 108
- 9.3 标识符命名 112
- 9.4 函数 112
- 9.5 indent工具 113
- 第10章 gdb 115
- 10.1 单步执行和跟踪函数调用 115
- 10.2 断点 122
- 10.3 观察点 126
- 10.4 段错误 130
- 第11章 排序与查找 133
- 11.1 算法的概念 133
- 11.2 插入排序 134
- 11.3 算法的时间复杂度分析 136
- 11.4 归并排序 138
- 11.5 线性查找 143
- 11.6 折半查找 144
- 第12章 栈与队列 149
- 12.1 数据结构的概念 149
- 12.2 堆栈 149
- 12.3 深度优先搜索 151
- 12.4 队列与广度优先搜索 157
- 12.5 环形队列 162
- 本阶段总结 163
- 下篇 c语言本质
- 第13章 计算机中数的表示 166
- 13.1 为什么计算机用二进制计数 166
- 13.2 不同进制之间的换算 168
- 13.3 整数的加减运算 170
- 13.3.1 sign and magnitude表示法 170
- 13.3.2 1’s complement表示法 170
- 13.3.3 2’s complement表示法 172
- 13.3.4 有符号数和无符号数 173
- 13.4 浮点数 173
- 第14章 数据类型详解 176
- 14.1 整型 176
- 14.2 浮点型 180
- 14.3 类型转换 181
- 14.3.1 integer promotion 181
- 14.3.2 usual arithmetic conversion 182
- 14.3.3 由赋值产生的类型转换 183
- 14.3.4 强制类型转换 183
- 14.3.5 编译器如何处理类型转换 184
- 第15章 运算符详解 186
- 15.1 位运算 186
- 15.1.1 按位与、或、异或、取反运算 186
- 15.1.2 移位运算 187
- 15.1.3 掩码 188
- 15.1.4 异或运算的一些特性 189
- 15.2 其他运算符 190
- 15.2.1 复合赋值运算符 190
- 15.2.2 条件运算符 190
- 15.2.3 逗号运算符 191
- 15.2.4 sizeof运算符与typedef类型声明 191
- 15.3 side effect与sequence point 193
- 15.4 运算符总结 196
- 第16章 计算机体系结构基础 198
- 16.1 内存与地址 198
- 16.2 cpu 198
- 16.3 设备 201
- 16.4 mmu 203
- 16.5 memory hierarchy 205
- 第17章 x86汇编程序基础 209
- 17.1 最简单的汇编程序 209
- 17.2 x86的寄存器 212
- 17.3 第二个汇编程序 212
- 17.4 寻址方式 215
- 17.5 elf文件 216
- 17.5.1 目标文件 217
- 17.5.2 可执行文件 223
- 第18章 汇编与c之间的关系 229
- 18.1 函数调用 229
- 18.2 main函数、启动例程和退出状态 236
- 18.3 变量的存储布局 242
- 18.4 结构体和联合体 249
- 18.5 c内联汇编 254
- 18.6 volatile限定符 255
- 第19章 链接详解 260
- 19.1 多目标文件的链接 260
- 19.2 定义和声明 266
- 19.2.1 extern和static关键字 266
- 19.2.2 头文件 269
- 19.2.3 定义和声明的详细规则 274
- 19.3 静态库 276
- 19.4 共享库 279
- 19.4.1 编译、链接、运行 279
- 19.4.2 函数的动态链接过程 286
- 19.4.3 共享库的命名惯例 288
- 19.5 虚拟内存管理 290
- 第20章 预处理 296
- 20.1 预处理的步骤 296
- 20.2 宏定义 297
- 20.2.1 函数式宏定义 297
- 20.2.2 内联函数 300
- 20.2.3 #、##运算符和可变参数 301
- 20.2.4 #undef预处理指示 304
- 20.2.5 宏展开的步骤 304
- 20.3 条件预处理指示 305
- 20.4 其他预处理特性 309
- 第21章 makefile基础 312
- 21.1 基本规则 312
- 21.2 隐含规则和模式规则 319
- 21.3 变量 322
- 21.4 自动处理头文件的依赖关系 327
- 21.5 常用的make命令行选项 331
- 第22章 指针 334
- 22.1 指针的基本概念 334
- 22.2 指针类型的参数和返回值 337
- 22.3 指针与数组 339
- 22.4 指针与const限定符 342
- 22.5 指针与结构体 344
- 22.6 指向指针的指针与指针数组 344
- 22.7 指向数组的指针与多维数组 348
- 22.8 函数类型和函数指针类型 349
- 22.9 不完全类型和复杂声明 353
- 第23章 函数接口 357
- 23.1 本章的预备知识 357
- 23.1.1 strcpy与strncpy 357
- 23.1.2 malloc与free 362
- 23.2 传入参数与传出参数 367
- 23.3 两层指针的参数 368
- 23.4 返回值是指针的情况 370
- 23.5 回调函数 373
- 23.6 可变参数 376
- 第24章 c标准库 380
- 24.1 字符串操作函数 381
- 24.1.1 给字符串赋初值 381
- 24.1.2 取字符串的长度 382
- 24.1.3 拷贝字符串 383
- 24.1.4 连接字符串 385
- 24.1.5 比较字符串 386
- 24.1.6 搜索字符串 387
- 24.1.7 分割字符串 387
- 24.2 标准i/o库函数 391
- 24.2.1 文件的基本概念 391
- 24.2.2 fopen/fclose 392
- 24.2.3 stdin/stdout/stderr 395
- 24.2.4 errno与perror/strerror函数 396
- 24.2.5 以字节为单位的i/o函数 398
- 24.2.6 操作读写位置的函数 401
- 24.2.7 以字符串为单位的i/o函数 403
- 24.2.8 以记录为单位的i/o函数 404
- 24.2.9 格式化i/o函数 406
- 24.2.10 c标准库的i/o缓冲区 413
- 24.2.11 本节综合练习 417
- 24.3 数值字符串转换函数 418
- 24.4 分配内存的函数 420
- 第25章 链表、二叉树和哈希表 422
- 25.1 链表 422
- 25.1.1 单链表 422
- 25.1.2 双向链表 428
- 25.1.3 静态链表 433
- 25.1.4 本节综合练习 433
- 25.2 二叉树 434
- 25.2.1 二叉树的基本概念 434
- 25.2.2 排序二叉树 439
- 25.3 哈希表 443
- 本阶段总结 445
- 附录a 字符编码 449
- 参考文献 456
- 索引 458
评论(0)