下载 >  开发技术 >  C > Linux C编程一站式学习
0分

Linux C编程一站式学习

Linux C编程一站式学习 Linux C 高清晰pdf 原版图书
2009-10-12 上传大小:4.1MB
立即下载 开通VIP
分享
收藏 举报
Linux C 编程一站式学习_最新版(完美书签) 强烈推荐!!!

一本超越谭浩强,C语言编程着作《BLinux编程一站式学习》 一本超越谭浩强,K&R 的 C 语言编程著作《 Linux C 编程一站式学习》 比一般的linux c编程比起来更通俗,更接近应用,强烈推荐!!! 目录 历史 前言 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.1. 目标文件 5.2. 可执行文件 19. 汇编与C之间的关系 1. 函数调用 2. main函数和启动例程 3. 变量的存储布局 4. 结构体和联合体 5. C内联汇编 6. volatile限定符 20. 链接详解 1. 多目标文件的链接 2. 定义和声明 2.1. extern和static关键字 2.2. 头文件 2.3. 定义和声明的详细规则 3. 静态库 4. 共享库 4.1. 编译、链接、运行 4.2. 动态链接的过程 4.3. 共享库的命名惯例 5. 虚拟内存管理 21. 预处理 1. 预处理的步骤 2. 宏定义 2.1. 函数式宏定义 2.2. 内联函数 2.3. #、##运算符和可变参数 2.4. 宏展开的步骤 3. 条件预处理指示 4. 其它预处理特性 22. Makefile基础 1. 基本规则 2. 隐含规则和模式规则 3. 变量 4. 自动处理头文件的依赖关系 5. 常用的make命令行选项 23. 指针 1. 指针的基本概念 2. 指针类型的参数和返回值 3. 指针与数组 4. 指针与const限定符 5. 指针与结构体 6. 指向指针的指针与指针数组 7. 指向数组的指针与多维数组 8. 函数类型和函数指针类型 9. 不完全类型和复杂声明 24. 函数接口 1. 本章的预备知识 1.1. strcpy与strncpy 1.2. malloc与free 2. 传入参数与传出参数 3. 两层指针的参数 4. 返回值是指针的情况 5. 回调函数 6. 可变参数 25. C标准库 1. 字符串操作函数 1.1. 初始化字符串 1.2. 取字符串的长度 1.3. 拷贝字符串 1.4. 连接字符串 1.5. 比较字符串 1.6. 搜索字符串 1.7. 分割字符串 2. 标准I/O库函数 2.1. 文件的基本概念 2.2. fopen/fclose 2.3. stdin/stdout/stderr 2.4. errno与perror函数 2.5. 以字节为单位的I/O函数 2.6. 操作读写位置的函数 2.7. 以字符串为单位的I/O函数 2.8. 以记录为单位的I/O函数 2.9. 格式化I/O函数 2.10. C标准库的I/O缓冲区 2.11. 本节综合练习 3. 数值字符串转换函数 4. 分配内存的函数 26. 链表、二叉树和哈希表 1. 链表 1.1. 单链表 1.2. 双向链表 1.3. 静态链表 1.4. 本节综合练习 2. 二叉树 2.1. 二叉树的基本概念 2.2. 排序二叉树 3. 哈希表 27. 本阶段总结 III. Linux系统编程 28. 文件与I/O 1. 汇编程序的Hello world 2. C标准I/O库函数与Unbuffered I/O函数 3. open/close 4. read/write 5. lseek 6. fcntl 7. ioctl 8. mmap 29. 文件系统 1. 引言 2. ext2文件系统 2.1. 总体存储布局 2.2. 实例剖析 2.3. 数据块寻址 2.4. 文件和目录操作的系统函数 3. VFS 3.1. 内核数据结构 3.2. dup和dup2函数 30. 进程 1. 引言 2. 环境变量 3. 进程控制 3.1. fork函数 3.2. exec函数 3.3. wait和waitpid函数 4. 进程间通信 4.1. 管道 4.2. 其它IPC机制 5. 练习:实现简单的Shell 31. Shell脚本 1. Shell的历史 2. Shell如何执行命令 2.1. 执行交互式命令 2.2. 执行脚本 3. Shell的基本语法 3.1. 变量 3.2. 文件名代换(Globbing):* ? [] 3.3. 命令代换:`或 $() 3.4. 算术代换:$(()) 3.5. 转义字符\ 3.6. 单引号 3.7. 双引号 4. bash启动脚本 4.1. 作为交互登录Shell启动,或者使用--login参数启动 4.2. 以交互非登录Shell启动 4.3. 非交互启动 4.4. 以sh命令启动 5. Shell脚本语法 5.1. 条件测试:test [ 5.2. if/then/elif/else/fi 5.3. case/esac 5.4. for/do/done 5.5. while/do/done 5.6. 位置参数和特殊变量 5.7. 函数 6. Shell脚本的调试方法 32. 正则表达式 1. 引言 2. 基本语法 3. sed 4. awk 5. 练习:在C语言中使用正则表达式 33. 信号 1. 信号的基本概念 2. 产生信号 2.1. 通过终端按键产生信号 2.2. 调用系统函数向进程发信号 2.3. 由软件条件产生信号 3. 阻塞信号 3.1. 信号在内核中的表示 3.2. 信号集操作函数 3.3. sigprocmask 3.4. sigpending 4. 捕捉信号 4.1. 内核如何实现信号的捕捉 4.2. sigaction 4.3. pause 4.4. 可重入函数 4.5. sig_atomic_t类型与volatile限定符 4.6. 竞态条件与sigsuspend函数 4.7. 关于SIGCHLD信号 34. 终端、作业控制与守护进程 1. 终端 1.1. 终端的基本概念 1.2. 终端登录过程 1.3. 网络登录过程 2. 作业控制 2.1. Session与进程组 2.2. 与作业控制有关的信号 3. 守护进程 35. 线程 1. 线程的概念 2. 线程控制 2.1. 创建线程 2.2. 终止线程 3. 线程间同步 3.1. mutex 3.2. Condition Variable 3.3. Semaphore 3.4. 其它线程间同步机制 4. 编程练习 36. TCP/IP协议基础 1. TCP/IP协议栈与数据包封装 2. 以太网(RFC 894)帧格式 3. ARP数据报格式 4. IP数据报格式 5. IP地址与路由 6. UDP段格式 7. TCP协议 7.1. 段格式 7.2. 通讯时序 7.3. 流量控制 37. socket编程 1. 预备知识 1.1. 网络字节序 1.2. socket地址的数据类型及相关函数 2. 基于TCP协议的网络程序 2.1. 最简单的TCP网络程序 2.2. 错误处理与读写控制 2.3. 把client改为交互式输入 2.4. 使用fork并发处理多个client的请求 2.5. setsockopt 2.6. 使用select 3. 基于UDP协议的网络程序 4. UNIX Domain Socket IPC 5. 练习:实现简单的Web服务器 5.1. 基本HTTP协议 5.2. 执行CGI程序 A. 字符编码 1. ASCII码 2. Unicode和UTF-8 3. 在Linux C编程中使用Unicode和UTF-8 B. GNU Free Documentation License Version 1.3, 3 November 2008 参考书目 索引

