标题：新手学Linux C编程
图书信息
出版社: 北京希望电子出版社; 第1版 (2010年5月1日)
丛书名: 新手学编程系列
平装: 465页
正文语种: 简体中文
开本: 16
ISBN: 9787894990389, 7894990388
条形码: 9787894990389
尺寸: 27.2 x 19.6 x 2.4 cm
重量: 821 g
内容简介
《新手学Linux C编程》主要内容简介：Linux是目前非常流行的一款操作系统，而C语言是Linux操作系统中的核心语言，掌握Linux环境下的C语言开发有着非常重要的意义。本手册由经验丰富的开发人员撰写，由浅入深、循序渐进地介绍了在Linux系统下使用C语言进行应用程序开发的方法，是一本通俗易懂的Linux入门教程。
本手册分3篇共18章，Linux系统的基本操作、C语言基础、Linux C语言难点、数据结构、相关工具集、基本应用程序开发、文件操作、进程操作、进程间通信、多线程编程、网络编程，以及图形界面编程等。为了便于读者学习，最后通过一个完整的Linux命令源代码，介绍设计实现了一个客户/服务器程序，其中涵盖了网络编程和GUI编程的相关知识。
本手册适合广大的Linux爱好者、Linux系统程序员、大中专院校的学生，以及Linux培训机构的学员。
目录
第1篇 基础篇
第1章 Linux简介
1.1 Linux系统概述
1.1.1 Linux的发展简史
1.1.2 Linux的组成
1.1.3 Linux的特性
1.1.4 Linux的应用领域
1.1.5 Linux的发行版本
1.2 Linux图形界面操作
1.2.1 系统登录、注销与关闭
1.2.2 系统管理
1.2.3 文件与目录操作
1.3 Linux字符界面操作
1.3.1 系统登录与退出
1.3.2 文件与目录操作
1.3.3 备份与压缩
1.3.4 基本网络操作
1.3.5 用户管理
1.3.6 系统管理及其他常用命令
1.4 Shell脚本编程基础
1.4.1 Shell脚本的创建过程
1.4.2 Shell中的特殊字符
1.4.3 Shell变量
1.4.4 条件测试
1.4.5 控制结构
1.4.6 Shell函数
1.5 常见面试题
1.6 小结
1.7 习题
第2章 C语言基础
2.1 C语言概述
2.1.1 发展历史与特点
2.1.2 程序的基本结构
2.1.3 程序的开发流程
2.2 数据类型、运算符和表达式
2.2.1 数据类型
2.2.2 运算符
2.2.3 表达式
2.3 基本语句
2.3.1 表达式语句
2.3.2 选择语句
2.3.3 循环语句
2.3.4 跳转语句
2.3.5 复合语句和空语句
2.4 数组
2.4.1 一维数组
2.4.2 二维数组和多维数组
2.4.3 字符数组与字符串
2.5 预处理
2.5.1 宏定义
2.5.2 文件包含
2.5.3 条件编译
2.6 常见面试题
2.7 上结；
2.8 习题
第3章 指针、函数及自定义数据类型
3.1 指针
3.1.1 指针的基本概念
3.1.2 指针与数组的互操作
3.1.3 指针数组
3.2 函数
3.2.1 函数的定义与声明
3.2.2 函数的调用与参数传递
3.2.3 变量的作用域
3.2.4 变量的存储类型
3.2.5 外部函数和内部函数
3.2.6 函数的递归
3.2.7 函数指针
3.3 结构体、共用体和枚举
3.3.1 结构体
3.3.2 共用体
3.3.3 枚举
3.4 常见面试题
3.5 小结
3.6 习题
第4章 数据结构
4.1 线性表
4.1.1 顺序存储
4.1.2 链式存储
4.2 栈
4.3 队列
4.4 二叉树
4.4.1 二叉树的基本概念
4.4.2 二叉树的存储结构
4.4.3 二叉树的遍历
4.5 查找
4.5.1 顺序查找
4.5.2 二分查找
4.5.3 插值查找
4.6 排序
4.6.1 冒泡排序
4.6.2 插入排序
4.6.3 选择排序
4.6.4 快速排序
4.6.5 归并排序
4.7 常见面试题
4.8 小结
4.9 习题
第5章 文本编辑器
5.1 vi编辑器的基本使用
5.1.1 vi的启动
5.1.2 vi的工作模式
5.1.3 文件的保存和退出
5.1.4 光标移动
5.1.5 屏幕滚动
5.1.6 文本输入、删除与修改
5.1.7 复制与粘贴
5.1.8 查找与替换
5.1.9 其他功能
5.2 vi编辑器之程序编辑
5.2.1 程序中光标的跳转
5.2.2 程序编辑过程中的关键字补全
5.2.3 源代码的缩进
5.3 emacs编辑器的基本使用
5.3.1 emacs的启动与退出
5.3.2 文件打开与保存
5.3.3 光标移动与屏幕滚动
5.3.4 文本编辑
5.3.5 查找与替换
5.3.6 窗口功能
5.3.7 帮助功能
5.4 常见面试题
5.5 小结
5.6 习题
第6章 GCC编译器
6.1 GCC简介
6.2 GCC的安装
6.3 GCC常用选项
6.3.1 基本选项
6.3.2 警告选项
6.3.3 优化选项
6.3.4 连接器选项
6.3.5 其他选项
6.4.常见面试题
6.5 小结
6.6 习题
第7章 调试工具
7.1 GDB简介及安装
7.2 GDB常用命令
7.2.1 GDB基本命令
7.2.2 断点设置与管理
7.2.3 数据显示与变量赋值
7.2.4 程序执行与函数调用
7.2.5 其他常用命令
7.3 GDB调试实例
7.4 其他调试工具
7.5 常见面试题
7.6 小结
7.7 习题
第8章 多文件项目管理
8.1 GNUMake简介
8.2 Makefile文件书写规则
8.2.1 基本规则
8.2.2 变量的定义与使用
8.2 ‘3隐含规则
8.2.4 伪目标
8.2.5 函数
8.2.6 通用Makefile文件
8.3 GNUAutomake简介
8.4 常见面试题
8.5 小结
8.6 习题
第9章 LinuxC基本应用
9.1 字符串操作
9.1.1 字符测试
9.1.2 字符串初始化
9.1.3 字符串复制
9.1.4 字符串比较
9.1.5 字符/字符串查找
9.1.6 字符串连接与分割
9.2 数据转换
9.2 1字母大小写转换
9.2.2 字符串转换
9.3 内存分配与释放
9.3.1 内存空间的分配
9.3.2 内存空间的释放
9.3.3 更改已分配的内存空间
9.4 时间和日期
9.4.1 时间和日期的获取
9.4.2 时间和日期的显示
9.4.3 时间的计算
9.5 其他应用
9.5.1 命令行参数分析
9.5.2 用户和用户组操作
9.5.3 环境变量操作
9.6 常见面试题
9.7 小结
9.8 习题
第2篇 应用篇
第10章 文件系统编程
10.1 Linux文件系统简介
10.2 文件的基本操作
10.2.1 创建/打开文件
10.2.2 关闭文件
10.2.3 读写文件
10.2.4 文件的其他操作
10.3 文件的属性
10.3.1 获取文件的属性
10.3.2 设置文件的属性
10.4 目录文件的操作
10.4.1 创建目录文件
10.4.2 打开/关闭目录文件
10.4.3 读取目录文件
10.4.4 获取/更改当前工作目录
10.5 常见面试题
10.6 小结
10.7 习题
第11章 标准输入输出
11.1 标准输入输出的基本操作
11.1.1 文件的打开
11.1.2 文件的关闭
11.1.3 缓冲区的刷新
11.1.4 缓冲区属性的设置
11.2 非格式化输入输出
11.2.1 单个字节输入输出
11.2.2 字符串输入输出
11.2.3 数据块输入输出
11.3 格式化输入输出
11.4 常见面试题
11.5 小结
11.6 习题
第12章 进程操作
12.1 进程的概念
12.1.1 进程的组成
12.1.2 进程状态的转化
12.2 Linux进程
12.2.1 进程的状态
12.2.2 进程调度信息
12.2.3 进程的标识符
12.2.4 进程间通信相关信息
12.2.5 进程链接信息
12.2.6 时间和定时器信息
12.2.7 文件系统信息
12.2.8 其他信息
12.3 进程创建与控制
12.3.1 fork函数
12.3.2 vfork函数和exec函数
12.3.3 system函数
12.3.4 popen函数
12.3.5 进程终止
12.3.6 获取进程信息
12.4 守护进程
12.4.1 守护进程的创建方法
12.4.2 守护进程的输出
12.5 常见面试题
12.6 小结
12.7 习题
第13章 进程间通信
13.1 管道
13.1.1 匿名管道
13.1.2 命名管道
13.2 信号
13.2.1 信号的基本原理
13.2.2 信号的类型
13.2.3 信号处理函数
13.2.4 信号发送函数
13.2.5 信号集和信号集操作函数
13.3 消息队列
13.3.1 消息队列的创建
13.3.2 消息队列的控制
13.3.3 消息队列的读写
13.4 信号量
13.4.1 信号量的创建
13.4.2 信号量的控制
13.4.3 信号量的操作
13.5 共享内存
13.5.1 共享内存的创建
13.5.2 共享内存的读写
13.6 常见面试题
13.7 小结
13.8 习题
第14章 多线程编程
14.1 线程的基本概念
14.1.1 多线程的意义
14.1.2 线程与进程的比较
14.1.3 多线程编程标准与线程库
14.1.4 Linux的线程机制
14.2 线程的基本操作
14.2.1 线程的创建
14.2.2 线程的合并
14.2.3 线程的终止
14.2.4 线程的属性
14.3 线程的同步
14.3.1 互斥量
14.3.2 条件变量
14.3.3 信号量
14.4 常见面试题
14.5 小结
14.6 习题
第15章 网络编程
15.1 网络基础知识
15.1.1 OSI参考模型
15.1.2 TCP/IP协议栈
15.2 套接字编程基础
15.2.1 套接字编程原理
15.2.2 创建套接字
15.2.3 绑定套接字
15.2.4 监听网络端口
15.2.5 接收连接请求
……
第16章 Linux GUI编程 
第3篇 案例篇 
第17章 案例1：Linux命令实现 
第18章 案例2：客户端/服务器端程序