从零开始学Linux编程PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:罗利民,王浩编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2012
- ISBN:9787121170263
- 页数:327 页
第1篇 Linux系统知识 1
第1章 认识Linux系统 1
1.1 Linux发行版的介绍 1
1.1.1 Red Hat Linux 1
1.1.2 Debian Linux 1
1.2 Linux的安装 2
1.2.1 Linux的分区格式 2
1.2.2在Windows系统中划分Linux分区 2
1.2.3 Red Hat Linux 9.0的安装 4
1.2.4 GRUB在Windows分区中引导Linux 13
1.3 VMware虚拟机安装Linux系统 15
1.3.1 VMware软件安装 15
1.3.2新建虚拟计算机 17
1.3.3 VMware的使用 21
1.3.4在VMware虚拟机中安装Linux系统 23
1.4第一个C程序 25
1.4.1在Linux中编写C程序代码 25
1.4.2编译程序 26
1.5小结 27
1.6小测试 27
第2章 常用的Linux操作命令 28
2.1目录与文件命令 28
2.1.1查看目录命令pwd 28
2.1.2打开目录命令cd 28
2.1.3查看目录命令ls 29
2.1.4建立文件命令touch 30
2.1.5建立与删除文件夹命令mkdir、rmdir 30
2.1.6文件复制命令cp 31
2.1.7文件移动和更名命令mv 32
2.1.8删除文件与目录命令rm 32
2.1.9创建链接命令ln 33
2.1.10查看文件信息命令we 33
2.1.11文件查看命令cat 34
2.1.12查看文件视图命令head与tail 34
2.1.13文件权限设置命令chmod 35
2.1.14查找文件命令find 36
2.2 man系统帮助命令 36
2.2.1 man手册的使用方法 37
2.2.2帮助文档的结构 37
2.3 info手册 38
2.4小结 39
2.5小测试 39
第3章 文本编辑器的使用 40
3.1 VIM的使用 40
3.1.1 VIM的启动 40
3.1.2在桌面上创建VIM启动器 40
3.1.3 VIM的工作模式 41
3.1.4保存与打开文件 42
3.1.5移动光标 43
3.1.6常用操作 43
3.1.7选项设置 45
3.1.8调用shell命令 46
3.2 VIM使用实例 46
3.2.1字符的插入与删除 46
3.2.2字符的查找与替换 47
3.3带菜单的GVIM 48
3.3.1文件的新建与保存 48
3.3.2查找与替换 49
3.4图形化的gedit 50
3.4.1 gedit的启动与打开文件 50
3.4.2 gedit编辑文件 50
3.4.3 gedit打印文件 51
3.4.4 gedit的首选项 52
3.5小结 54
3.6小测试 55
第4章 编译与调试 56
4.1编译的概念和理解 56
4.1.1程序编译的过程 56
4.1.2编译器 57
4.2 gcc编译器 57
4.2.1 gcc编译器简介 57
4.2.2 gcc对源程序扩展名的支持 57
4.3 C程序的编译 58
4.3.1编写第一个C程序 58
4.3.2用gcc编译程序 59
4.3.3查看gcc的参数 59
4.3.4设置输出的文件 60
4.3.5查看编译过程 61
4.3.6设置编译的语言 61
4.4编译过程的控制 62
4.4.1编译过程简介 62
4.4.2控制预处理过程 63
4.4.3生成汇编代码 63
4.4.4生成目标代码 64
4.4.5链接生成可执行文件 64
4.5 gdb调试程序 65
4.5.1 gdb简介 65
4.5.2在程序中加入调试信息 65
4.5.3启动gdb 65
4.5.4在gdb中加载需要调试的程序 66
4.5.5在gdb中查看代码 66
4.5.6在程序中加入断点 66
4.5.7查看断点 67
4.5.8运行程序 67
4.5.9查看变量 68
4.6程序调试实例 69
4.6.1编写一个程序 69
4.6.2编译文件 70
4.6.3程序调试 70
4.6.4 gdb帮助的使用 72
4.7 gdb常用命令 72
4.8编译程序常见的错误与问题 74
4.8.1逻辑错误与语法错误 74
4.8.2 C程序中的错误与异常 74
4.8.3编译中的警告提示 74
4.8.4找不到包含文件的错误 75
4.8.5错误地使用逗号 75
4.8.6括号不匹配错误 75
4.8.7小括号不匹配错误 76
4.8.8变量类型或结构体声明错误 76
4.8.9使用不存在的函数错误 76
4.8.10大小写错误 76
4.8.11数据类型错误 77
4.8.12赋值类型错误 77
4.8.13循环或判断语句中多加分号 77
4.9小结 78
4.10小测试 78
第2篇 C语言基本知识 79
第5章 C语言基础 79
5.1 C程序的基本概念 79
5.1.1 C程序的基本结构 79
5.1.2 C程序的一般格式 80
5.1.3 C程序中的注释 81
5.2数据类型 82
5.2.1整型(int) 82
5.2.2浮点型(looat) 83
5.2.3字符型(char) 84
5.2.4变量名 85
5.2.5字符NULL 86
5.3变量赋值与输出 86
5.3.1变量赋值 86
5.3.2 printf函数输出变量 86
5.3.3 scanf函数从键盘读入变量 88
5.4运算符 89
5.4.1算术运算符 89
5.4.2关系运算符 91
5.4.3逻辑运算符 91
5.5小结 92
5.6小测试 93
第6章 C程序的常用语句 94
6.1流程控制语句 94
6.1.1 if条件语句 94
6.1.2 if语句嵌套 96
6.1.3 switch选择执行语句 98
6.1.4 for循环语句 99
6.1.5 for循环嵌套 101
6.1.6 for循环应用实例:输出九九乘法口诀表 102
6.1.7 while循环语句 103
6.1.8 do while循环语句 104
6.1.9转移控制语句:continue 105
6.1.10转移控制语句:break 106
6.1.11转移控制语句:return 107
6.2流程控制语句实例 107
6.2.1三个数字的排序 108
6.2.2解一元二次方程 109
6.3两种特殊语句结构 111
6.3.1三元操作符 111
6.3.2块语句 112
6.4小结 113
6.5小测试 113
第7章 数组与指针 114
7.1数组的理解与操作 114
7.1.1什么是数组 114
7.1.2数组的定义与访问 115
7.1.3数组使用实例 116
7.2指针 117
7.2.1对指针的理解 117
7.2.2指针操作符 117
7.2.3指针的定义与访问 118
7.2.4指针使用实例 119
7.3数组与指针 120
7.3.1数组与指针的关系 120
7.3.2指针的算术运算 120
7.3.3字符数组与字符串 121
7.4二维数组与多维数组 122
7.4.1对二维数组的理解 122
7.4.2二维数组与指针 123
7.5实例 125
7.5.1学生成绩统计实例 125
7.5.2冒泡法排序实例 126
7.5.3统计字符串中的字符 127
7.5.4小写字母转换成大写字母 129
7.5.5用指针访问数组 130
7.6常见问题 131
7.6.1错误的写操作 131
7.6.2指针的错误赋值 132
7.6.3数组指针的越界错误 133
7.7小结 134
7.8小测试 134
第8章 函数 135
8.1对函数的理解 135
8.1.1什么是函数 135
8.1.2系统函数(库函数)与用户自定义函数 136
8.1.3函数的返回值 137
8.1.4无参函数 138
8.1.5有参函数 138
8.1.6函数参数实例 138
8.2自定义函数 140
8.2.1自定义函数的编写 140
8.2.2函数中调用函数 141
8.2.3函数声明 143
8.2.4递归函数 144
8.2.5 main函数的参数argc与argv 145
8.3函数与指针 145
8.3.1值调用与引用调用 146
8.3.2引用调用与指针 146
8.3.3指针参数实例 147
8.3.4自定义函数中指针使用实例 148
8.3.5数组作为参数 149
8.3.6数组作为函数参数实例 150
8.4返回值 151
8.4.1函数返回值的类型 151
8.4.2函数返回指针 152
8.4.3函数返回指针实例 153
8.4.4函数返回结果到参数 154
8.5库函数 154
8.5.1库函数的种类 154
8.5.2库函数包含文件 155
8.5.3头文件使用实例 156
8.6小结 156
8.7小测试 156
第9章 字符与字符串处理 158
9.1字符测试函数介绍 158
9.1.1数字或字母测试函数isalnum() 158
9.1.2字母测试函数isalpha() 159
9.1.3可打印字符测试函数isgraph() 160
9.1.4大小写字母测试函数islower()和isupper() 160
9.1.5数字测试函数isdigit() 161
9.1.6符号测试函数ispunct() 162
9.1.7其他字符测试函数 163
9.2字符测试函数综合实例 163
9.2.1统计字符串中各类字符的个数 163
9.2.2判断电话号码与姓名是否正确 165
9.3字符串转换 167
9.3.1 C程序中的字符串 167
9.3.2字符串转换成浮点型函数atof() 167
9.3.3字符串转换成整型函数atoi() 168
9.3.4字符串转换成长整型函数atol() 169
9.3.5将浮点型数转换成字符串函数ecvt() 170
9.3.6字母的大小写转换函数tolower()和toupper() 170
9.3.7其他字符串转换函数 171
9.4字符串比较 172
9.4.1字符串比较函数bcmp() 172
9.4.2字符串大小比较函数memcmp() 173
9.4.3忽略大小写比较字符串函数strncasecmp() 174
9.5字符串复制 175
9.5.1字符串复制函数bcopy() 175
9.5.2字符串复制函数memccpy() 175
9.5.3字符串复制函数strcpy() 176
9.5.4字符串复制函数stmcpy() 177
9.6字符串的清理与填充 177
9.6.1字符串清理函数bzero() 177
9.6.2字符串填充函数memset() 178
9.7字符串查找 179
9.7.1字符串查找函数index()与rindex() 179
9.7.2字符串查找函数memchr() 180
9.7.3字符串查找函数strchr()与strrchr() 180
9.8字符串的连接与分割 181
9.8.1字符串连接函数strcat() 181
9.8.2字符串分割函数strtok() 182
9.9其他字符串函数 182
9.9.1字符串长度函数strlen() 183
9.9.2允许出现字符查找函数strspn() 183
9.9.3不允许出现字符查找函数strcspn() 184
9.10小结 185
9.11小测试 185
第10章 结构体 186
10.1结构体操作 186
10.1.1对结构体的理解 186
10.1.2结构体的定义 186
10.1.3结构体的访问 188
10.1.4结构体数组 189
10.1.5结构体使用实例 190
10.2结构体与指针 191
10.2.1结构体指针的定义 192
10.2.2结构体指针的访问 192
10.2.3结构体作为函数的参数 193
10.2.4结构体指针作为函数的参数 195
10.2.5结构体作为函数的返回值 196
10.2.6结构体指针作为函数的返回值 197
10.3小结 199
10.4小测试 199
第11章 时间函数 200
11.1常用的时间函数 200
11.1.1返回时间函数 200
11.1.2取当前时间函数 201
11.1.3字符串格式时间函数 203
11.1.4另一种字符串格式时间函数 203
11.1.5取得当地时间函数 204
11.1.6将时间转换成秒数函数 205
11.1.7取得当前时间函数 206
11.1.8设置当前时间函数 207
11.2时间函数使用实例 208
11.2.1运行程序所需要的时间 208
11.2.2两次输入之间的时间间隔 209
11.2.3设置系统时间 210
11.3小结 211
11.4小测试 211
第12章 C语言的编程规范 212
12.1命名规范 212
12.2格式规范 214
12.3函数规范 215
12.4其他规范 216
第3篇 Linux系统编程 218
第13章 Shell编程 218
13.1 bash的使用 218
13.1.1 bash的内部命令与外部命令 218
13.1.2命令补齐功能 218
13.1.3命令通配符 219
13.1.4使用命令的历史记录 219
13.1.5命令别名 220
13.2 Shell程序的基本结构 220
13.3局部变量 221
13.4环境变量 221
13.4.1查看环境变量 222
13.4.2访问环境变量 222
13.4.3定义环境变量 222
13.4.4在系统配置文件中定义环境变量 222
13.4.5位置变量 223
13.5 Shell运算符 224
13.5.1变量赋值 224
13.5.2算术运算符 224
13.6输入和输出 225
13.6.1 echo命令输出结果 226
13.6.2 read命令读取信息 227
13.6.3文件重定向 228
13.7引号的使用方法 229
13.7.1双引号 229
13.7.2单引号 230
13.7.3反引号 230
13.7.4反斜线 230
13.8测试语句 230
13.8.1文件状态测试 231
13.8.2数值测试 231
13.8.3字符串测试 232
13.8.4逻辑测试 233
13.9流程控制结构 233
13.9.1 if语句 233
13.9.2 if语句应用实例 234
13.9.3 for语句 236
13.9.4 for循环应用实例 236
13.9.5 until循环 238
13.10 Shell编程实例 238
13.10.1程序功能 239
13.10.2编写程序代码 239
13.11小结 240
13.12小测试 240
第14章 目录与文件 242
14.1文件操作权限 242
14.2错误处理与错误号 243
14.2.1对错误定义的理解 243
14.2.2用错误常数显示错误信息 244
14.2.3用错误号显示错误信息 245
14.3创建与删除目录 245
14.3.1创建目录函数mkdir() 246
14.3.2删除目录函数rmdir() 247
14.4文件的创建与删除 248
14.4.1创建文件函数creat() 248
14.4.2删除文件函数remove() 249
14.4.3建立临时文件函数mkstemp() 250
14.5文件的打开与关闭 252
14.5.1打开文件函数open() 252
14.5.2文件打开方式的设置 252
14.5.3打开文件的权限 253
14.5.4文件打开实例 253
14.5.5关闭文件函数close() 254
14.6文件读写 256
14.6.1写入文件函数write() 256
14.6.2读取文件函数read() 257
14.6.3文件读写位置的移动 258
14.6.4将缓冲区数据写入磁盘函数sync() 260
14.6.5将缓冲区数据写入磁盘函数fsync() 261
14.7文件锁定 262
14.7.1对文件锁定的理解 263
14.7.2文件锁定函数flock() 263
14.8文件的移动与复制 265
14.8.1文件移动函数rename() 265
14.8.2 rename()函数使用实例 265
14.8.3文件复制实例 266
14.9小结 268
14.10小测试 268
第4篇 Linux网络编程 269
第15章 网络编程 269
15.1网络编程的基本概念 269
15.1.1 IP地址 269
15.1.2端口 270
15.1.3域名 270
15.1.4 TCP与UDP 270
15.2套接字 271
15.2.1什么是套接字 271
15.2.2套接字相关的数据类型 271
15.2.3套接字类型 272
15.3域名与IP地址 272
15.3.1用域名取得主机的IP地址 272
15.3.2用IP地址返回域名 274
15.4网络协议 275
15.4.1由协议名称取得协议数据 275
15.4.2由协议编号取得协议信息 276
15.4.3取得系统支持的所有协议 277
15.5网络服务 278
15.5.1取得系统支持的网络服务 278
15.5.2用名称取得系统支持的服务 279
15.5.3由端口取得服务名称 281
15.6网络IP地址的转换 282
15.6.1将网络地址转换成长整型数 282
15.6.2将长整型IP地址转换成网络地址 283
15.6.3主机字符顺序与网络字符顺序的转换 284
15.7错误处理 285
15.7.1 herror()函数显示错误 285
15.7.2捕获错误编号 285
15.8小结 286
15.9小测试 286
第16章 无连接的套接字通信 287
16.1 socket套接字 287
16.1.1建立socket 287
16.1.2取得socket状态 289
16.1.3设置socket状态 290
16.2面向无连接的套接字通信 291
16.2.1工作流程 292
16.2.2信息发送函数sendto() 292
16.2.3信息接收函数recvfrom() 293
16.3无连接的套接字通信实例 294
16.3.1无连接的套接字通信客户端 294
16.3.2无连接的套接字通信服务器 295
16.3.3测试UDP通信程序 297
16.4小结 298
16.5小测试 298
第17章 面向连接的套接字通信 299
17.1面向连接的套接字通信工作流程 299
17.2绑定端口 299
17.2.1绑定端口函数bind() 299
17.2.2使用bind()函数绑定端口实例 301
17.3监听与连接 302
17.3.1等待监听函数listen() 302
17.3.2 listen()函数使用实例 303
17.3.3接受连接函数accept() 304
17.3.4 accept()函数使用实例 304
17.3.5请求连接函数connect() 306
17.3.6 connect()函数使用实例 307
17.4数据的发送与接收 308
17.4.1数据接收函数recv() 308
17.4.2 recv()函数使用实例 309
17.4.3数据发送函数send() 310
17.4.4数据传输函数write()与read() 311
17.4.5 read()函数接收数据实例 311
17.5面向连接的套接字通信实例 313
17.5.1服务器程序 313
17.5.2客户端程序 316
17.5.3实例程序测试 317
17.6小结 318
17.7小测试 318
第5篇 Linux C项目实战 319
第18章 电话本项目的开发 319
18.1程序功能分析 319
18.2程序的函数 319
18.3包含文件 320
18.4数据的定义 320
18.5菜单函数 321
18.6显示电话信息函数 322
18.7添加电话号码函数 322
18.8按姓名查找函数 322
18.9删除电话号码函数 323
18.10保存到文件函数 324
18.11从文件导入信息函数 324
18.12主函数 325
18.13程序的运行 326
18.14小结 327
- 《罗京 现在开始播音》刘卓著 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《编程超有趣 奇妙Python轻松学 第1辑》HelloCode人工智能国际研究组 2018
- 《我的第一套编程启蒙绘本 看事件 开始了》编程猫教研团队编绘 2019
- 《STEM教育丛书 麦昆机器人和Micro:bit图形化编程》张弛责任编辑;(中国)陈宝杰,沙靓雯 2019
- 《ROS机器人编程与SLAM算法解析指南》陶满礼 2020
- 《我的第一套编程启蒙绘本 123 序列来啦》编程猫教研团队编绘 2019
- 《从零开始学温敷》蔡仁妤,艾利著 2019
- 《从零开始学水墨画 水墨画家的调墨、运笔秘诀》殷雨涵译;(日)日本株式会社日贸出版社 2018
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017