立即下载
5积分/C币
Linux C编程一站式学习.升级版

这个不是网站上那些随手可下载的Linux C编程一站式学习,这个升级版中,宋劲彬老是已经添加了linux C部分的资料。不可获取的好东东。

立即下载
12积分/C币
《Linux C编程一站式学习》

《Linux C 编程一站式学习》---宋劲杉 修订0.7 2009.4.24版本。本书一共分为3部分“C入门”、“C本质”及“Linux系统编程”。已经粗糙的看完第一遍,粗糙的做了笔记,粗做的用Debian Linux做了些编程练习。

立即下载
50积分/C币
Linux c编程一站式学习(中文版)

本人已细心阅读过,对于程序在PC下实现的机制叙述的比较细致,适合入门嵌入式开发学习,主要内容:部分1,C语言入门;部分2,C语言本质;部分3,linux系统编程。

立即下载
2积分/C币
linux c 编程一站式学习(高清文字带目录)pdf

目录 历史 前言 I. C语言入门 1. 程序的基本概念 1. 程序和编程语言 2. 自然语言和形式语言 3. 程序的调试 4. 第一个程序 2. 常量、变量和表达式 1. 继续Hello World 2. 常量 3. 变量 Linux C 一站式学习 Linux C编程一站式学习 5 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. 函数 Linux C 一站式学习 Linux C编程一站式学习 6 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. 运算符详解 Linux C 一站式学习 Linux C编程一站式学习 7 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.1. 目标文件 5.2. 可执行文件 19. 汇编与C之间的关系 1. 函数调用 2. main 函数和启动例程 3. 变量的存储布局 4. 结构体和联合体 5. C内联汇编 6. volatile限定符 20. 链接详解 1. 多目标文件的链接 2. 定义和声明 2.1. extern 和 static 关键字 2.2. 头文件 2.3. 定义和声明的详细规则 3. 静态库 Linux C 一站式学习 Linux C编程一站式学习 8 4. 共享库 4.1. 编译、链接、运行 4.2. 动态链接的过程 4.3. 共享库的命名惯例 5. 虚拟内存管理 21. 预处理 1. 预处理的步骤 2. 宏定义 2.1. 函数式宏定义 2.2. 内联函数 2.3. # 、 ## 运算符和可变参数 2.4. 宏展开的步骤 3. 条件预处理指示 4. 其它预处理特性 22. Makefile基础 1. 基本规则 2. 隐含规则和模式规则 3. 变量 4. 自动处理头文件的依赖关系 5. 常用的 make 命令行选项 23. 指针 1. 指针的基本概念 2. 指针类型的参数和返回值 3. 指针与数组 4. 指针与 const 限定符 5. 指针与结构体 6. 指向指针的指针与指针数组 7. 指向数组的指针与多维数组 8. 函数类型和函数指针类型 9. 不完全类型和复杂声明 24. 函数接口 1. 本章的预备知识 1.1. strcpy 与 strncpy 1.2. malloc 与 free 2. 传入参数与传出参数 3. 两层指针的参数 4. 返回值是指针的情况 5. 回调函数 6. 可变参数 25. C标准库 Linux C 一站式学习 Linux C编程一站式学习 9 1. 字符串操作函数 1.1. 初始化字符串 1.2. 取字符串的长度 1.3. 拷贝字符串 1.4. 连接字符串 1.5. 比较字符串 1.6. 搜索字符串 1.7. 分割字符串 2. 标准I/O库函数 2.1. 文件的基本概念 2.2. fopen/fclose 2.3. stdin/stdout/stderr 2.4. errno与perror函数 2.5. 以字节为单位的I/O函数 2.6. 操作读写位置的函数 2.7. 以字符串为单位的I/O函数 2.8. 以记录为单位的I/O函数 2.9. 格式化I/O函数 2.10. C标准库的I/O缓冲区 2.11. 本节综合练习 3. 数值字符串转换函数 4. 分配内存的函数 26. 链表、二叉树和哈希表 1. 链表 1.1. 单链表 1.2. 双向链表 1.3. 静态链表 1.4. 本节综合练习 2. 二叉树 2.1. 二叉树的基本概念 2.2. 排序二叉树 3. 哈希表 27. 本阶段总结 III. Linux系统编程 28. 文件与I/O 1. 汇编程序的Hello world 2. C标准I/O库函数与Unbuffered I/O函数 3. open/close 4. read/write 5. lseek Linux C 一站式学习 Linux C编程一站式学习 10 6. fcntl 7. ioctl 8. mmap 29. 文件系统 1. 引言 2. ext2文件系统 2.1. 总体存储布局 2.2. 实例剖析 2.3. 数据块寻址 2.4. 文件和目录操作的系统函数 3. VFS 3.1. 内核数据结构 3.2. dup和dup2函数 30. 进程 1. 引言 2. 环境变量 3. 进程控制 3.1. fork函数 3.2. exec函数 3.3. wait和waitpid函数 4. 进程间通信 4.1. 管道 4.2. 其它IPC机制 5. 练习:实现简单的Shell 31. Shell脚本 1. Shell的历史 2. Shell如何执行命令 2.1. 执行交互式命令 2.2. 执行脚本 3. Shell的基本语法 3.1. 变量 3.2. 文件名代换(Globbing):* ? [] 3.3. 命令代换:`或 $() 3.4. 算术代换:$(()) 3.5. 转义字符\ 3.6. 单引号 3.7. 双引号 4. bash启动脚本 4.1. 作为交互登录Shell启动,或者使用--login参数启动 4.2. 以交互非登录Shell启动 Linux C 一站式学习 Linux C编程一站式学习 11 4.3. 非交互启动 4.4. 以sh命令启动 5. Shell脚本语法 [5.1. 条件测试:test 5.2. if/then/elif/else/fi 5.3. case/esac 5.4. for/do/done 5.5. while/do/done 5.6. 位置参数和特殊变量 5.7. 函数 6. Shell脚本的调试方法 32. 正则表达式 1. 引言 2. 基本语法 3. sed 4. awk 5. 练习:在C语言中使用正则表达式 33. 信号 1. 信号的基本概念 2. 产生信号 2.1. 通过终端按键产生信号 2.2. 调用系统函数向进程发信号 2.3. 由软件条件产生信号 3. 阻塞信号 3.1. 信号在内核中的表示 3.2. 信号集操作函数 3.3. sigprocmask 3.4. sigpending 4. 捕捉信号 4.1. 内核如何实现信号的捕捉 4.2. sigaction 4.3. pause 4.4. 可重入函数 4.5. sig_atomic_t类型与volatile限定符 4.6. 竞态条件与sigsuspend函数 4.7. 关于SIGCHLD信号 34. 终端、作业控制与守护进程 1. 终端 1.1. 终端的基本概念 1.2. 终端登录过程 Linux C 一站式学习 Linux C编程一站式学习 12 1.3. 网络登录过程 2. 作业控制 2.1. Session与进程组 2.2. 与作业控制有关的信号 3. 守护进程 35. 线程 1. 线程的概念 2. 线程控制 2.1. 创建线程 2.2. 终止线程 3. 线程间同步 3.1. mutex 3.2. Condition Variable 3.3. Semaphore 3.4. 其它线程间同步机制 4. 编程练习 36. TCP/IP协议基础 1. TCP/IP协议栈与数据包封装 2. 以太网(RFC 894)帧格式 3. ARP数据报格式 4. IP数据报格式 5. IP地址与路由 6. UDP段格式 7. TCP协议 7.1. 段格式 7.2. 通讯时序 7.3. 流量控制 37. socket编程 1. 预备知识 1.1. 网络字节序 1.2. socket地址的数据类型及相关函数 2. 基于TCP协议的网络程序 2.1. 最简单的TCP网络程序 2.2. 错误处理与读写控制 2.3. 把client改为交互式输入 2.4. 使用fork并发处理多个client的请求 2.5. setsockopt 2.6. 使用select 3. 基于UDP协议的网络程序 4. UNIX Domain Socket IPC Linux C 一站式学习 Linux C编程一站式学习 13 5. 练习:实现简单的Web服务器 5.1. 基本HTTP协议 5.2. 执行CGI程序 A. 字符编码 1. ASCII码 2. Unicode和UTF-8 3. 在Linux C编程中使用Unicode和UTF-8 B. GNU Free Documentation License Version 1.3, 3 November 2008 参考书目 索引

