图书介绍

从零开始学Linux编程PDF|Epub|txt|kindle电子书版本网盘下载

从零开始学Linux编程
  • 罗利民,王浩编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121170263
  • 出版时间:2012
  • 标注页数:327页
  • 文件大小:127MB
  • 文件页数:342页
  • 主题词:Linux操作系统-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

从零开始学Linux编程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1篇 Linux系统知识1

第1章 认识Linux系统1

1.1 Linux发行版的介绍1

1.1.1 Red Hat Linux1

1.1.2 Debian Linux1

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分区中引导Linux13

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查看目录命令pwd28

2.1.2打开目录命令cd28

2.1.3查看目录命令ls29

2.1.4建立文件命令touch30

2.1.5建立与删除文件夹命令mkdir、rmdir30

2.1.6文件复制命令cp31

2.1.7文件移动和更名命令mv32

2.1.8删除文件与目录命令rm32

2.1.9创建链接命令ln33

2.1.10查看文件信息命令we33

2.1.11文件查看命令cat34

2.1.12查看文件视图命令head与tail34

2.1.13文件权限设置命令chmod35

2.1.14查找文件命令find36

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带菜单的GVIM48

3.3.1文件的新建与保存48

3.3.2查找与替换49

3.4图形化的gedit50

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启动gdb65

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字符NULL86

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转移控制语句:continue105

6.1.10转移控制语句:break106

6.1.11转移控制语句:return107

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与argv145

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与UDP270

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建立socket287

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

热门推荐