这是一本从零基础开始学习编程的书,不要求读者有任何编程经验,但读者至少需要具备以下素质: 熟悉Linux系统的基本操作。如果不具备这一点,请先参考其它教材学习Linux系统的基本操作,熟练之后再学习本书,《鸟哥的Linux私房菜》据说是Linux系统管理和应用方面比较好的一本书。但学习本书并不需要会很多系统管理技术,只要会用基本命令,会自己安装系统和软件包就足够了。 具有高中毕业的数学水平。本书会用到高中的数学知识,事实上,如果不具有高中毕业的数学水平,也不必考虑做程序员了。但并不是说只要具有高中毕业的数学水平就足够做程序员了,只能说看这本书应该没有问题,数学是程序员最重要的修养,计算机科学其实就是数学的一个分支,如果你的数学功底很差,日后还需恶补一下。 具有高中毕业的英文水平。理由同上。 对计算机的原理和本质深感兴趣,不是为就业而学习,不是为拿高薪而学习,而是真的感兴趣,想把一切来龙去脉搞得清清楚楚而学习。 勤于思考。本书尽最大努力理清概念之间的依赖关系,力求一站式学习,读者不需要为了找一个概念的定义去翻其它书,也不需要为了搞清楚一个概念在本书中前后一通乱翻,只需从前到后按顺序学习即可。但一站式学习并不等于傻瓜式学习,有些章节有一定的难度,需要积极思考才能领会。本书可以替你节省时间,但不能替你思考,不要指望像看小说一样走马观花看一遍就能学会。 内容预览: 历史 前言 I. C语言入门 1. 程序的基本概念 1. 程序和编程语言 2. 自然语言和形式语言 3. 程序的调试 4. 第一个程序 2. 常量、变量和表达式 1. 继续Hello World 2. 常量 3. 变量 4. 赋值 5. 表达式 6. 字符类型与字符编码 3. 简单函数 1. 数学函数 2. 自定义函数 3. 形参和实参 4. 全局变量、局部变量和作用域 4. 分支语句 1. if语句 2. if/else语句 3. 布尔代数 4. switch语句 5. 深入理解函数 1. return语句 2. 增量式开发 3. 递归 6. 循环语句 1. while语句 2. do/while语句 3. for语句 4. break和continue语句 5. 嵌套循环 6. goto语句和标号 7. 结构体 1. 复合类型与结构体 2. 数据抽象 3. 数据类型标志 4. 嵌套结构体 8. 数组 1. 数组的基本概念 2. 数组应用实例:统计随机数 3. 数组应用实例:直方图 4. 字符串 5. 多维数组 9. 编码风格 1. 缩进和空白 2. 注释 3. 标识符命名 4. 函数 5. indent工具 10. gdb 1. 单步执行和跟踪函数调用 2. 断点 3. 观察点 4. 段错误 11. 排序与查找 1. 算法的概念 2. 插入排序 3. 算法的时间复杂度分析 4. 归并排序 5. 线性查找 6. 折半查找 12. 栈与队列 1. 数据结构的概念 2. 堆栈 3. 深度优先搜索 4. 队列与广度优先搜索 5. 环形队列 13. 本阶段总结 II. C语言本质 14. 计算机中数的表示 1. 为什么计算机用二进制计数 2. 不同进制之间的换算 3. 整数的加减运算 3.1. Sign and Magnitude表示法 3.2. 1's Complement表示法 3.3. 2's Complement表示法 3.4. 有符号数和无符号数 4. 浮点数 15. 数据类型详解 1. 整型 2. 浮点型 3. 类型转换 3.1. Integer Promotion 3.2. Usual Arithmetic Conversion 3.3. 由赋值产生的类型转换 3.4. 强制类型转换 3.5. 编译器如何处理类型转换 16. 运算符详解 1. 位运算 1.1. 按位与、或、异或、取反运算 1.2. 移位运算 1.3. 掩码 1.4. 异或运算的一些特性 2. 其它运算符 2.1. 复合赋值运算符 2.2. 条件运算符 2.3. 逗号运算符 2.4. sizeof运算符与typedef类型声明 3. Side Effect与Sequence Point 4. 运算符总结 17. 计算机体系结构基础 1. 内存与地址 2. CPU 3. 设备 4. MMU 5. Memory Hierarchy 18. x86汇编程序基础 1. 最简单的汇编程序 2. x86的寄存器 3. 第二个汇编程序 4. 寻址方式 5. ELF文件 5.
2019-12-21 20:07:17 7.79MB Linux C语言
1
30本全部奉献(6):Linux C语言编程一站式学习--pdf完整版
2019-12-21 20:01:37 7.87MB LINUX C
1
《Linux C编程一站式学习》有两条线索,一条线索是以Linux平台为载体全面深入地介绍c语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试方法。《Linux C编程一站式学习》分为两部分:第一部分讲解编程语言和程序设计的基本思想方法,让读者从概念上认识c语言;第二部分结合操作系统和体系结构的知识讲解程序的工作原理,让读者从本质上认识C语言。   《Linux C编程一站式学习》适合做零基础的初学者学习c语言的第一本教材,帮助读者打下牢固的基础。有一定的编程经验但知识体系不够完整的读者也可以对照《Linux C编程一站式学习》查缺补漏,从而更深入地理解程序的工作原理。《Linux C编程一站式学习》最初是为北京亚嵌教育研究中心的嵌入式Linux系统工程师就业班课程量身定做的教材之一,也适合作为高等院校程序设计基础课程的教材。《Linux C编程一站式学习》对于C语言的语法介绍得非常全面,对C99标准做了很多解读,因此也可以作为一本精简的c语言语法参考书。 宋劲杉,亚嵌教育资深讲师,清华大学自动化系硕士,6年嵌入式系统开发经验,3年嵌入式行业教学经验,精通Linux内核、POSIX、TCP/IP,擅长ARM平台的Linux系统移植和应用开发,目前关注的方向有分布式系统、动态语言。爱好:开源软件、电子音乐、HomeParty。 上篇 C语言入门 第1章 程序的基本概念/2 1.1 程序和编程语言/2 1.2 自然语言和形式语言/6 1.3 程序的调试/7 1.4 第一个程序/9 第2章 常量、变量和表达式/12 2.1 继续Hello World/12 2.2 常量/15 2.3 变量/16 2.4 赋值/18 2.5 表达式/19 2.6 字符类型与字符编码/23 第3章 简单函数/24 3.1 数学函数/24 3.2 自定义函数/26 3.3 形参和实参/31 3.4 全局变量、局部变量和作用域/35 第4章 分支语句/41 4.1 if语句/41 4.2 if/else语句/43 4.3 布尔代数/45 4.4 switch语句/49 第5章 深入理解函数/51 5.1 return语句/51 5.2 增量式开发/54 5.3 递归/58 第6章 循环语句/64 6.1 while语句/64 6.2 do/while语句/66 6.3 for语句/67 6.4 break和continue语句/69 6.5 嵌套循环/70 6.6 goto语句和标号/71 第7章 结构体/74 7.1 复合类型与结构体/74 7.2 数据抽象/78 7.3 数据类型标志/82 7.4 嵌套结构体/84 第8章 数组/85 8.1 数组的基本概念/85 8.2 数组应用实例:统计随机数/88 8.3 数组应用实例:直方图/91 8.4 字符串/94 8.5 多维数组/95 第9章 编码风格/100 9.1 缩进和空白/100 9.2 注释/104 9.3 标识符命名/107 9.4 函数/108 9.5 indent工具/108 第10章 gdb/110 10.1 单步执行和跟踪函数调用/110 10.2 断点/117 10.3 观察点/121 10.4 段错误/125 第11章 排序与查找/128 11.1 算法的概念/128 11.2 插入排序/129 11.3 算法的时间复杂度分析/131 11.4 归并排序/133 11.5 线性查找/138 11.6 折半查找/139 第12章 栈与队列/144 12.1 数据结构的概念/144 12.2 堆栈/144 12.3 深度优先搜索/146 12.4 队列与广度优先搜索/152 12.5 环形队列/156 本阶段总结/159 下篇 C语言本质 第13章 计算机中数的表示/162 13.1 为什么计算机用二进制计数/162 13.2 不同进制之间的换算/164 13.3 整数的加减运算/165 13.3.1 Sign and Magnitude表示法/165 13.3.2 1’s Complement表示法/166 13.3.3 2’s Complement表示法/167 13.3.4 有符号数和无符号数/168 13.4 浮点数/169 第14章 数据类型详解/172 14.1 整型/172 14.2 浮点型/176 14.3 类型转换/177 14.3.1 Integer Promotion/177 14.3.2 Usual Arithmetic Conversion/178 14.3.3 由赋值产生的类型转换/179 14.3.4 强制类型转换/179 14.3.5 编译器如何处理类型转换/179 第15章 运算符详解/182 15.
2015-01-20 00:00:00 5MB Linux C 编程 宋劲杉
1