在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例C/C++语言基础 → [Linux.C编程一站式学习

[Linux.C编程一站式学习

C/C++语言基础

下载此实例
  • 开发语言:C/C++
  • 实例大小:11.94M
  • 下载次数:22
  • 浏览次数:118
  • 发布时间:2022-03-24
  • 实例类别:C/C++语言基础
  • 发 布 人:jgwwseu
  • 文件格式:.pdf
  • 所需积分:2
 相关标签: 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
参考书目
索引

标签: linux C编程

实例下载地址

[Linux.C编程一站式学习

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警