《C语言解析教程》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)Ai Kelley,(美)Ira Pohl著;麻志毅译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:7111093364
  • 页数:416 页
图书介绍:

第1章 编写ASNI C程序 1

1.1 准备编程 1

1.2 第一个程序 2

1.3 变量、表达式和赋值 5

1.4 初始化 8

1.5 #define和#include的用法 8

1.6 printf()和scanf()的用法 9

1.6.1 printf()的用法 10

1.6.2 scanf()的用法 11

1.7 while语句 13

1.8 问题求解:计算总和 14

1.9 风格 15

1.10 常见的编程错误 16

1.11 系统考虑 17

1.11.1 编写和运行C程序 17

1.11.2 中断程序 18

1.11.3 输入文件尾标识 18

1.11.4 输入和输出的重定向 18

1.12 转向C++ 19

小结 20

练习 20

第2章 词法元素、运算符和C系统 26

2.1 字符和词法元素 27

2.2 注释 28

2.3 关键字 29

2.4 标识符 29

2.5 常量 30

2.6 串常量 31

2.7 运算符和标点符号 31

2.8 运算符的优先级和结合性 32

2.9 增量运算符和减量运算符 33

2.10 赋值运算符 34

2.11 例子:计算2的幂 36

2.12 C系统 36

2.12.1 预处理器 37

2.12.2 标准库 37

2.13 风格 39

2.14 常见的编程错误 40

2.15 系统考虑 41

2.16 转向C++ 42

小结 42

练习 43

第3章 控制流 48

3.1 关系、等式和逻辑运算符 48

3.2 关系运算符和表达式 49

3.3 等式运算符和表达式 50

3.4 逻辑运算符和表达式 50

3.5 复合语句 53

3.6 空语句 53

3.7 if和if-else语句 53

3.8 while语句 56

3.9 问题求解:找量大值 57

3.10 for语句 58

3.11 问题求解:组合数学 59

3.12 问题求解:布尔变量 61

3.13 逗号运算符 61

3.14 do语句 62

3.15 goto语句 63

3.16 break和continue语句 64

3.17 switch语句 65

3.18 嵌套的控制流 65

3.19 条件运算符 66

3.20 风格 67

3.21 常见的编程错误 68

3.22 系统考虑 70

3.23 转向C++ 71

小结 71

练习 72

第4章 函数和结构化编程 78

4.1 函数调用 78

4.2 函数定义 78

4.3 return语句 80

4.4 函数原型 82

4.5 自顶向下设计 83

4.6 程序的正确性:assert()宏 86

4.7 从编译器的角度来看函数声明 87

4.8 问题求解:随机数 88

4.9 函数定义次序的可选风格 89

4.10 开发一个大程序 90

4.11 模拟:正反面游戏 93

4.12 调用和按值调用 95

4.13 递归 96

4.14 风格 97

4.15 常见的编程错误 97

4.16 系统考虑 99

4.17 转向C++ 100

小结 102

练习 103

第5章 字符处理 110

5.1 数据类型char 110

5.2 getchar()和putchar()的用法 112

5.3 例子:大写 115

5.4 ctype.h中的宏 117

5.5 问题求解:重复字符 117

5.6 问题求解:对单词计数 118

5.7 风格 120

5.8 常见的编程错误 121

5.9 系统考虑 122

5.10 转向C++ 123

小结 125

练习 125

第6章 基本数据类型 128

6.1 声明和表达式 128

6.2 基本数据类型 128

6.3 字符和数据类型char 129

6.4 数据类型int 130

6.5 整数类型short、long和unsigned 131

6.6 浮点类型 132

6.7 sizeof运算符 134

6.8 数学函数 134

6.9 转换和类型转换 136

6.9.1 整型提升 136

6.9.2 常用的算术转换 136

6.9.3 类型转换 137

6.10 问题求解:计算利息 138

6.11 风格 141

6.12 常见的编程错误 142

6.13 系统考虑 143

6.14 转向C++ 143

小结 144

练习 145

第7章 枚举类型和typedef 151

7.1 枚举类型 151

7.2 typedef的用法 152

7.3 例子:石头、剪刀、布游戏 154

7.4 风格 158

7.5 常见的编程错误 159

7.6 系统考虑 160

7.7 转向C++ 160

小结 160

练习 161

第8章 函数、指针和存储类型 165

8.1 指针声明和赋值 165

8.2 地址和间接访问 166