立即下载
2积分/C币
Linux C 编程一站式学习.pdf

作者:宋劲杉,PDF 格式,大小 8 Mb。 这是一本从零基础开始学习编程的书,不要求读者有任何编程经验,但读者至少需要具备以下素质: 熟悉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.1. 目标文件 5.2. 可执行文件 19. 汇编与C之间的关系 1. 函数调用 2. main函数和启动例程 3. 变量的存储布局 4. 结构体和联合体 5. C内联汇编 6. volatile限定符 20. 链接详解 1. 多目标文件的链接 2. 定义和声明 2.1. extern和static关键字 2.2. 头文件 2.3. 定义和声明的详细规则 3. 静态库 4. 共享库 4.1. 编译、链接、运行 4.2. 动态链接的过程 4.3. 共享库的命名惯例 5. 虚拟内存管理 21. 预处理 1. 预处理的步骤 2. 宏定义 2.1. 函数式宏定义 2.2. 内联函数 2.3. #、##运算符和可变参数 2.4. 宏展开的步骤 3. 条件预处理指示 4. 其它预处理特性 22. Makefile基础 1. 基本规则 2. 隐含规则和模式规则 3. 变量 4. 自动处理头文件的依赖关系 5. 常用的make命令行选项 23. 指针 1. 指针的基本概念 2. 指针类型的参数和返回值 3. 指针与数组 4. 指针与const限定符 5. 指针与结构体 6. 指向指针的指针与指针数组 7. 指向数组的指针与多维数组 8. 函数类型和函数指针类型 9. 不完全类型和复杂声明 24. 函数接口 1. 本章的预备知识 1.1. strcpy与strncpy 1.2. malloc与free 2. 传入参数与传出参数 3. 两层指针的参数 4. 返回值是指针的情况 5. 回调函数 6. 可变参数 25. C标准库 1. 字符串操作函数 1.1. 初始化字符串 1.2. 取字符串的长度 1.3. 拷贝字符串 1.4. 连接字符串 1.5. 比较字符串 1.6. 搜索字符串 1.7. 分割字符串 2. 标准I/O库函数 2.1. 文件的基本概念 2.2. fopen/fclose 2.3. stdin/stdout/stderr 2.4. errno与perror函数 2.5. 以字节为单位的I/O函数 2.6. 操作读写位置的函数 2.7. 以字符串为单位的I/O函数 2.8. 以记录为单位的I/O函数 2.9. 格式化I/O函数 2.10. C标准库的I/O缓冲区 2.11. 本节综合练习 3. 数值字符串转换函数 4. 分配内存的函数 26. 链表、二叉树和哈希表 1. 链表 1.1. 单链表 1.2. 双向链表 1.3. 静态链表 1.4. 本节综合练习 2. 二叉树 2.1. 二叉树的基本概念 2.2. 排序二叉树 3. 哈希表 27. 本阶段总结 III. Linux系统编程 28. 文件与I/O 1. 汇编程序的Hello world 2. C标准I/O库函数与Unbuffered I/O函数 3. open/close 4. read/write 5. lseek 6. fcntl 7. ioctl 8. mmap 29. 文件系统 1. 引言 2. ext2文件系统 2.1. 总体存储布局 2.2. 实例剖析 2.3. 数据块寻址 2.4. 文件和目录操作的系统函数 3. VFS 3.1. 内核数据结构 3.2. dup和dup2函数 30. 进程 1. 引言 2. 环境变量 3. 进程控制 3.1. fork函数 3.2. exec函数 3.3. wait和waitpid函数 4. 进程间通信 4.1. 管道 4.2. 其它IPC机制 5. 练习:实现简单的Shell 31. Shell脚本 1. Shell的历史 2. Shell如何执行命令 2.1. 执行交互式命令 2.2. 执行脚本 3. Shell的基本语法 3.1. 变量 3.2. 文件名代换(Globbing):* ? [] 3.3. 命令代换:`或 $() 3.4. 算术代换:$(()) 3.5. 转义字符\ 3.6. 单引号 3.7. 双引号 4. bash启动脚本 4.1. 作为交互登录Shell启动,或者使用--login参数启动 4.2. 以交互非登录Shell启动 4.3. 非交互启动 4.4. 以sh命令启动 5. Shell脚本语法 5.1. 条件测试:test [ 5.2. if/then/elif/else/fi 5.3. case/esac 5.4. for/do/done 5.5. while/do/done 5.6. 位置参数和特殊变量 5.7. 函数 6. Shell脚本的调试方法 32. 正则表达式 1. 引言 2. 基本语法 3. sed 4. awk 5. 练习:在C语言中使用正则表达式 33. 信号 1. 信号的基本概念 2. 产生信号 2.1. 通过终端按键产生信号 2.2. 调用系统函数向进程发信号 2.3. 由软件条件产生信号 3. 阻塞信号 3.1. 信号在内核中的表示 3.2. 信号集操作函数 3.3. sigprocmask 3.4. sigpending 4. 捕捉信号 4.1. 内核如何实现信号的捕捉 4.2. sigaction 4.3. pause 4.4. 可重入函数 4.5. sig_atomic_t类型与volatile限定符 4.6. 竞态条件与sigsuspend函数 4.7. 关于SIGCHLD信号 34. 终端、作业控制与守护进程 1. 终端 1.1. 终端的基本概念 1.2. 终端登录过程 1.3. 网络登录过程 2. 作业控制 2.1. Session与进程组 2.2. 与作业控制有关的信号 3. 守护进程 35. 线程 1. 线程的概念 2. 线程控制 2.1. 创建线程 2.2. 终止线程 3. 线程间同步 3.1. mutex 3.2. Condition Variable 3.3. Semaphore 3.4. 其它线程间同步机制 4. 编程练习 36. TCP/IP协议基础 1. TCP/IP协议栈与数据包封装 2. 以太网(RFC 894)帧格式 3. ARP数据报格式 4. IP数据报格式 5. IP地址与路由 6. UDP段格式 7. TCP协议 7.1. 段格式 7.2. 通讯时序 7.3. 流量控制 37. socket编程 1. 预备知识 1.1. 网络字节序 1.2. socket地址的数据类型及相关函数 2. 基于TCP协议的网络程序 2.1. 最简单的TCP网络程序 2.2. 错误处理与读写控制 2.3. 把client改为交互式输入 2.4. 使用fork并发处理多个client的请求 2.5. setsockopt 2.6. 使用select 3. 基于UDP协议的网络程序 4. UNIX Domain Socket IPC 5. 练习:实现简单的Web服务器 5.1. 基本HTTP协议 5.2. 执行CGI程序 A. 字符编码 1. ASCII码 2. Unicode和UTF-8 3. 在Linux C编程中使用Unicode和UTF-8 B. GNU Free Documentation License Version 1.3, 3 November 2008 参考书目 索引

