图书介绍
新手学Linux C编程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 阎映炳等编著 著
- 出版社: 北京:北京希望电子出版社
- ISBN:9787894990389
- 出版时间:2010
- 标注页数:465页
- 文件大小:34MB
- 文件页数:477页
- 主题词:计算机系统程序开发-Linux C
PDF下载
下载说明
新手学Linux C编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇 基础篇2
第1章 Linux简介2
1.1 Linux系统概述2
1.1.1 Linux的发展简史2
1.1.2 Linux的组成3
1.1.3 Linux的特性4
1.1.4 Linux的应用领域5
1.1.5 Linux的发行版本6
1.2 Linux图形界面操作7
1.2.1 系统登录、注销与关闭7
1.2.2 系统管理8
1.2.3 文件与目录操作9
1.3 Linux字符界面操作10
1.3.1 系统登录与退出10
1.3.2 文件与目录操作11
1.3.3 备份与压缩20
1.3.4 基本网络操作22
1.3.5 用户管理23
1.3.6 系统管理及其他常用命令24
1.4 Shell脚本编程基础28
1.4.1 Shell脚本的创建过程28
1.4.2 Shell中的特殊字符29
1.4.3 Shell变量31
1.4.4 条件测试32
1.4.5 控制结构34
1.4.6 Shell函数38
1.5 常见面试题39
1.6 小结39
1.7 习题40
第2章 C语言基础41
2.1 C语言概述41
2.1.1 发展历史与特点41
2.1.2 程序的基本结构42
2.1.3 程序的开发流程42
2.2 数据类型、运算符和表达式43
2.2.1 数据类型43
2.2.2 运算符45
2.2.3 表达式48
2.3 基本语句48
2.3.1 表达式语句49
2.3.2 选择语句49
2.3.3 循环语句52
2.3.4 跳转语句55
2.3.5 复合语句和空语句57
2.4 数组57
2.4.1 一维数组57
2.4.2 二维数组和多维数组59
2.4.3 字符数组与字符串61
2.5 预处理61
2.5.1 宏定义61
2.5.2 文件包含63
2.5.3 条件编译64
2.6 常见面试题65
2.7 小结66
2.8 习题66
第3章 指针、函数及自定义数据类型67
3.1 指针67
3.1.1 指针的基本概念67
3.1.2 指针与数组的互操作71
3.1.3 指针数组74
3.2 函数75
3.2.1 函数的定义与声明75
3.2.2 函数的调用与参数传递76
3.2.3 变量的作用域78
3.2.4 变量的存储类型79
3.2.5 外部函数和内部函数81
3.2.6 函数的递归82
3.2.7 函数指针85
3.3 结构体、共用体和枚举86
3.3.1 结构体86
3.3.2 共用体91
3.3.3 枚举93
3.4 常见面试题94
3.5 小结95
3.6 习题95
第4章 数据结构96
4.1 线性表96
4.1.1 顺序存储96
4.1.2 链式存储99
4.2 栈106
4.3 队列109
4.4 二叉树113
4.4.1 二叉树的基本概念113
4.4.2 二叉树的存储结构114
4.4.3 二叉树的遍历115
4.5 查找117
4.5.1 顺序查找117
4.5.2 二分查找119
4.5.3 插值查找122
4.6 排序124
4.6.1 冒泡排序124
4.6.2 插入排序126
4.6.3 选择排序128
4.6.4 快速排序130
4.6.5 归并排序132
4.7 常见面试题135
4.8 小结135
4.9 习题135
第5章 文本编辑器136
5.1 vi编辑器的基本使用136
5.1.1 vi的启动136
5.1.2 vi的工作模式138
5.1.3 文件的保存和退出139
5.1.4 光标移动140
5.1.5 屏幕滚动143
5.1.6 文本输入、删除与修改145
5.1.7 复制与粘贴148
5.1.8 查找与替换150
5.1.9 其他功能152
5.2 vi编辑器之程序编辑153
5.2.1 程序中光标的跳转153
5.2.2 程序编辑过程中的关键字补全155
5.2.3 源代码的缩进156
5.3 emacs编辑器的基本使用157
5.3.1 emacs的启动与退出157
5.3.2 文件打开与保存158
5.3.3 光标移动与屏幕滚动159
5.3.4 文本编辑160
5.3.5 查找与替换160
5.3.6 窗口功能161
5.3.7 帮助功能162
5.4 常见面试题162
5.5 小结162
5.6 习题162
第6章 GCC编译器163
6.1 GCC简介163
6.2 GCC的安装163
6.3 GCC常用选项166
6.3.1 基本选项166
6.3.2 警告选项169
6.3.3 优化选项172
6.3.4 连接器选项173
6.3.5 其他选项175
6.4 常见面试题176
6.5 小结177
6.6 习题177
第7章 调试工具178
7.1 GDB简介及安装178
7.2 GDB常用命令179
7.2.1 GDB基本命令179
7.2.2 断点设置与管理183
7.2.3 数据显示与变量赋值186
7.2.4 程序执行与函数调用189
7.2.5 其他常用命令191
7.3 GDB调试实例193
7.4 其他调试工具196
7.5 常见面试题198
7.6 小结198
7.7 习题198
第8章 多文件项目管理199
8.1 GNU Make简介199
8.2 Makefile文件书写规则200
8.2.1 基本规则200
8.2.2 变量的定义与使用202
8.2.3 隐含规则204
8.2.4 伪目标205
8.2.5 函数206
8.2.6 通用Makefile文件207
8.3 GNU Automake简介210
8.4 常见面试题213
8.5 小结214
8.6 习题214
第9章 Linux C基本应用215
9.1 字符串操作215
9.1.1 字符测试215
9.1.2 字符串初始化217
9.1.3 字符串复制218
9.1.4 字符串比较220
9.1.5 字符/字符串查找221
9.1.6 字符串连接与分割223
9.2 数据转换225
9.2.1 字母大小写转换225
9.2.2 字符串转换226
9.3 内存分配与释放228
9.3.1 内存空间的分配228
9.3.2 内存空间的释放228
9.3.3 更改已分配的内存空间229
9.4 时间和日期230
9.4.1 时间和日期的获取230
9.4.2 时间和日期的显示231
9.4.3 时间的计算233
9.5 其他应用234
9.5.1 命令行参数分析234
9.5.2 用户和用户组操作237
9.5.3 环境变量操作240
9.6 常见面试题242
9.7 小结243
9.8 习题243
第2篇 应用篇246
第10章 文件系统编程246
10.1 Linux文件系统简介246
10.2 文件的基本操作247
10.2.1 创建/打开文件247
10.2.2 关闭文件251
10.2.3 读写文件251
10.2.4 文件的其他操作255
10.3 文件的属性257
10.3.1 获取文件的属性257
10.3.2 设置文件的属性261
10.4 目录文件的操作263
10.4.1 创建目录文件263
10.4.2 打开/关闭目录文件264
10.4.3 读取目录文件264
10.4.4 获取/更改当前工作目录266
10.5 常见面试题267
10.6 小结267
10.7 习题267
第11章 标准输入输出268
11.1 标准输入输出的基本操作268
11.1.1 文件的打开268
11.1.2 文件的关闭269
11.1.3 缓冲区的刷新270
11.1.4 缓冲区属性的设置270
11.2 非格式化输入输出271
11.2.1 单个字节输入输出271
11.2.2 字符串输入输出274
11.2.3 数据块输入输出276
11.3 格式化输入输出279
11.4 常见面试题284
11.5 小结285
11.6 习题285
第12章 进程操作286
12.1 进程的概念286
12.1.1 进程的组成286
12.1.2 进程状态的转化287
12.2 Linux进程288
12.2.1 进程的状态289
12.2.2 进程调度信息289
12.2.3 进程的标识符290
12.2.4 进程间通信相关信息290
12.2.5 进程链接信息291
12.2.6 时间和定时器信息291
12.2.7 文件系统信息292
12.2.8 其他信息292
12.3 进程创建与控制293
12.3.1 fork函数293
12.3.2 vfork函数和exec函数297
12.3.3 system函数300
12.3.4 popen函数302
12.3.5 进程终止303
12.3.6 获取进程信息304
12.4 守护进程306
12.4.1 守护进程的创建方法307
12.4.2 守护进程的输出310
12.5 常见面试题311
12.6 小结312
12.7 习题312
第13章 进程间通信313
13.1 管道313
13.1.1 匿名管道314
13.1.2 命名管道317
13.2 信号322
13.2.1 信号的基本原理322
13.2.2 信号的类型323
13.2.3 信号处理函数324
13.2.4 信号发送函数327
13.2.5 信号集和信号集操作函数331
13.3 消息队列333
13.3.1 消息队列的创建333
13.3.2 消息队列的控制334
13.3.3 消息队列的读写336
13.4 信号量340
13.4.1 信号量的创建341
13.4.2 信号量的控制342
13.4.3 信号量的操作342
13.5 共享内存345
13.5.1 共享内存的创建345
13.5.2 共享内存的读写347
13.6 常见面试题350
13.7 小结350
13.8 习题350
第14章 多线程编程351
14.1 线程的基本概念351
14.1.1 多线程的意义352
14.1.2 线程与进程的比较352
14.1.3 多线程编程标准与线程库353
14.1.4 Linux的线程机制353
14.2 线程的基本操作353
14.2.1 线程的创建354
14.2.2 线程的合并355
14.2.3 线程的终止356
14.2.4 线程的属性361
14.3 线程的同步365
14.3.1 互斥量365
14.3.2 条件变量367
14.3.3 信号量370
14.4 常见面试题372
14.5 小结372
14.6 习题372
第15章 网络编程373
15.1 网络基础知识373
15.1.1 OSI参考模型373
15.1.2 TCP/IP协议栈374
15.2 套接字编程基础375
15.2.1 套接字编程原理376
15.2.2 创建套接字377
15.2.3 绑定套接字378
15.2.4 监听网络端口379
15.2.5 接收连接请求380
15.2.6 建立连接380
15.2.7 面向连接的数据传输380
15.2.8 无连接的数据传输381
15.2.9 关闭套接字382
15.2.10 应用实例382
15.3 服务器模型388
15.3.1 循环服务器388
15.3.2 并发服务器389
15.3.3 多路复用I/O并发服务器392
15.4 域名系统394
15.4.1 通过域名获取主机信息394
15.4.2 通过地址获取主机信息395
15.4.3 获取本地主机信息395
15.5 常见面试题396
15.6 小结396
15.7 习题397
第16章 Linux GUI编程398
16.1 GTK+/Gnome开发简介398
16.1.1 第一个GTK+应用程序398
16.1.2 信号连接与回调函数400
16.2 常用GTK+构件403
16.2.1 构件定位403
16.2.2 按钮构件407
16.2.3 标签构件409
16.2.4 文本及文本输入构件411
16.2.5 进度条构件416
16.2.6 组合框420
16.2.7 对话框423
16.3 GUI生成器Glade428
16.3.1 打开Glade429
16.3.2 创建应用程序界面429
16.3.3 编译连接程序434
16.4 常见面试题435
16.5 小结435
16.6 习题436
第3篇 案例篇438
第17章 案例1:Linux命令实现438
17.1 功能与参数介绍438
17.2 主函数代码分析439
17.3 其他函数代码分析447
17.4 小结451
第18章 案例2:客户端/服务器端程序452
18.1 服务器端程序设计452
18.2 客户端程序设计456
18.2.1 字符界面客户端程序456
18.2.2 图形界面客户端程序459
18.3 小结465