《Linux C语言实务》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:施威铭研究室著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:711110773X
  • 页数:333 页
图书介绍:本书从基础的C语言知识入手,重点介绍Linux下的C语言编程,以及在Linux中编写程序应注意的事项及概念。本书分为2篇,第1篇是C语言入门,带领读者从无到有,进入C语言的世界。第2篇是C语言详解,对C语言的构成方面进行详细的讨论;读者可以详尽了解C语言的语法、Linux特有的系统调用函数、Linux的程序开发工具、GCC常用参数列表以及gdb调试工具的使用,并结合丰富的范例讲解进行实际操作。 本书通俗易懂,理论与实践紧密结合,可以作为初学者的C语言教材,同时也是相关人员学习和使用Linux的参考用书。

第1篇 C语言入门 3

第1章 Linux C语言的开发环境 3

1.1 编译语言的基本认识 4

1.1.1 编译器与解释器 4

1.1.2 解释性语言与编译语言的比较 5

1.2 GCC简介 5

1.3 C程序的开发过程 6

1.4 编辑一个C程序 7

1.5 C程序编译与执行 9

1.5.1 编译与执行程序 9

1.5.2 程序源文件发生错误 10

1.6 在Linux开发程序的技巧 11

1.7 习题 15

第2章 C程序初步 17

2.1 一个C程序的例子 18

2.2 C程序的基本结构 18

2.3 函数的概念 24

2.4 字符、字符串、数组与指针 27

2.5 循环控制 34

2.6 if语句及==%&运算符 36

2.6.1 if流程控制语句 36

2.6.2 ==与= 37

2.6.3 逻辑运算符 37

2.6.4 输入函数scanf() 38

2.6.5 运算符& 38

2.7 编写C程序的注意事项 38

2.7.1 变量的初值赋值 38

2.7.2 指针的初始值设置 39

2.7.3 “;”与C语言的自由格式 40

2.7.5 关键字 41

2.7.4 语句的集合 41

2.8 回顾与总结 42

2.9 习题 43

第3章 C语言的工作环境支持——函数库及整合服务 47

3.1 C语言是没有I/O的语言 48

3.2 I/O转向的概念 48

3.3 标准I/O的函数群 49

3.3.1 函数库 49

3.3.2 I/O函数群 49

3.3.3 printf():格式化输出函数 53

3.3.4 格式化输入函数 56

3.3.5 &与*运算符 57

3.4.1 常量的概念 58

3.4 #define与常量名 58

3.4.2 使用常量名 59

3.5 观察预处理的结果 61

3.6 #include与stdio.h 62

3.6.1 #include的用法 62

3.6.2 包含子程序文件 64

3.7 使用make命令 65

3.7.1 makefile的结构 66

3.7.2 makefile的简化及宏 69

3.7.3 常用的make参数 71

3.8 习题 71

第2篇 C语言详解 75

第4章 C语言的数据类型 75

4.1.2 C语言的数据类型 76

4.2 C语言的基本数据类型 76

4.1.1 数据类型 76

4.1 数据类型的变革 76

4.2.1 数据的长度 77

4.2.2 整型的修饰符 77

4.2.3 数据类型的用法 79

4.3 数据的表示法 79

4.3.1 字符类型 79

4.3.2 int:整型 81

4.3.3 浮点数与双精度数 82

4.3.4 双精度浮点数类型 83

4.3.5 void类型 84

4.4 中文字体处理 84

4.4.1 中文字体码的问题 84

4.4.2 如何显示及输入中文字 84

4.5 习题 85

第5章 变量、运算符与运算式 87

5.1 变量与标识符 88

5.2 运算符与表达式 89

5.2.1 运算符 89

5.2.2 表达式 89

5.3 四则运算符、=与% 90

5.3.1 =运算符 90

5.3.2 四则运算符与% 91

5.3.3 =与运算符的合并 93

5.3.4 ++与--运算符 94

5.3.5 比较用的运算符 96

5.3.6 逻辑运算符 97

5.3.7 位逻辑运算符 98

5.3.8 条件运算符 100

5.3.10 其他运算符 101

5.3.9 sizeof运算符 101

5.4 运算符的优先级与结合性 102

5.5 表达式中的类型转换 103

5.6 强制的类型转换 106

5.7 习题 107

第6章 程序的流程控制 109

6.1 C语言的流程控制 110

6.1.1 语句的集合 110

6.1.2 条件表达式的真假 111

6.2 条件判断if...else 111

6.2.1 if语句 111

6.2.2 多重的if语句 112

6.2.3 if...else语句 112

6.2.4 if...else的变形一:嵌套式if...else 114

6.2.5 if...else的变形二:else...if语句 116

6.2.6 if...else的变形三 117

6.2.7 使用if...else的注意事项 118

6.3 多重选择的switch...case 119

6.3.1 switch...case 119

6.3.2 break 121

6.3.3 default 123

6.4 循环控制:while、do...while、for与continue 123

6.4.1 预先判断式循环while 123

6.4.2 后设判断式循环do...while 125

6.4.3 for循环 127