立即下载
30积分/C币
Linux C编程一站式学习 宋劲杉 清晰扫描版 pdf

Linux C编程一站式学习 宋劲杉 清晰扫描版 pdf 国人经典书籍

立即下载
10积分/C币
Linux.C编程一站式学习.宋劲杉.扫描版&文字版.zip

一本快速入门的好书,Linux.C编程一站式学习.宋劲杉.扫描版&文字版.zip

立即下载
3积分/C币
一站式学习C编程 高清版

内容简介 · · · · · · 《一站式学习c编程》有两条线索,一条线索是以linux平台为载体全面深入地介绍c语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试方法。本书分为两部分:第一部分讲解编程语言和程序设计的基本思想方法,让读者从概念上认识c语言;第二部分结合操作系统和体系结构的知识讲解程序的工作原理,让读者从本质上认识c语言。 《一站式学习c编程》适合做零基础的初学者学习c语言的第一本教材,帮助读者打下牢固的基础。有一定的编程经验但知识体系不够完整的读者也可以对照本书查缺补漏,从而更深入地理解程序的工作原理。《一站式学习c编程》最初是为北京亚嵌教育研究中心的嵌入式linux系统工程师就业班课程量身定做的教材之一,也适合作为高等院校程序设计基础课程的教材。本书对于c语言的语法介绍得非常全面,对c99标准做了很多解读,因此也可以作为一本精简的c语言语法参 考书。 作者简介 · · · · · · 宋劲杉,亚嵌教育资深讲师,清华大学自动化系硕士,6年嵌入式系统开发经验,3年嵌入式行业教学经验,精通Linux内核、POSIX、TCP/IP,擅长ARM平台的Linux系统移植和应用开发,目前关注的方向有分布式系统、动态语言。爱好:开源软件、电子音乐、HomeParty 目录 · · · · · · 《一站式学习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

