当前位置:首页 > 工业技术
从零开始学Linux编程
从零开始学Linux编程

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

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:罗利民,王浩编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121170263
  • 页数:327 页
图书介绍:本书共分为五篇:第一篇是Linux系统知识,讲述Linux系统的安装和使用、常用命令、文本编辑器及程序的编译与调试;第二篇是C语言基本知识,讲述C语言的基本语法、指针、结构体、系统库函数等知识;第三篇是Linux系统编程,讲述Shell编程和文件处理方法;第四篇是Linux网络编程,讲解TCP和UDP网络编程的知识;第五篇是LinuxC项目实战,通过案例的学习,既复习了前面介绍的知识,也了解了项目实践的流程和技巧,从而增加读者的编辑经验。
《从零开始学Linux编程》目录

第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

相关图书
作者其它书籍
返回顶部