6.4.4 各种循环的使用时机 130

6.4.5 循环控制中的break 131

6.4.6 continue语句 132

6.5 强制性的流程控制goto 133

6.6 习题 136

第7章 函数与宏 139

7.1 函数简介 140

7.2.1 ANSI函数定义与声明 141

7.2 函数的定义与类型声明 141

7.2.2 函数的返回值 143

7.2.3 函数的类型 145

7.2.4 void类型 146

7.3 递归函数 147

7.4 预处理器 153

7.4.1 宏指令 153

7.4.2 带参数的宏定义 153

7.4.3 利用宏来调试 155

7.4.4 #undef的使用 156

7.4.5 条件性编译指令 156

7.5 标准函数库 158

7.5.1 math.h 159

7.5.2 stdlib.h 161

7.5.3 time.h 163

7.5.4 其他的标准函数库 165

7.6 习题 165

第8章 指针与数组 167

8.1 指针与&、*运算符 168

8.1.1 指针的声明 168

8.1.2 &运算符的使用方法 168

8.1.3 运算符的使用方法 168

8.1.4 指针的初始化 170

8.1.5 指针的转型 172

8.2 以指针来传递参数 173

8.2.1 以指针传递变量地址 174

8.2.2 以指针返回字符串地址 177

8.3 指针与数组的关系 177

8.3.1 以指针传递数组地址 181

8.3.2 概念的澄清 183

8.3.3 指针的运算 184

8.4 多维数组及其设置 185

8.4.1 多维数组 186

8.4.2 数组指针 189

8.4.3 把多维数组传入函数 189

8.5 指针数组、指针的指针 190

8.5.1 指针数组 190

8.5.2 指针的指针 192

8.6 命令参数的引入:argc、argv 195

8.7 习题 199

第9章 变量等级 203

9.1 C程序的结构与变量等级 204

9.2 内部变量 204

9.2.1 内部变量的范围 205

9.2.4 区段的构造与范围 206

9.2.3 内部变量的优缺点 206

9.2.2 内部变量的生命周期 206

9.3 静态内部变量 208

9.4 外部变量 209

9.4.1 外部变量的范围 209

9.4.2 外部变量的生命周期 210

9.4.3 外部变量的优缺点 210

9.5 静态外部变量 214

9.6 函数是外部个体 216

9.7 register变量 217

9.8 习题 217

第10章 用户自定义数据类型——结构体与共用体 219

10.1 结构体 220

10.1.1 可由用户自定义的数据类型 220

10.1.2 结构体的声明 220

10.1.3 结构体的数组 222

10.1.4 结构体的初始设置 223

10.2 存取结构体数据 224

10.3 结构体指针 225

10.3.1 ->运算符 226

10.3.2 结构体的结构体 228

10.4 结构体与函数 229

10.4.1 把结构体指针传入函数 229

10.4.2 把结构体直接传入函数 231

10.5 共用体的使用 232

10.6 位段的使用 235

10.7 枚举型 236

10.8 类型名称定义typedef 238

10.9 习题 240

第11章 文件处理 245

11.1.2 Linux的I/O函数群 246

11.1.1 标准I/O函数库 246

11.1 文件I/O与操作系统的关系 246

11.2 C语言的文件概念 247

11.2.1 stream 247

11.2.2 FILE类型 247

11.2.3 文件的打开和关闭 248

11.2.4 缓冲式I/O 251

11.3 C语言的文件I/O函数群 251

11.3.1 读写文件字符:fgetc()、fputc() 251

11.3.2 字符串I/O:fgets()、fputs() 254

11.3.3 格式化I/O:fscanf()、fprintf() 256

11.4 顺序与随机读写 258

11.4.1 文件位置指针 258

11.4.2 fseek()函数 258

11.4.3 ftell()函数 260

11.5 文件的格式分类 261

11.4.4 fopen()的“+”更新模式 261

11.5.1 文本文件 262

11.5.2 二进制文件 263

11.5.3 设备文件 263

11.6 使用二进制文件 263

11.6.1 fopen()的另外3种文件设置模式 263

11.6.2 读写二进制文件 265

11.6.3 与结构体配合 266

11.7 习题 269

第12章 系统调用函数 271

12.1 认识系统调用 272

12.1.1 判断某个函数是属于系统调用或标准函数库函数 272

12.1.2 系统调用使用上的限制 273

12.2 取得与设置系统信息 273

12.2.1 取得操作系统名称、版本、网址及计算机类型 273

12.2.2 取得与设置网址 274

12.2.3 取得系统运行的状态 277

12.2.4 取得文件系统的状态 278

12.3 文件与目录管理 280

12.3.1 取得文件的状态 280

12.3.2 更改文件的权限与拥有者 283

12.3.3 创建文件的链接或符号链接 285

12.3.4 删除文件 287

12.3.5 创建与删除目录 287

12.3.6 取得与切换工作目录 288

12.4 习题 290

附录 291

附录A GCC参数说明 292

附录B 利用gdb调试 300

附录C 集成开发环境 317

附录D VIM文本编辑器 329