当前位置:首页 > 工业技术
Linux C程序设计基础
Linux C程序设计基础

Linux C程序设计基础PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:秦攀科主编
  • 出 版 社:北京:北京交通大学出版社
  • 出版年份:2011
  • ISBN:9787512105492
  • 页数:381 页
图书介绍:本书从从Linux系统的基础入手,在简单介绍系统的基本操作与配置的基础上详细讲解了Linux下C语言程序设计与开发的方法。本教材最突出的特色是以练促学,每一个语法知识点都提供了丰富的实例代码,在编写代码的过程中力求所有的实例代码都来源于实际开发的项目当中,使得读者可以接触到第一线的源码获取实际的开发经验。
《Linux C程序设计基础》目录

第1章 Linux系统入门 1

1.1 Linux简介 1

1.1.1 引言 1

1.1.2 操作系统 1

1.1.3 UNIX操作系统 3

1.1.4 Linux操作系统 3

1.2 Linux常用命令 7

1.2.1 登录和退出Linux系统 7

1.2.2 Linux常用命令 8

1.3 shell脚本基础 22

1.3.1 shell简介 22

1.3.2 shell脚本 23

习题 32

第2章 Linux C程序设计简介 34

2.1 C语言概述 35

2.2 C程序设计与Linux C程序设计 37

2.2.1 C语言程序的组成 37

2.2.2 Linux C程序设计的几个关键问题 44

2.3 Linux C程序的编辑、编译、连接与运行 45

2.3.1 一个简单的Linux C程序 45

2.3.2 Linux C程序的编辑环境 46

2.3.3 Linux C程序的编译、连接与运行 49

2.3.4 Linux C库文件简介 51

2.4 make工具与makefile简介 56

2.4.1 多文件组成的程序 56

2.4.2 make工具与makefile 58

2.5 Linux C程序的调试 68

2.5.1 引言 68

2.5.2 gdb简介 69

习题 71

第3章 数据类型、运算符和表达式 72

3.1 Linux C数据类型 72

3.2 常量与变量 73

3.2.1 常量 73

3.2.2 变量 74

3.2.3 注意事项 75

3.3 整型数据 76

3.3.1 整型常量 76

3.3.2 整型变量 76

3.4 实型数据 78

3.4.1 实型常量 78

3.4.2 实型变量 78

3.5 字符型数据 79

3.5.1 字符常量 79

3.5.2 字符型变量 80

3.5.3 字符串常量 82

3.6 符号常量 83

3.7 类型转换 84

3.7.1 类型的自动转换 84

3.7.2 强制的类型转换 87

3.8 运算符与表达式 87

3.8.1 算数运算符和算数表达式 89

3.8.2 逻辑运算符与逻辑表达式 92

3.8.3 赋值运算符与赋值表达式 95

3.8.4 逗号运算符和逗号表达式 97

3.8.5 条件运算符和条件表达式 98

3.8.6 位运算符与位运算 98

3.8.7 动态内存分配/撤销运算符和表达式 104

3.8.8 其他运算符和表达式 105

3.8.9 运算符总结 106

习题 107

第4章 程序设计基本结构——顺序、选择与循环 109

4.1 顺序结构程序设计 110

4.1.1 语句 110

4.1.2 库函数的使用 111

4.1.3 顺序结构程序设计 120

4.2 选择结构程序设计 122

4.2.1 if语句 123

4.2.2 switch语句 126

4.2.3 选择结构程序设计举例 129

4.3 循环结构程序设计 131

4.3.1 循环结构程序设计 131

4.3.2 实现循环的语句 131

4.3.3 break和continue语句 137

4.3.4 循环的嵌套 140

4.3.5 几种循环语句的比较 141

4.3.6 循环结构程序设计举例 142

习题 145

第5章 数组与指针 147

5.1 数组 147

5.1.1 数组的基本概念 147

5.1.2 数组应用实例 150

5.1.3 多维数组 155

5.2 指针 160

5.2.1 指针的基本概念 160

5.2.2 指针类型的参数和返回值 164

5.2.3 指针与数组 165

5.2.4 指向指针的指针与指针数组 168