立即下载
3积分/C币
Linux C编程一站式学习(非扫描版)

不是孤立地讲C语言,而是和编译原理、操作系统、计算机体系结构结合起来讲。或者说,本书的内容只是以C语言为载体,真正讲的是计算机的原理和程序的原理。 强调基本概念和基本原理,在编排顺序上非常重视概念之间的依赖关系,每次引入一个新的 概念,只依赖于前面章节已经讲过的概念,而绝不会依赖后面章节要讲的概念。有些地方为 了叙述得完整,也会引用后面要讲的内容,比如说“有关XX我们到XX章再仔细讲解”,凡是这 种引用都不是必要的依赖,可以当它不存在,只管继续往下看就行了。 尽量做到每个知识点直到要用的时候才引入。过早引入一个知识点,讲完了又不用它,读者 很快就会遗忘,这是不符合认知规律的。

立即下载
1积分/C币
Linux C 编程一站式 学习

Linux C编程一站式学习 Linux C编程一站式学习Linux C编程一站式学习

立即下载
3积分/C币
Linux C编程一站式学习0 7 宋劲彬 pdf

Linux_C编程一站式学习0.7-宋劲彬.pdf 学习c语言的好书

立即下载
10积分/C币
一站式学习C编程

一站式学习C编程 中文 你懂得 宋劲杉 北京亚嵌教育研究中心 这本书最初是为北京亚嵌教育研究中心的嵌入式Linux系统工程师就业班课程量身定做的教材之 一。该课程是为期四个月的全日制职业培训,要求学员毕业时具备非常Solid的C编程能力,能熟 练地使用Linux系统,同时对计算机体系结构与指令集、操作系统原理和设备驱动程序都有较深 入的了解。然而学员入学时的水平是非常初级而且参差不齐的:学历有专科、本科也有研究生, 专业有和计算机相关的也有很不相关的(例如会计专业),以前从事的职业有和技术相关的也有 完全不相关的(例如HR ),年龄从二十出头到三十五六岁的都有。这么多背景完全不同、基础 完全不同、思维习惯和理解能力完全不同的人来听同一堂课,大家都迫切希望学会嵌入式开发技 术,投身IT行业,这就是职业教育的特点,也是我编这本书时需要考虑的主要问题。

