×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
图文详情
  • ISBN:9787115506740
  • 装帧:平装
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:250
  • 出版时间:2021-03-01
  • 条形码:9787115506740 ; 978-7-115-50674-0

本书特色

本书由浅入深,全面细致地讲述了Linux环境C程序设计,从基本概念到实际操作,从原理到具体实践,涵盖了Linux环境下C程序设计的所有重要知识点。第1章介绍Linux操作系统的基本知识和Linux常用命令;第2章介绍常用C语言库函数;第3章介绍Linux的开发环境;第4章至第9章介绍Linux系统编程,包括文件I/O、标准I/O库、进程和信号以及进程间通信等方面的知识;第10章介绍网络编程;第11章介绍GTK 编程。

内容简介

本书由浅入深,全面细致地讲述了Linux环境C程序设计,从基本概念到实际操作,从原理到具体实践,涵盖了Linux环境下C程序设计的所有重要知识点。章介绍Linux操作系统的基本知识和Linux常用命令;第2章介绍常用C语言库函数;第3章介绍Linux的开发环境;第4章至第9章介绍Linux系统编程,包括文件I/O、标准I/O库、进程和信号以及进程间通信等方面的知识;0章介绍网络编程;1章介绍GTK+编程。

目录

第 一章Linux操作系统基础 1

1.1 GNU简介 1

1.2 Linux简介 1

1.2.1 Linux的内核与发行版 2

1.2.2 Linux系统的特点 3

1.3 Shell命令概述 4

1.3.1 目录的组织结构 4

1.3.2用户主目录和文件的路径 5

1.3.3 Linux命令的语法结构 6

1.3.4 Shell命令的分类 6

1.3.5 联机帮助 6

1.4 文件与目录操作 7

1.4.1目录操作 7

1.4.2 文件/目录的创建 10

1.4.3 文件/目录的删除 12

1.4.4 文件/目录的复制 13

1.4.5 文件/目录的属性修改 15

1.5 系统运行常用命令 21

1.5.1 进程操作 21

1.5.2 管道和重定向 23

1.6 查找操作命令 25

1.6.1 grep 25

1.6.2 find 25

1.7 其他常用命令 27

1.7.1 文件系统操作 27

1.7.2 用户管理 32

1.7.3 网络相关命令 41

1.8 Linux应用软件包管理 42

1.8.1应用软件包的分类 42

1.8.2 RPM软件包的管理 42

1.9 项目实训一:linux基本命令 43

1.10 本章小结 45

1.11习题一 46

第 2章 常用的C语言库函数 48

2.1 字符和字符串操作函数 48

2.1.1 字符操作函数 48

2.1.2 字符串操作函数 51

2.2 内存管理函数 64

2.2.1 动态内存分配函数 64

2.2.2 动态内存释放函数 67

2.2.3 memset函数 69

2.2.4 memcpy函数 69

2.2.5 memmove函数 70

2.3 日期与时间函数 76

2.3.1 time函数 76

2.3.2 localtime函数和gmtime 函数 76

2.3.3 asctime函数和ctime函数 78

2.4 随机函数 79

2.4.1 rand函数 79

2.4.2 srand函数 80

2.4.3 random函数和srandom函数 81

2.4.4 drand48函数和erand48函数 82

2.5 项目实训 83

2.6 本章小结 90

习题 90

第3章 编程环境 91

3.1概述 91

3.2 VIM编辑器 92

3.2.1 VIM工作模式 92

3.2.2 VIM操作流程 93

3.2.3 VIM常用命令 94

3.3 GCC编译器 97

3.3.1 GCC编译器简介 97

3.3.2 GCC编译过程 98

3.3.3 GCC常用选项介绍 100

3.2.4 库依赖原理 104

3.4 GDB程序调试器 105

3.4.1 在程序中加入调试信息 106

3.4.2 启动和退出GDB调试器 106

3.4.3 显示和查找程序源代码 107

3.4.4设置和管理断点 108

3.4.5 执行程序和获得帮助 108

3.4.6控制程序的执行 109

3.4.7查看和设置变量的值 109

3.5 Make工程管理器 110

3.5.1 Make工程管理概述 110

3.5.2 Makefile基本结构 111

3.5.3 Makefile变量 117

3.5.4 Makefile规则 119

3.6 项目实训:Makefile的编写 121

3.6.1实训描述 121

3.6.2编写流程 123

3.6.3 Make脚本的测试 125

3.7 本章小结 125

习题 125

第四章 文件操作 128

4.1 文件系统 128

4.1.1超级块 129

4.1.2索引节点 129

4.2 基于文件描述符的I/O 操作 129

4.2.1 文件的创建、打开与关闭 130

4.2.2 文件的读写操作 132

4.2.3 文件的定位 134

4.2.4 文件属性的修改 136

4.2.5 目录文件的操作 138

4.3项目实训四:日志管理功能 139

4.3.1实训描述 139

4.3.2实训要求 139

4.3.3实训参考 139

4.4 本章小结 141

4.5 习题四 141

第五章 标准I/O库 143

5.1 标准流的I/O 操作 143