5.2.5 指向数组的指针与多维数组 170

5.2.6 函数类型和函数指针类型 171

5.2.7 内存分配方法与策略 172

习题 174

第6章 函数 176

6.1 概述 176

6.2 函数定义与声明 178

6.3 函数的参数与返回值 180

6.3.1 函数的参数 180

6.3.2 函数的返回值 183

6.4 函数的调用 184

6.4.1 函数的一般调用形式 184

6.4.2 函数的嵌套调用 187

6.4.3 函数的递归调用 188

6.5 变量的作用范围与存储类型 191

6.5.1 变量的作用范围 191

6.5.2 变量的存储类别 193

6.6 常用的Linux C函数介绍 196

6.6.1 终端控制与环境变量设置函数 196

6.6.2 日期时间函数 198

6.6.3 字符串处理函数 200

6.6.4 常用数学函数 202

6.6.5 数据结构及算法函数 205

习题 211

第7章 结构体 213

7.1 复合类型与结构体 213

7.2 数据抽象 216

7.3 数据类型标志 220

7.4 嵌套结构体 221

习题 222

第8章 预处理命令 225

8.1 宏定义 225

8.2 文件包含 229

8.3 条件编译 230

习题 233

第9章 Linux文件系统与文件操作 236

9.1 Linux文件系统简介 236

9.1.1 Linux文件系统概述 236

9.1.2 Linux文件系统的类型 240

9.2 文件概述 241

9.2.1 文件的概念 241

9.2.2 Linux C文件处理方式 243

9.2.3 文件类型指针和文件描述符 244

9.3 缓冲文件操作 246

9.3.1 文件的创建、打开与关闭 246

9.3.2 文件的读写 249

9.3.3 文件的定位 262

9.3.4 文件操作检测 264

9.3.5 其他文件操作函数 266

9.4 非缓冲文件操作 268

9.5 临时文件的操作 276

习题 279

第10章 进程与线程 281

10.1 进程 281

10.1.1 Linux系统进程基础 281

10.1.2 进程的控制 283

10.1.3 进程的创建 283

10.1.4 进程的等待 291

10.1.5 进程的终止 293

10.2 进程间通信技术 295

10.2.1 管道 296

10.2.2 消息队列 303

10.2.3 共享内存 308

10.3 Domain Socket 312

10.3.1 Domain Socket基本流程 312

10.3.2 服务器端 313

10.3.3 客户端 315

10.4 线程 321

10.4.1 Linux线程基础 321

10.4.2 线程的使用 321

10.5 线程的互斥和同步 326

10.5.1 互斥体 326

10.5.2 条件变量 332

10.5.3 信号量 334

10.5.4 其他线程间同步机制 337

习题 337

第11章 网络通信 338

11.1 计算机网络基础 338

11.1.1 计算机网络的起源与发展 338

11.1.2 计算机网络体系结构的形成 339

11.1.3 开放系统互连参考模型 341

11.1.4 TCP/IP协议的体系结构 343

11.2 Linux网络编程基础 349

11.2.1 Linux网络命令简介 349

11.2.2 一些基本概念 352

11.2.3 客户-服务器背景知识 356

11.3 socket套接字 357

11.3.1 socket套接字简介 357

11.3.2 创建socket套接字 360

11.3.3 socket套接字的配置 362

11.3.4 客户端建立连接 364

11.3.5 服务器端监听并接受连接(TCP) 365

11.3.6 发送和接收传输数据 366

11.3.7 结束传输关闭连接 367

11.3.8 面向连接的TCP程序设计实例 368

11.3.9 面向非连接的UDP程序设计实例 371

11.3.10 TCP/IP网络程序总结 374

11.4 阻塞与非阻塞 377

11.4.1 阻塞通信 377

11.4.2 非阻塞通信 377

11.5 服务器和客户机的信息函数 378

11.5.1 字节转换函数 378

11.5.2 IP和域名的转换 378

11.5.3 字符串的IP和32位的IP转换 379

11.5.4 服务信息函数 379

11.5.5 getpeername()与gethostname()函数 380

习题 380

参考文献 381

返回顶部