立即下载
50积分/C币
Linux C编程一站式学习 pdf

Linux C编程一站式学习

立即下载
2积分/C币
亚嵌Linux C 编程一站式学习 V0.7

亚嵌Linux C 编程一站式学习 V0.7,实际写代码过程中发现一些问题可以在这书上面找到答案,觉得不错,可以参考。

立即下载
3积分/C币
Linux C编程一站式学习(随书资料)

Linux C编程一站式学习(随书资料)Linux C编程一站式学习(随书资料)

立即下载
3积分/C币
Linux C编程一站式学习6.14.pdf

Linux C编程一站式学习 LINUX学习经典用书

立即下载
3积分/C币
Linux C编程一站式学习.pdf 高清下载

Linux C编程一站式学习.pdf

立即下载
10积分/C币
Linux C编程一站式学习_20090427.pdf

Linux C编程一站式学习_20090427.pdf

立即下载
3积分/C币
Linux c编程一站式学习 pdf

Linux c编程一站式学习 pdf格式

立即下载
10积分/C币
代码大全 Linux c一站式编程 高质量编程++

代码大全 Linux c一站式编程 高质量编程c++ 学习必备

立即下载
3积分/C币
linux C 编程

宋劲杉Linux C编程一站式学习_PDF版本——非常好的C,linux编程入门教程

