出版社:化学工业出版社
年代:2012
定价:65.0
本书分为四篇21章。第一篇对系统环境进行了介绍,包括Linux系统、Shell环境;第二篇介绍C语言及编程环境,包括vi编辑器、gcc编译器、程序调试等内容;第三篇输入输出及进程管理,包括文件操作、标准输入输出库等内容;第四篇对进程间通信(IPC)及网络编程的相关知识进行了介绍。
第一篇 系统环境
第1章 Linux系统概述
1.1 计算机操作系统简介
1.1.1 操作系统的概念
1.1.2 操作系统的基本功能
1.1.3 主要操作系统简介
1.2 Linux操作系统介绍
1.2.1 Linux的来源
1.2.2 什么是Linux
1.2.3 Linux的特性及优点
1.2.4 为什么要选择Linux
1.2.5 内核的组成
1.3 主流Linux操作系统及发行版本
1.3.1 Linux内核的版本
1.3.2 Linux的发行版本
1.4 小结
1.5 习题
1.6 上机实训
第2章 shell环境
2.1 shell介绍
2.1.1 shell的种类
2.1.2 如何进入shell
2.1.3 如何使用shell
2.2 shell编程基础
2.2.1 创建和运行shell脚本程序
2.2.2 shell环境变量
2.2.3 常用的shell命令
2.2.4 管道与重定向的使用
2.2.5 shell变量的使用
2.2.6 shell运算符的应用
2.2.7 在shell脚本中进行条件控制
2.2.8 在shell脚本中使用for循环
2.2.9 在shell脚本中使用while循环
2.2.10 在shell脚本中使用until循环
2.2.11 在shell脚本中使用函数
2.3 综合实例
2.3.1 实例需求
2.3.2 系统设计
2.3.3 程序代码
2.4 小结
2.5 习题
2.6 上机实训
第二篇 C语言及编程环境
第3章 C语言简介
3.1 C语言概述
3.1.1 C语言的发展简史
3.1.2 C语言的特点
3.2 C语言的组成元素
3.2.1 字符集
3.2.2 标识符
3.2.3 关键字
3.2.4 常量的类型
3.2.5 变量的类型
3.2.6 变量的存储类型
3.2.7 变量的作用域
3.2.8 运算符
3.2.9 注释方法
3.3 语句与控制结构
3.3.1 表达式语句
3.3.2 复合语句
3.3.3 函数调用语句
3.3.4 控制语句
3.4 函数与程序结构
3.4.1 库函数
3.4.2 用户自定义函数
3.5 数组
3.5.1 一维数组的定义和使用
3.5.2 多维数组的定义和使用
3.6 结构
3.6.1 结构的定义
3.6.2 结构成员的引用
3.7 指针
3.7.1 指针的概念
3.7.2 指针的定义和使用
3.7.3 指针变量的运算
3.8 综合实例
3.8.1 冒泡排序算法原理
3.8.2 冒泡排序算法实现
3.9 小结
3.10 习题
3.11 上机实训
第4章 vi编辑器
4.1 vi编辑器概述
4.1.1 vi的启动
4.1.2 vi的操作方式
4.1.3 vi编辑器的功能键
4.1.4 退出vi编辑器
4.2 vi编辑器的命令
4.2.1 光标移动命令
4.2.2 滚动屏幕命令
4.2.3 文本编辑命令
4.2.4 文本删除命令
4.2.5 文本修改命令
4.2.6 文本移动命令
4.2.7 搜索命令
4.2.8 ex转义命令
4.3 vi编辑器的选项
4.3.1 选项的含义
4.3.2 选项的设置方式
4.4 小结
4.5 习题
4.6 上机实训
第5章 gcc编译器
5.1 编译过程简述
5.1.1 预编译过程
5.1.2 编译的过程
5.1.3 优化及汇编的过程
5.2 链接过程简述
5.2.1 链接的过程
5.2.2 静态链接与动态链接
5.3 gcc编译器简述
5.3.1 程序的编译与链接
5.3.2 gcc编译器的工作过程
5.4 gcc编译器语法
5.4.1 常用语法
5.4.2 用gcc编译器生成可执行文件
5.4.3 用gcc编译器生成动态链接库
5.4.4 如何使用动态链接
5.4.5 gcc编译器常见错误排除
5.5 小结
5.6 习题
5.7 上机实训
第6章 make的使用
6.1 makefile简介
6.2 makefile的书写规则
6.2.1 基本语法规则
6.2.2 定义变量
6.2.3 环境变量
6.2.4 通配符的使用
6.2.5 使用条件判断
6.2.6 在makefile中使用函数
6.2.7 使用make与直接使用gcc脚本的区别
6.3 make工具
6.3.1 运行make命令
6.3.2 make命令的工作过程
6.3.3 在makefile中使用伪目标
6.3.4 make命令的返回值
6.4 综合实例
6.4.1 makefile应用的环境
6.4.2 makefile的实现及解释
6.5 小结
6.6 习题
6.7 上机实训
第7章 程序调试
7.1 错误处理
7.1.1 使用标准错误输出
7.1.2 使用errno全局变量
7.1.3 使用错误信号处理
7.1.4 使用assert断言
7.1.5 内存泄露的检查
7.1.6 其他可能的内存错误
7.2 gdb介绍
7.2.1 利用gdb调试的前提
7.2.2 启动gdb的方法
7.2.3 gdb的基本功能
7.3 使用gdb进行调试实例
7.4 小结
7.5 习题
7.6 上机实训
第8章 创建与使用库
8.1 函数库介绍
8.1.1 系统函数库的使用
8.1.2 用户自定义函数库的创建和使用
8.2 库函数与系统调用
8.2.1 系统调用介绍
8.2.2 库函数介绍
8.3 动态库的创建与使用
8.4 综合实例
8.5 小结
8.6 习题
8.7 上机实训
第三篇 输入输出及进程管理
第9章 文件操作
9.1 Linux文件系统简述
9.1.1 逻辑磁盘分区管理
9.1.2 文件系统的建立与挂载
9.1.3 虚拟文件系统
9.1.4 ext2文件系统
9.1.5 文件类型
9.1.6 文件权限管理
9.2 文件基本操作
9.2.1 文件编程的基本概念
9.2.2 文件的创建与打开
9.2.3 文件的读写
9.2.4 文件的关闭与删除
9.2.5 文件的随机存取
9.3 文件安全编程
9.3.1 文件的属主和用户组编程
9.3.2 设置文件权限(UGO模式)
9.3.3 设置文件权限(ACL模式)
9.4 文件属性编程
9.5 目录编程
9.6 综合实例
9.6.1 ELF文件格式
9.6.2 程序实现
9.7 小结
9.8 习题
9.9 上机实训
第10章 标准输入输出库
10.1 标准I/O的基本概念
10.1.1 流
10.1.2 缓存
10.1.3 标准输入、标准输出和标准错误输出
10.2 使用标准I/O进行文件操作
10.2.1 打开关闭流文件
10.2.2 单字符方式读写
10.2.3 行方式读写
10.2.4 二进制方式读写
10.2.5 格式化输入/输出
10.2.6 在流文件中定位
10.3 综合实例
10.4 小结
10.5 习题
10.6 上机实训
第11章 界面程序设计--Qt
11.1 Qt简述
11.1.1 Qt的组成
11.1.2 Qt的优点
11.2 Qt开发包的安装
11.3 Qt集成开发环境介绍
11.3.1 启动设计器
11.3.2 设计器界面元素介绍
11.4 Qt程序开发
11.4.1 建立新项目
11.4.2 设计窗口
11.4.3 添加事件处理
11.4.4 添加主程序
11.5 Qt程序的生成
11.6 小结
11.7 习题
11.8 上机实训
第12章 界面程序设计--GTK+
12.1 GNOME与KDE
12.1.1 Linux图形界面原理
12.1.2 X协议
12.1.3 GNOME与KDE 的启动
12.1.4 GNOME与KDE的区别
12.2 使用GTK+进行开发
12.2.1 GTK+的安装
12.2.2 GTK+程序的初始化与退出
12.2.3 GTK+的事件处理
12.2.4 使用GTK+实现HelloWorld
12.2.5 编译GTK+程序
12.2.6 在GTK+中使用控件
12.3 综合实例
12.3.1 实例需求
12.3.2 实例代码及解释
12.4 小结
12.5 习题
12.6 上机实训
第13章 进程
13.1 进程的基本概念
13.1.1 进程的属性
13.1.2 进程的内存映像
13.1.3 进程组
13.1.4 进程的会话
13.1.5 进程的控制终端
13.1.6 进程的状态
13.1.7 进程的优先级
13.2 进程的运行环境
13.2.1 进程的入口函数
13.2.2 进程的环境变量
13.2.3 进程的内存分配
13.3 进程的创建
13.3.1 调用fork创建进程
13.3.2 调用exec系列函数执行程序
13.3.3 调用system创建进程
13.4 进程的终止
13.4.1 调用exit退出进程
13.4.2 调用wait等待进程退出
13.5 小结
13.6 习题
13.7 上机实训
第14章 信号
14.1 信号的基本概念
14.1.1 信号的定义
14.1.2 信号的来源
14.1.3 信号的分类
14.2 信号的安装及处理
14.2.1 信号的处理方式
14.2.2 用signal安装信号
14.2.3 用sigaction安装信号
14.2.4 信号的阻塞处理
14.2.5 信号集的操作
14.2.6 未决信号的处理
14.2.7 等待信号
14.2.8 信号处理函数的实现
14.3 信号的发送
14.3.1 使用kill发送信号
14.3.2 使用sigqueue发送信号
14.4 SIGALRM信号
14.4.1 安装SIGALRM信号
14.4.2 设置定时器
14.5 SIGCLD信号
14.5.1 子进程的退出过程
14.5.2 SIGCLD信号的处理
14.6 小结
14.7 习题
14.8 上机实训
第四篇 进程间通信(IPC)及网络编程
第15章 进程间通信--管道
15.1 进程间通信概念
15.2 管道的概念及分类
15.2.1 管道的概念及特点
15.2.2 管道的分类
15.3 管道编程
15.3.1 创建管道
15.3.2 读写管道
15.3.3 关闭管道
15.3.4 管道I/O
15.4 命名管道编程
15.4.1 创建管道
15.4.2 打开管道及读写
15.4.3 管道的删除
15.5 小结
15.6 习题
15.7 上机实训
第16章 进程间通信--消息队列
16.1 System V进程间通信概述
16.1.1 Shell环境控制IPC
16.1.2 进程间通信关键字
16.1.3 进程间通信标识符
16.1.4 IPC权限许可结构
16.2 消息队列基本概念
16.2.1 队列
16.2.2 消息
16.2.3 消息队列
16.3 消息队列编程
16.3.1 键值生成函数
16.3.2 创建消息队列
16.3.3 消息发送
16.3.4 消息接收
16.3.5 控制消息队列
16.4 小结
16.5 习题
16.6 上机实训
第17章 进程间通信--共享内存
17.1 共享内存基本概念
17.1.1 共享内存编程模型
17.1.2 共享内存的映射
17.1.3 共享内存数据结构
17.2 共享内存编程
17.2.1 创建共享内存
17.2.2 映射共享内存
17.2.3 删除共享内存映射
17.2.4 控制共享内存
17.3 小结
17.4 习题
17.5 上机实训
第18章 进程间通信--信号量
18.1 PV操作原理
18.1.1 PV操作的来源
18.1.2 PV操作的定义
18.1.3 PV操作的应用
18.2 信号量基本概念
18.2.1 Linux信号量简介
18.2.2 信号量的控制结构
18.3 信号量编程
18.3.1 创建信号量
18.3.2 信号量操作
18.3.3 信号量控制
18.4 综合实例--利用信号量实现生产者-消费者模型
18.4.1 需求
18.4.2 需求分析与设计
18.4.3 实现代码及分析
18.5 小结
18.6 习题
18.7 上机实训
第19章 Linux网络环境
19.1 计算机网络基础
19.1.1 计算机网络分类
19.1.2 网络拓扑结构
19.1.3 网络通信协议
19.1.4 OSI参考模型
19.2 TCP/IP协议概述
19.2.1 TCP/IP分层模型
19.2.2 TCP/IP协议族
19.2.3 网络地址
19.2.4 端口
19.3 客户机/服务器模型
19.4 传输控制协议
19.4.1 连接建立
19.4.2 连接关闭
19.4.3 TCP数据报格式
19.5 用户数据报协议
19.6 小结
19.7 习题
19.8 上机实训
第20章 基本套接字编程
20.1 套接字编程简述
20.1.1 半相关与全相关
20.1.2 地址族与协议族
20.1.3 面向连接与面向无连接
20.1.4 套接字类型
20.1.5 字节序
20.1.6 套接字连接方式
20.1.7 数据传输方式
20.2 套接字数据结构
20.2.1 套接字地址结构
20.2.2 通用套接字地址结构
20.2.3 主机名称数据结构
20.2.4 服务名称数据结构
20.2.5 通用数据收发结构
20.3 基本套接字函数
20.3.1 字节操作函数
20.3.2 字节序操作函数
20.3.3 地址转换函数
20.3.4 套接字函数
20.4 套接字选项
20.4.1 套接字选项函数
20.4.2 SO_KEEPALIVE选项
20.4.3 SO_LINGER选项
20.4.4 SO_RCVBUF和SO_SNDBUF选项
20.4.5 SO_RCVTIMEO和SO_SNDTIMEO选项
20.4.6 SO_REUSEADDR和SO_REUSEPORT选项
20.5 TCP套接字编程
20.5.1 重复服务器编程
20.5.2 并发服务器编程
20.6 UDP套接字编程
20.6.1 UDP编程模型
20.6.2 UDP客户/服务器编程
20.7 小结
20.8 习题
20.9 上机实训
第21章 综合实例--银行代理收费服务器
21.1 程序需求
21.2 程序实现
21.3 小结
附录1 常见面试题
附录2 Linux下常见C函数字母索引
随着Linux操作系统的广泛使用,与之相关的应用开发正变得日益重要。《轻松学Linux编程》由浅入深、系统地介绍了在Linux平台下使用C语言进行程序开发的技术,通过丰富的编程实例,使读者快速掌握开发技能。
全书分为四篇21章,详细讲解了如何在Linux环境下进行C语言的开发。第一篇介绍了Linux的系统环境,主要包括Linux系统概述和shell环境等内容;第二篇介绍了C语言及编程环境,主要包括C语言简介、vi编辑器、gcc编译器、make的使用、程序调试、创建与使用库等内容;第三篇介绍了输入输出及进程管理,包括文件操作、标准输入输出库、界面程序设计(QT和GTK+)、进程、信号等内容;第四篇介绍了进程间通信及网络编程,主要包括管道、消息队列、共享内存、信号量、Linux网络环境和基本套接口编程,最后给出了一个综合实例。
《轻松学Linux编程》配光盘一张,内容为本书教学视频、源代码、教学PPT及习题参考答案。
《轻松学Linux编程》适合没有编程基础的C语言初学者作为入门教程,也可作为大、中专院校师生和培训班的教材。对于Linux平台下C语言开发的爱好者,也有较大的参考价值。
书籍详细信息 | |||
书名 | 轻松学Linux编程站内查询相似图书 | ||
丛书名 | 轻松学编程 | ||
9787122149992 如需购买下载《轻松学Linux编程》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN | |||
出版地 | 北京 | 出版单位 | 化学工业出版社 |
版次 | 1版 | 印次 | 1 |
定价(元) | 65.0 | 语种 | 简体中文 |
尺寸 | 26 × 19 | 装帧 | 平装 |
页数 | 印数 |
轻松学Linux编程是化学工业出版社于2012.8出版的中图分类号为 TP316.89 的主题关于 Linux操作系统-程序设计 的书籍。
宋敬彬, 孙海滨, 编著
宋敬彬, 编著
成洁, 卢紫毅, 编著
孔靓, 贾美娟, 介龙梅, 著
(美) 罗德里格斯 (Rodriguez,C.S.) , (美) 费舍尔 (Fischer,G.) , (美) 斯莫斯基 (Smolski,S.) , 著
罗利民, 王浩, 编著
(美) 洛夫 (Love,R.) , 著
石庆冬, 编著
周洪林, 主编