Linux环境下C程序设计

Linux环境下C程序设计
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
2021-03
版次: 1
ISBN: 9787115506740
定价: 59.80
装帧: 平装
开本: 其他
纸张: 胶版纸
页数: 250页
字数: 454千字
24人买过
  • 本书由浅入深,全面细致地讲述了Linux环境C程序设计,从基本概念到实际操作,从原理到具体实践,涵盖了Linux环境下C程序设计的所有重要知识点。第1章介绍Linux操作系统的基本知识和Linux常用命令;第2章介绍常用C语言库函数;第3章介绍Linux的开发环境;第4章至第9章介绍Linux系统编程,包括文件I/O、标准I/O库、进程和信号以及进程间通信等方面的知识;第10章介绍网络编程;第11章介绍GTK+编程。 中州大学信息工程学院副教授,讲授课程《Linux环境下C程序设计》、《C程序设计》,主要研究项目及领域: 软件编程、计算机网络 第 一章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程序设计,从基本概念到实际操作,从原理到具体实践,涵盖了Linux环境下C程序设计的所有重要知识点。第1章介绍Linux操作系统的基本知识和Linux常用命令;第2章介绍常用C语言库函数;第3章介绍Linux的开发环境;第4章至第9章介绍Linux系统编程,包括文件I/O、标准I/O库、进程和信号以及进程间通信等方面的知识;第10章介绍网络编程;第11章介绍GTK+编程。
  • 作者简介:
    中州大学信息工程学院副教授,讲授课程《Linux环境下C程序设计》、《C程序设计》,主要研究项目及领域: 软件编程、计算机网络
  • 目录:
    第 一章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程序设计
LiteOS轻量级物联网操作系统实战 微课视频版
魏杰
Linux环境下C程序设计
Linux综合实训案例教程
陈智斌;梁鹏;肖政宏
Linux环境下C程序设计
Linux操作系统项目化教程
周秀丽;张徐超;周密
Linux环境下C程序设计
Linux操作系统
刘睿;包大宏;兰晓天;李吉桃;王仕杰;吴晓清;张宏洲;杨云江
Linux环境下C程序设计
Linux C语言程序设计(微课视频版)
张同光;田文强;荆春棋;田乔梅;陈明
Linux环境下C程序设计
Linux虚拟化——原理、方法和实战(KVM+Docker+OpenStack)
吴光科;李建尧;柯宇霖
Linux环境下C程序设计
Linux源码趣读
闪客
Linux环境下C程序设计
Linux自动化运维实战(Linux开发书系)
吴光科;彭威城;文·S
Linux环境下C程序设计
Linux云计算——Kubernetes实战
吴光科;程浩;刑亚飞
Linux环境下C程序设计
Linux运维从入门到精通
明日科技
Linux环境下C程序设计
Linux操作系统项目化教程(第2版)
洪伟 主编;丁传炜 谢鹏 副主编
Linux环境下C程序设计
Linux企业高性能架构实战
吴光科;曹森;赵瑞丰
您可能感兴趣 / 更多