立即下载
3积分/C币
传说中最好的linux c编程入门书籍---宋劲杉--2009.6.25日更新版本为Linux C编程一站式学习2009.6.23.pdf 最新更新——-免积分!!

========================================== 更新记录: 2009.6.25日更新版本为Linux C编程一站式学习2009.6.23.pdf 2009.6.15日更新版本为Linux C编程一站式学习2009.6.14.pdf 2009.5.25日更新版本为Linux C编程一站式学习2009.5.21.pdf 2009.5. 5更新版本为2009.5.4版本。 Linux C编程一站式学习2009.4.24.pdf =========================================== 最新版pdf下载地址(实事更新): http://www.chinaunix.net/index.php?uid=20358034&url=http://bbs.chinaunix.net/viewthread.php?tid=1440200

立即下载
3积分/C币
Linux C编程一站式学习 宋劲杉

本书适合做零基础的初学者学习C语言的第一本教材,帮助读者打下牢固的基础。有一定的编程经验但知识体系不够完整的读者也可以对照本书查缺补漏,从而更深入地理解程序的工作原理。本书最初是为北京亚嵌教育研究中心的嵌入式Linux系统工程师就业班课程量身定做的教材之一,也适合作为高等院校程序设计基础课程的教材。本书对于C语言的语法介绍得非常全面

立即下载
2积分/C币
Linux C编程学习资料

Linux C编程一站式学习,某知名企业内部培训资料。

立即下载
3积分/C币
Linux C编程(pdf)

Linux C编程一站式学习电子书,基于pdf文件

立即下载
3积分/C币
c一站式学习-linux下的c编程

Linux C 编程一站式学习,由浅入深教你linux下的c编程,不可多得的好书,极力推荐。

立即下载
3积分/C币
LInux C一站式编程

非常好的linux C教程,linux C一站式编程

立即下载
10积分/C币
linux C编程一站式学习

linux下C语言的全面学习及其linux的高级编程

立即下载
0积分/C币
linux/c编程一站式学习

带目录的,高清版,宋劲杉的经典教程,适合linux/c入门学习。

立即下载
10积分/C币
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

Linux C编程一站式学习

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: