图书介绍
Linux系统下C程序开发详解PDF|Epub|txt|kindle电子书版本下载
![Linux系统下C程序开发详解](https://www.shukui.net/cover/1/32224129.jpg)
- 徐磊等编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121063992
- 出版时间:2008
- 标注页数:500页
- 文件大小:239MB
- 文件页数:529页
- 主题词:Linux操作系统-程序设计;C语言-程序设计
PDF下载
下载说明
Linux系统下C程序开发详解PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 Linux基础篇2
第1章 Linux编程平台2
1.1 Linux发行版的介绍2
1.1.1 Red Hat Linux2
1.1.2 Debian Linux2
1.2 Linux的安装2
1.2.1 Linux的分区格式3
1.2.2 在Windows系统中划分Linux分区3
1.2.3 Red Hat 9.0的安装6
1.2.4 GRUB在Windows分区中引导Linux15
1.3 VMware虚拟机安装Linux系统17
1.3.1 VMware软件安装17
1.3.2 新建虚拟计算机20
1.3.3 VMware的使用24
1.3.4 在VMware虚拟机中安装Linux系统26
1.4 第一个C程序28
1.4.1 在Linux中编写C程序代码28
1.4.2 编译程序29
1.5 小结30
第2章 文本编辑器的使用31
2.1 VIM的使用31
2.1.1 VIM的启动31
2.1.2 在桌面上创建VIM启动器31
2.1.3 VIM的工作模式32
2.1.4 保存与打开文件33
2.1.5 移动光标34
2.1.6 插入36
2.1.7 删除36
2.1.8 取消37
2.1.9 保存37
2.1.10 退出37
2.1.11 查找38
2.1.12 替换38
2.1.13 选项设置38
2.1.14 调用shell命令39
2.2 VIM使用实例39
2.2.1 字符的插入与删除39
2.2.2 字符的查找与替换40
2.3 GVIM41
2.3.1 文件的新建与保存41
2.3.2 查找与替换42
2.4 gedit43
2.4.1 gedit的启动与打开文本44
2.4.2 gedit编辑文件44
2.4.3 gedit打印文件46
2.4.4 gedit的首选项47
2.5 小结50
第二部分 Shell编程篇52
第3章 Linux常用命令52
3.1 目录与文件命令52
3.1.1 查看目录命令pwd52
3.1.2 打开目录命令cd52
3.1.3 查看目录命令ls53
3.1.4 建立文件命令touch54
3.1.5 建立与删除文件夹命令mkdir,rmdir54
3.1.6 文件复制命令cp55
3.1.7 文件移动和更名命令mv56
3.1.8 删除文件与目录命令rm56
3.1.9 创建链接命令ln57
3.1.10 查看文件信息命令wc58
3.1.11 文件查看命令cat58
3.1.12 查看文件视图命令head与tail59
3.1.13 文件权限设置命令chmod59
3.1.14 查找文件命令find61
3.2 man系统帮助命令61
3.2.1 man手册的使用方法61
3.2.2 帮助文档的结构62
3.3 info手册62
3.4 小结63
第4章 Shell编程64
4.1 bash的使用64
4.1.1 bash的内部命令与外部命令64
4.1.2 命令补齐功能64
4.1.3 命令通配符64
4.1.4 使用命令的历史记录65
4.1.5 命令的别名66
4.2 shell程序的基本结构66
4.3 局部变量67
4.4 环境变量68
4.4.1 环境变量的查看68
4.4.2 环境变量的访问68
4.4.3 环境变量的定义69
4.4.4 在系统配置文件中定义环境变量69
4.4.5 位置变量69
4.5 shell的运算符70
4.5.1 变量赋值70
4.5.2 算术运算符71
4.6 输入和输出72
4.6.1 echo命令输出结果72
4.6.2 read命令读取信息74
4.6.3 文件重定向75
4.7 引号的使用方法76
4.7.1 双引号76
4.7.2 单引号77
4.7.3 反引号77
4.7.4 反斜线77
4.8 测试语句78
4.8.1 文件状态测试78
4.8.2 数值测试79
4.8.3 字符串测试79
4.8.4 逻辑测试80
4.9 流程控制结构80
4.9.1 if语句81
4.9.2 if语句应用实例82
4.9.3 for语句84
4.9.4 for循环应用实例85
4.9.5 until语句86
4.10 Shell编程实例87
4.10.1 程序的功能87
4.10.2 编写程序的代码88
4.11 小结89
第三部分 C程序基础篇92
第5章 编译与调试92
5.1 编译的概念和理解92
5.1.1 程序编译的过程92
5.1.2 编译器92
5.2 gcc编译器93
5.2.1 gcc编译器简介93
5.2.2 gcc对源程序扩展名的支持93
5.3 C程序的编译94
5.3.1 编写第一个C程序94
5.3.2 用gcc编译程序95
5.3.3 查看gcc的参数96
5.3.4 设置输出的文件97
5.3.5 查看编译过程97
5.3.6 设置编译的语言98
5.3.7 -asci设置ANSIC标准98
5.3.8 g++编译C++程序98
5.4 编译过程的控制99
5.4.1 编译过程简介100
5.4.2 控制预处理过程100
5.4.3 生成汇编代码101
5.4.4 生成目标代码102
5.4.5 链接生成可执行文件102
5.5 gdb调试程序103
5.5.1 gdb简介103
5.5.2 在程序中加入调试信息103
5.5.3 启动gdb103
5.5.4 在gdb中加载需要调试的程序104
5.5.5 在gdb中查看代码104
5.5.6 在程序中加入断点105
5.5.7 查看断点105
5.5.8 运行程序105
5.5.9 变量的查看106
5.6 程序调试实例107
5.6.1 编写一个程序107
5.6.2 编译文件108
5.6.3 程序的调试108
5.6.4 gdb帮助的使用111
5.7 gdb常用命令111
5.8 编译程序常见的错误与问题112
5.8.1 逻辑错误与语法错误113
5.8.2 C程序中的错误与异常113
5.8.3 编译中的警告提示113
5.8.4 找不到包含文件的错误114
5.8.5 错误地使用逗号114
5.8.6 括号不匹配错误114
5.8.7 小括号不匹配错误115
5.8.8 变量类型或结构体声明错误115
5.8.9 使用不存在的函数的错误115
5.8.10 大小写错误116
5.8.11 数据类型的错误116
5.8.12 赋值类型错误116
5.8.13 循环或判断语句中多加分号116
5.9 小结117
第6章 C语言基础118
6.1 C程序的基本概念118
6.1.1 C程序的基本结构118
6.1.2 C程序的一般格式119
6.1.3 C程序中的注释120
6.2 数据类型120
6.2.1 整型(int)121
6.2.2 浮点型(float)122
6.2.3 字符型(char)123
6.2.4 变量名124
6.2.5 字符NULL124
6.3 变量的赋值与输出124
6.3.1 变量的赋值125
6.3.2 printf函数输出变量125
6.3.3 scanf函数从键盘读入变量127
6.4 运算符128
6.4.1 算术运算符128
6.4.2 关系运算符130
6.4.3 逻辑运算符130
6.5 小结131
第7章 C程序的常用语句132
7.1 流程控制语句132
7.1.1 if条件语句132
7.1.2 if语句的嵌套134
7.1.3 switch选择执行语句136
7.1.4 for循环语句138
7.1.5 for循环的嵌套140
7.1.6 for循环应用实例:输出九九乘法口诀表141
7.1.7 while循环语句142
7.1.8 do while循环语句144
7.1.9 转移控制语句:continue145
7.1.10 转移控制语句:break146
7.1.11 转移控制语句:return146
7.2 流程控制语句实例147
7.2.1 三个数字的排序147
7.2.2 解一元二次方程149
7.3 两种特殊语句结构151
7.3.1 ?三元操作符151
7.3.2 块语句152
7.4 小结152
第四部分 指针与函数篇154
第8章 数组与指针154
8.1 数组的理解与操作154
8.1.1 什么是数组154
8.1.2 数组的定义与访问155
8.1.3 数组使用实例156
8.2 指针157
8.2.1 指针的理解157
8.2.2 指针操作符157
8.2.3 指针的定义与访问158
8.2.4 指针使用实例159
8.3 数组与指针160
8.3.1 数组与指针的关系160
8.3.2 指针的算术运算160
8.3.3 字符数组与字符串161
8.4 二维数组与多维数组162
8.4.1 二维数组的理解163
8.4.2 二维数组与指针164
8.5 实例165
8.5.1 学生成绩统计实例165
8.5.2 冒泡法排序实例166
8.5.3 统计字符串中字符168
8.5.4 小写字母转换成大写字母170
8.5.5 指针访问数组171
8.6 常见问题172
8.6.1 错误的写操作172
8.6.2 指针的错误赋值173
8.6.3 数组指针的越界错误174
8.7 小结175
第9章 函数176
9.1 函数的理解176
9.1.1 什么是函数176
9.1.2 系统函数(库函数)与用户自定义的函数177
9.1.3 函数的返回值178
9.1.4 无参函数179
9.1.5 有参函数180
9.1.6 函数参数实例180
9.2 自定义函数181
9.2.1 自定义函数的编写181
9.2.2 函数中调用函数183
9.2.3 函数的声明184
9.2.4 递归函数186
9.2.5 main函数的参数argc与argv187
9.3 函数与指针188
9.3.1 值调用与引用调用188
9.3.2 引用调用与指针189
9.3.3 指针参数简单实例190
9.3.4 自定义函数中指针使用实例191
9.3.5 数组作为参数192
9.3.6 数组作为函数参数实例194
9.4 返回值195
9.4.1 函数返回值的类型195
9.4.2 函数返回指针196
9.4.3 函数返回指针实例197
9.4.4 函数返回结果到参数198
9.5 库函数198
9.5.1 库函数的种类198
9.5.2 库函数包含文件199
9.5.3 头文件使用实例200
9.6 小结201
第10章 字符与字符串处理202
10.1 字符测试函数介绍202
10.1.1 数字或字母测试函数isalnum202
10.1.2 字母测试函数isalpha203
10.1.3 可打印字符测试函数isgraph204
10.1.4 大小写字母测试函数islower和isupper205
10.1.5 数字测试函数isxdigit206
10.1.6 符号测试函数ispunct207
10.1.7 其他字符测试函数208
10.2 字符测试函数综合实例208
10.2.1 统计字符串中各类字符的个数208
10.2.2 判断电话号码与姓名是否正确210
10.3 字符串转换212
10.3.1 C程序中的字符串212
10.3.2 字符串转换成浮点型函数atof213
10.3.3 字符串转换成整型函数atoi214
10.3.4 字符串转换成长整型函数atol215
10.3.5 将浮点型数转换成字符串函数ecvt216
10.3.6 字母的大小写转换函数tolower和toupper217
10.3.7 其他字符串转换函数218
10.4 字符串比较218
10.4.1 字符串比较函数bcmp219
10.4.2 字符串大小比较函数memcmp220
10.4.3 忽略大小写比较字符串函数strncasecmp221
10.5 字符串复制222
10.5.1 字符串复制函数bcopy222
10.5.2 字符串复制函数memccpy223
10.5.3 字符串复制函数strcpy223
10.5.4 字符串复制函数strncpy224
10.6 字符串的清理与填充225
10.6.1 字符串清理函数bzero225
10.6.2 字符串填充函数memset226
10.7 字符串查找227
10.7.1 字符查找函数index与rindex227
10.7.2 字符查找函数memchr228
10.7.3 字符查找函数strchr与strrchr228
10.8 字符串的连接与分割229
10.8.1 字符串连接函数strcat229
10.8.2 字符串分割函数strtok230
10.9 其他字符串函数231
10.9.1 字符串长度函数strlen231
10.9.2 允许出现字符查找函数strspn232
10.9.3 不允许出现字符查找函数strcspn233
10.10 小结234
第11章 结构体235
11.1 结构体的操作235
11.1.1 结构体的理解235
11.1.2 结构体的定义235
11.1.3 结构体的访问237
11.1.4 结构体数组238
11.1.5 结构体使用实例239
11.2 结构体与指针241
11.2.1 结构体指针的定义241
11.2.2 结构体指针的访问242
11.2.3 结构体作为函数的参数244
11.2.4 结构体指针作为函数的参数245
11.2.5 结构体作为函数的返回值247
11.2.6 结构体指针作为函数的返回值248
11.3 结构体实例250
11.3.1 程序的需求分析250
11.3.2 程序中的函数251
11.3.3 程序中的结构体与全局变量251
11.3.4 头文件和函数声明252
11.3.5 定义结构体和全局变量252
11.3.6 显示学生信息的函数252
11.3.7 程序的选择菜单253
11.3.8 学生信息输入函数254
11.3.9 按姓名查找函数255
11.3.10 删除学生函数255
11.3.11 按年龄查找函数256
11.3.12 按身高查找函数257
11.3.13 按性别查找函数257
11.3.14 程序的主函数258
11.3.15 程序的运行和调试259
11.4 小结261
第12章 时间函数262
12.1 常用时间函数262
12.1.1 返回时间函数time262
12.1.2 取当前时间函数gmtime263
12.1.3 字符串格式时间函数ctime265
12.1.4 字符串格式时间函数asctime266
12.1.5 取得当地时间函数localtime267
12.1.6 将时间转换成秒数函数mktime268
12.1.7 取得当前的时间函数gettimeofday269
12.1.8 设置当前时间函数settimeofday270
12.2 时间函数使用实例271
12.2.1 运行程序所需要的时间272
12.2.2 两次输入之间的时间间隔272
12.2.3 设置系统时间273
12.3 小结275
第五部分 文件与目录篇278
第13章 目录与文件278
13.1 文件操作的权限278
13.2 错误处理与错误号279
13.2.1 错误定义的理解279
13.2.2 用错误常数显示错误信息280
13.2.3 用错误序号显示错误信息281
13.3 创建与删除目录282
13.3.1 创建目录函数mkdir282
13.3.2 删除目录函数rmdir284
13.4 文件的创建与删除285
13.4.1 创建文件函数creat285
13.4.2 删除文件函数remove286
13.4.3 建立临时文件函数mkstemp288
13.5 文件的打开与关闭289
13.5.1 打开文件函数open289
13.5.2 文件打开方式的设置290
13.5.3 打开文件的权限290
13.5.4 文件打开实例291
13.5.5 关闭文件函数close292
13.6 文件读写294
13.6.1 在文件中写字符串函数write294
13.6.2 读取文件函数read296
13.6.3 文件读写位置的移动297
13.6.4 将缓冲区数据写入到磁盘函数sync299
13.6.5 将缓冲区数据写入到磁盘函数fsync300
13.7 文件锁定302
13.7.1 文件锁定的理解302
13.7.2 文件锁定函数flock302
13.7.3 文件锁定函数fcntl304
13.7.4 文件锁定函数fcntl使用实例306
13.8 文件的移动与复制307
13.8.1 文件的移动函数rename307
13.8.2 rename函数使用实例308
13.8.3 文件复制实例309
13.9 文件实例:电话本程序311
13.9.1 程序功能分析311
13.9.2 程序的函数311
13.9.3 包含文件312
13.9.4 数据的定义312
13.9.5 菜单函数312
13.9.6 显示电话信息函数314
13.9.7 添加电话号码函数314
13.9.8 按姓名查找函数314
13.9.9 删除电话号码函数315
13.9.10 保存到文件函数316
13.9.11 从文件导入信息函数317
13.9.12 主函数317
13.9.13 程序的运行319
13.10 小结320
第14章 文件I/O321
14.1 文件的打开与关闭321
14.1.1 文件打开函数fopen321
14.1.2 文件打开函数fdopen323
14.1.3 打开文件函数freopen324
14.1.4 关闭文件函数fclose325
14.2 文件的读写326
14.2.1 字符写入函数putc与fputc326
14.2.2 向文件中写入字符串函数fputs328
14.2.3 数据写入函数fwrite329
14.3 小结330
第六部分 网络编程篇332
第15章 网络编程332
15.1 网络编程的基本概念332
15.1.1 IP地址332
15.1.2 端口332
15.1.3 域名333
15.1.4 TCP与UDP333
15.2 套接字333
15.2.1 什么是套接字334
15.2.2 套接字相关的数据类型334
15.2.3 套接字类型335
15.3 域名与IP地址335
15.3.1 用域名取得主机的IP地址335
15.3.2 用IP地址返回域名337
15.4 网络协议338
15.4.1 由协议名取得协议数据339
15.4.2 由协议编号取得协议信息340
15.4.3 取得系统支持的所有协议341
15.5 网络服务343
15.5.1 取得系统支持的网络服务343
15.5.2 用名称取得系统所支持的服务344
15.5.3 由端口取得服务名称346
15.6 网络IP地址的转换347
15.6.1 将网络地址转换成长整型348
15.6.2 将长整型IP地址转换成网络地址348
15.6.3 主机字符顺序与网络字符顺序的转换349
15.7 错误处理351
15.7.1 herror函数显示错误351
15.7.2 捕获错误编号351
15.8 小结352
第16章 无连接的套接字通信353
16.1 socket套接字353
16.1.1 建立socket353
16.1.2 取得socket状态355
16.1.3 设置socket状态357
16.2 无连接的套接字通信358
16.2.1 工作流程358
16.2.1 信息发送函数sendto359
16.2.2 信息接收函数recvfrom360
16.3 无连接的套接字通信实例361
16.3.1 无连接套接字通信客户端361
16.3.2 无连接套接字通信服务器362
16.3.3 测试UDP通信程序364
16.4 小结365
第17章 面向连接的套接字通信366
17.1 面向连接的套接字通信工作流程366
17.2 绑定端口367
17.2.1 绑定端口函数bind367
17.2.2 bind函数绑定端口实例368
17.3 监听与连接369
17.3.1 等待监听函数listen369
17.3.2 listen函数使用实例370
17.3.3 接受连接函数accept371
17.3.4 accept函数使用实例372
17.3.5 请求连接函数connet374
17.3.6 connet函数使用实例375
17.4 数据的发送与接收376
17.4.1 数据接收函数recv376
17.4.2 recv函数使用实例377
17.4.3 信息发送函数send379
17.4.4 数据传输函数write与read379
17.4.5 read函数接收数据实例380
17.5 面向连接套接字通信实例382
17.5.1 服务器程序382
17.5.2 客户端程序385
17.5.3 实例程序测试386
17.6 小结387
第七部分 图形界面开发篇390
第18章 Linux图形界面开发基础390
18.1 X Window系统简介390
18.1.1 X Window的历史390
18.1.2 X Window体系结构390
18.2 Linux桌面环境391
18.2.1 KDE391
18.2.2 GNOME392
18.3 Linux下的图形程序开发环境393
18.3.1 GTK+简介393
18.3.2 yum安装GTK393
18.3.3 用软件包管理器安装GTK394
18.4 编写一个简单的图形界面程序395
18.4.1 编写程序代码395
18.4.2 编译程序396
18.4.3 程序的运行397
18.5 常见问题397
18.5.1 找不到gtk.h包含文件的错误397
18.5.2 pkg-config参数的作用397
18.6 小结398
第19章 图形界面编程399
19.1 窗口399
19.1.1 最简单的窗口程序399
19.1.2 窗口的构建过程399
19.1.3 新建窗口函数gtk_window_new400
19.1.4 设置窗口的标题401
19.1.5 设置窗口的大小与位置402
19.2 标签403
19.2.1 建立一个标签403
19.2.2 将标签添加到窗口中403
19.2.3 设置与获取标签的文本404
19.2.4 实例:用标签显示当前时间406
19.3 按钮407
19.3.1 添加一个按钮407
19.3.2 取得与设置按钮的标签408
19.4 文本框410
19.4.1 建立文本框410
19.4.2 获取与设置文本框数据411
19.5 小结412
第20章 界面布局413
20.1 表格413
20.1.1 表格的建立413
20.1.2 表格中添加元件414
20.1.3 表格使用实例415
20.1.4 单元格的合并416
20.1.5 表格中添加表格418
20.2 垂直框419
20.2.1 添加垂直框419
20.2.2 垂直框中添加元件420
20.3 水平窗格422
20.3.1 新建一个窗格422
20.3.2 窗格中添加元件423
20.4 小结425
第21章 信号与事件426
21.1 信号426
21.1.1 添加信号426
21.1.2 事件函数的参数427
21.1.3 在函数中使用全局变量429
21.2 GTK事件430
21.3 实例:加法计算器430
21.3.1 程序功能的分析430
21.3.2 程序的实现431
21.4 实例:计算器433
21.4.1 程序的功能分析433
21.4.2 程序的功能模块434
21.4.3 包含头文件与定义全局变量434
21.4.4 单击按钮输入函数435
21.4.5 加法运算函数435
21.4.6 减法运算函数436
21.4.7 乘法运算函数437
21.4.8 除法运算函数437
21.4.9 输入小数点函数438
21.4.10 清除数据函数438
21.4.11 界面构建函数438
21.4.12 添加事件函数441
21.4.13 主函数442
21.4.14 程序的编译和运行442
21.5 小结443
第22章 Glade设计程序界面444
22.1 Glade简介444
22.2 使用Glade设计程序界面444
22.2.1 启动Glade444
22.2.2 打开Glade的工作面板444
22.3 Glade设计窗口445
22.3.1 新建一个项目446
22.3.2 新建一个窗口446
22.3.3 设置窗口的标题和名称446
22.3.4 设置窗口的大小447
22.3.5 设置程序的图标448
22.4 添加表格448
22.4.1 窗体中添加表格448
22.4.2 插入行和列449
22.5 添加标签449
22.5.1 表格中添加标签449
22.5.2 设置标签的名称和内容450
22.5.3 设置标签的填充边界450
22.5.4 设置标签的倾斜角度451
22.6 添加文本框452
22.6.1 表格中添加文本框452
22.6.2 设置文本框452
22.6.3 将文本框设置成密码文本框453
22.7 添加按钮454
22.7.1 添加按钮454
22.7.2 按钮的属性设置454
22.8 添加信号与事件455
22.8.1 在Glade中添加信号455
22.8.2 信号函数的编写456
22.9 程序的编译457
22.10 小结457
第23章 Qt编程入门458
23.1 Qt简介458
23.2 Qt的安装460
23.2.1 升级的方式安装Qt460
23.2.2 下载软件包的方式安装Qt461
23.3 第一个Qt程序463
23.3.1 编写Qt源文件463
23.3.2 建立工程文件464
23.3.3 编译和运行程序464
23.3.4 Qt程序的结构466
23.4 窗体467
23.4.1 运行一个窗体程序的参数467
23.4.2 窗体参数使用实例468
23.5 小结469
第24章 使用Qt Designer开发Qt程序470
24.1 Qt Designer建立程序470
24.1.1 用Qt Designer建立一个工程470
24.1.2 建立一个窗口472
24.1.3 建立主函数475
24.1.4 编译和运行程序476
24.2 按钮477
24.2.1 窗口中添加按钮477
24.2.2 设置按钮478
24.3 文本框481
24.3.1 窗口中添加文本框481
24.3.2 设置文本框482
24.4 信号484
24.4.1 建立工程和窗口484
24.4.2 设置信号486
24.4.3 建立程序的主函数487
24.4.4 编译和运行程序488
24.5 信号与自定义信号函数489
24.5.1 建立工程和窗口489
24.5.2 建立事件函数490
24.5.3 编译和运行程序492
24.6 信号实例:显示计算机时间493
24.6.1 建立窗口493
24.6.2 设置按钮的信号494
24.6.3 编译和运行程序495
24.7 菜单和工具栏496
24.7.1 “Main Window”建立窗口496
24.7.2 编译和运行程序499
24.8 小结500