5.2 流的打开和关闭 143

5.3 缓冲区的操作 144

5.4 直接输入输出 145

5.5 格式化输入输出 148

5.6 基于字符和行的输入输出 151

1.7 项目实训五:出错管理功能 154

5.7.1项目描述 154

5.7.2项目要求 154

5.7.3 实训参考 155

5.8 本章小结 156

5.9 习题五 156

第六章 进程控制 157

6.1 进程概述 157

6.1.1什么是进程 157

6.1.2进程状态 158

6.1.3 Linux进程环境 158

6.1.4进程的内存映像 159

6.2 进程控制 160

6.2.1 进程创建 160

6.2.2 进程等待 163

6.2.3 结束进程 165

6.2.4 system函数 169

6.3 项目实训六:进程的实现 170

6.3.1实训描述 170

6.3.2参考代码 170

6.3.3编译运行 171

6.4 本章小结 171

6.5 习题六 172

第七章 线程控制 173

7.1 线程控制 173

7.1.1 线程的创建 173

7.1.2 线程的终止 175

7.1.3 线程的同步 177

7.1.4 私有数据 182

7.2 项目实训七:线程的实现 185

7.2.1实训描述 185

7.2.2参考代码 185

7.2.3编译 186

7.3 本章小结 186

7.4 习题七 187

第八章 进程间通信 188

8.1 概述 188

8.2 共享内存 189

8.3 信号量 194

8.4 管道通信 201

8.4.1 管道的创建和关闭 201

8.4.2 管道的读写操作 201

8.5 命名管道 204

8.5.1 命名管道的创建 204

8.5.2 命名管道的使用 205

8.6 消息队列 209

8.6.1 消息队列的创建与打开 210

8.6.2 向消息队列中发送消息 211

8.6.3 从消息队列中接收消息 211

8.6.4 消息队列的控制 212

8.6.5 综合示例 212

8.7 项目实训八:进程之间通信功能的实现 218

8.7.1实训描述 218

8.7.2参考代码 218

8.7.3编译运行 219

8.8 本章小结 220

8.9 习题八 220

第九章 信号及信号处理 221

9.1 信号及其使用 221

9.1.1 Linux信号的产生 221

9.1.2信号的种类 221

9.1.3对信号的响应 224

9.2 信号处理 224

9.2.1信号的捕获与处理 224

9.2.2信号的屏蔽 225

9.2.3信号的发送 228

9.3 本章小结 230

9.4 项目实训:信号的处理 230

9.4.1实训描述 230

9.4.2参考代码 230

9.4.3编译运行 232

9.5 习题九 233

第十章 网络编程 234

10.1 网络编程的基本概念 234

10.1.1 IP地址 234

10.1.2 端口 234

10.1.3 域名 235

10.1.4 TCP和UDP 235

10.2 网络编程基础 235

10.2.1套接字的概念 235

10.2.3 Socket地址结构 236

10.3网络地址的转换 237

10.3.1主机字节序与网络字节序 237

10.3.2字节处理函数 238

10.3.3地址转换函数 238

10.3.4域名与IP地址转换 239

10.3 TCP通信编程 242

10.3.1 TCP通信原理 242

10.3.2 创建套接字 243

10.3.3 绑定套接字 244

10.3.4 在套接字上监听 244

10.3.5 接受连接 244

10.3.6 建立连接 245

10.3.7 数据通信 245

10.3.8 关闭连接 246

10.3.9 基于TCP套接口编程示例 246

10.4 UDP通信编程 251

10.4.1 UDP通信原理 251

10.4.2 数据通信 252

10.4.3 基于UDP套接口编程示例 253

10.5 本章小结 257

10.6 项目实训:局域网文件下载 257

10.6.1实训描述 257

10.6.2参考代码 257

10.6.3编译运行 262

10.7 习题十 263

第十一章 Gtk 图形界面编程 264

11.1 Linux图形界面开发 264

1.1.1 Linux图形用户环境 264

1.1.2 Gtk 简介 265

11.2 Gtk 程序结构 265

11.2.1 第 一个Gtk 程序 265

11.2.2 GTK 的数据类型 266

11.2.3 初始化GTK  266

11.2.4 创建和显示窗口/构件 267

11.2.5 GTK 的主循环 267

11.3 基本控件 268

11.3.1窗口 268

11.3.2标签 271

11.3.3按钮 273

11.3.4文本框 275

11.4 布局控件 276

11.4.1表格 276

11.4.2框 279

11.5 信号与事件 282

11.6常用控件 285

11.6.1下拉菜单 285

11.6.2 对话框 288

11.6 项目实训:贪吃蛇游戏 290

11.6.1任务描述 290

11.6.2设计思路 290

11.6.3模块结构 290

11.6.4界面设计 291

11.6.5设计描述 292

11.6.7游戏测试 298

11.6.8设计总结 299

11.7 本章小结 299

11.8 习题十一 299



展开全部

作者简介

中州大学信息工程学院副教授,讲授课程《Linux环境下C程序设计》、《C程序设计》,主要研究项目及领域: 软件编程、计算机网络

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航