8.3 指向void的指针 169

8.4 引用调用 170

8.5 作用域规则 171

8.6 存储类型 172

8.6.1 存储类型auto 172

8.6.2 存储类型extern 172

8.6.3 存储类型register 174

8.6.4 存储类型static 174

8.7 静态外部变量 175

8.8 缺省的初始化 176

8.9 例子:字符处理 176

8.10 函数声明和函数定义 179

8.11 类型限定符const和volatile 179

8.12 风格 180

8.13 常见的编程错误 181

8.14 系统考虑 182

8.15 转向C++ 183

小结 184

练习 185

第9章 数组和指针 190

9.1 一维数组 190

9.1.1 初始化 191

9.1.2 下标 192

9.2 例子:分别对每个字母计数 192

9.3 数组和指针间的关系 194

9.4 指针运算和元素尺寸 195

9.5 把数组传递给函数 195

9.6 排序算法:冒泡排序 196

9.7 二维数组 197

9.8 多维数组 199

9.9 动态内存分配 200

9.10 风格 201

9.11 常见的编程错误 203

9.12 系统考虑 203

9.13 转向C++ 204

小结 205

练习 206

第10章 串和指针 211

10.1 串结束标志 211

10.2 串的初始化 212

10.3 例子:心情愉快 212

10.4 用指针处理串 214

10.5 问题求解:单词计数 217

10.6 把参数传递给main() 218

10.7 标准库中的串处理函数 218

10.8 风格 220

10.9 常见的编程错误 220

10.10 系统考虑 221

10.11 转向C++ 221

小结 221

练习 222

第11章 递归 225

11.1 递归问题求解 225

11.2 例子:在屏幕上绘制图案 228

11.3 用递归处理串 229

11.4 分而治之方法 230

11.5 例子:汉字诺塔 231

11.6 风格 237

11.7 常见的编程错误 238

11.8 系统考虑 239

11.9 转向C++ 239

小结 240

练习 240

第12章 结构和抽象数据类型 245

12.1 声明结构 245

12.2 访问成员 246

12.3 运算符的优先级和结合性:总结 248

12.4 结构、函数和赋值 249

12.5 问题求解:学生记录 251

12.6 结构的初始化 253

12.7 typedef的用法 253

12.8 自引用结构 254

12.9 线性链表 255

12.10 对链表的操作 256

12.11 计数和查找 257

12.12 插入和删除 258

12.13 风格 259

12.14 常见的编程错误 260

12.15 系统考虑 260

12.16 转向C++ 261

小结 266

练习 266

第13章 输入/输出和文件 269

13.1 输出函数printf() 269

13.2 输入函数scanf() 272

13.2.1 控制串中的指示 273

13.2.2 普通字符 273

13.2.3 空白字符 273

13.2.4 转换说明 273

13.2.5 输入流中的浮点数 275

13.2.6 使用扫描集 275

13.2.7 返回值 276

13.2.8 一个scanf()的例子 276

13.3 函数sprintf()和sscanf() 277

13.4 函数fprintf()和fscanf() 277

13.5 访问文件 278

13.6 例子:对文件行距加倍 279

13.7 使用临时文件和得体的函数 281

13.8 随机地访问文件 283

13.9 风格 284

13.10 常见的编程错误 285

13.11 系统考虑 286

13.12 转向C++ 287

小结 289

练习 290

第14章 软件工具 295

14.1 在C程序中执行命令 295

14.2 环境变量 296

14.3 C编译器 297

14.4 创建库 299

14.5 使用profiler 300

14.6 关于时间的编码 303

14.7 dbx的用法 305

14.8 make的用法 306

14.9 touch的用法 309

14.10 其他有用的工具 309

14.11 风格 310

14.12 常见的编程错误 310

14.13 系统考虑 311

小结 311

练习 312

第15章 从C到C++ 315

15.1 为什么转到C++ 315

15.2 类和抽象数据类型 317

15.3 重载 318

15.4 构造器和析构器 320

15.5 继承 321

15.6 多态性 322

15.7 模板 324

15.8 C++中的异常 325

15.9 面向对象编程的益处 325

15.10 风格 325

15.11 常见的编程错误 326

15.12 系统考虑 326

小结 326

练习 327

附录A 标准库 329

附录B 预处理器 354

附录C 位运算符 363

附录D ANSI C与传统C的比较 375

附录E ASCII字符编码表 380

附录F 运算符的优先级和结合性 381

索引 382