《C语言程序设计教程 第2版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:王敬华,林萍,张清国编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302204039
  • 页数:418 页
图书介绍:本书共12章,内容包括C语言程序设计预备知识,C语言程序设计基础,基本数据类型、运算符与表达式、基本输入输出和顺序程序设计、选择结构程序设计,循环结构程序设计,数组,函数,指针,预处理命令,复杂数据类型,文件等。

第1章 C语言程序设计预备知识 1

1.1 计算机系统组成及工作原理简介 1

1.2 进位计数制及其转换 4

1.2.1 十进制数的表示 4

1.2.2 二进制数、八进制数和十六进制数的表示 4

1.2.3 二进制数和十进制数的转换 5

1.2.4 二进制数、八进制数和十六进制数的转换 7

1.3 机器数的表示形式及其表示范围 8

1.3.1 真值与机器数 8

1.3.2 数的原码表示 8

1.3.3 数的反码表示 9

1.3.4 数的补码表示 10

1.3.5 补码的加、减运算 11

1.3.6 无符号整数 11

1.3.7 字符表示法 11

1.4 二进制数的位运算 12

1.5 本章小结 13

习题1 14

第2章 C语言程序设计基础 16

2.1 程序设计语言的发展及其特点 16

2.2 C语言的发展及其特点和应用 18

2.3 C语言与C++、Java和C#之间的关系 20

2.4 C语言程序的基本结构 21

2.5 编制C语言程序的基本步骤 26

2.6 本章小结 28

习题2 29

第3章 基本数据类型、运算符与表达式 31

3.1 C语言的数据类型 32

3.2 常量、变量和标识符 33

3.3 简单数据类型与表示范围 35

3.3.1 整型数据 36

3.3.2 实型数据 42

3.3.3 字符型数据和字符串常量 44

3.3.4 简单数据类型的表示范围 47

3.3.5 数据的简单输出 49

3.4 C语言的运算符与表达式 51

3.4.1 赋值运算符、赋值表达式 51

3.4.2 强制类型转换符 53

3.4.3 算术运算符、算术表达式 55

3.4.4 自增自减运算符、负号运算符 56

3.4.5 算术运算中数据类型转换规则 58

3.4.6 位运算符、位运算表达式 59

3.4.7 逗号运算符、逗号表达式 60

3.4.8 sizeof运算符、复合赋值运算符 61

3.5 运算符的优先级和结合性 62

3.6 有符号数与无符号数之间运算问题 62

3.7 本章小结及常见错误列举 64

习题3 69

第4章 基本输入输出和顺序程序设计 73

4.1 格式化输出printf 73

4.1.1 整数的输出 76

4.1.2 实数的输出 80

4.1.3 字符和字符串的输出 81

4.1.4 格式化输出小结 82

4.2 格式化输入scanf 84

4.3 字符数据的非格式化输入输出 90

4.4 程序的控制结构 93

4.4.1 算法的基本概念 93

4.4.2 算法的描述方法 95

4.4.3 算法的基本结构 97

4.5 顺序程序设计举例 99

4.6 本章小结及常见错误列举 101

习题4 103

第5章 选择结构程序设计 107

5.1 C语言程序中语句的分类 107

5.2 关系运算符、逻辑运算符、条件运算符 109

5.2.1 关系运算符和关系表达式 109

5.2.2 逻辑运算符和逻辑表达式 110

5.2.3 条件运算符和条件表达式 112

5.3 选择结构的程序设计 113

5.3.1 if语句 114

5.3.2 switch语句 118

5.4 选择结构程序设计举例 122

5.5 本章小结及常见错误列举 128

习题5 131

第6章 循环结构程序设计 138

6.1 循环结构的程序设计 138

6.1.1 while语句 139

6.1.2 do-while语句 142

6.1.3 for语句 143

6.1.4 循环嵌套 146

6.1.5 break与continue语句 147

6.1.6 goto语句 149

6.1.7 exit()函数 150

6.2 循环结构类型的选择及转换 151

6.3 循环结构程序设计举例 153

6.4 本章小结及常见错误列举 159

习题6 162

第7章 数组 169

7.1 一维数组 170

7.1.1 一维数组的定义和引用 170

7.1.2 一维数组的赋值 172

7.1.3 一维数组的应用举例 175

7.2 二维数组 181

7.2.1 二维数组的定义和引用 182

7.2.2 二维数组的赋值 183

7.2.3 二维数组的应用举例 185

7.3 字符串与数组 187

7.3.1 字符串的本质 187

7.3.2 字符及字符串操作的常用函数 188

7.3.3 字符串数组 194

7.4 数组综合应用举例 197

7.5 本章小结及常见错误列举 200

习题7 204

第8章 函数 210

8.1 函数概述 210

8.2 函数的定义与调用 212

8.2.1 无参数无返回值的函数 212

8.2.2 无参数有返回值的函数 214

8.2.3 带参数无返回值的函数 217

8.2.4 带参数有返回值的函数 219

8.3 函数参数的传递方式 220

8.4 变量的作用域和生存期 224

8.5 变量的存储类型 229

8.6 函数的嵌套和递归调用 234

8.6.1 函数的嵌套调用 234

8.6.2 函数的递归调用 235

8.7 函数的作用域 241

8.8 函数封装 242

8.9 函数应用综合举例 242

8.10 本章小结及常见错误列举 246

习题8 250

第9章 指针 255

9.1 指针与指针变量的概念 255

9.2 指针变量的定义和引用 257

9.3 指针和地址运算 263

9.4 指针与数组 263

9.4.1 数组的指针和指向数组的指针变量 264

9.4.2 指向多维数组的指针——数组指针 266

9.4.3 元素为指针的数组——指针数组 271

9.5 指针与字符串 274

9.6 指针与动态内存分配 280

9.7 多级指针 285

9.8 指针作为函数参数 288

9.9 指针作为函数的返回值——指针函数 294

9.10 指向函数的指针——函数指针 295

9.11 带参数的main函数 298

9.12 本章小结及常见错误列举 301

习题9 306

第10章 预处理命令 312

10.1 预处理命令简介 312

10.2 宏定义 313

10.2.1 不带参数的宏定义 313

10.2.2 带参数的宏定义 316

10.3 文件包含 317

10.4 条件编译 319

10.5 本章小结及常见错误列举 323

习题10 325

第11章 复杂数据类型 328

11.1 复杂数据类型概述 328

11.2 结构体 329

11.2.1 结构体类型的定义 329

11.2.2 结构体变量的定义和引用 331

11.2.3 结构体变量的赋值 334

11.2.4 结构体变量内存分配问题透析 337

11.2.5 简化结构体类型名 340

11.2.6 结构体数组 341

11.3 线性链表 344

11.4 联合体 350

11.4.1 联合体类型的定义 351

11.4.2 联合体变量的定义和引用 352

11.4.3 联合体变量的赋值 352

11.5 位域 356

11.6 枚举类型变量的定义和引用 358

11.7 复杂数据类型应用综合举例 361

11.8 本章小结及常见错误列举 365

习题11 369

第12章 文件 375

12.1 文件的基本概念 375

12.2 文件的类别 376

12.3 文件操作概述 377

12.4 文件指针 378

12.5 文件的打开、读写和关闭 378

12.5.1 文件的打开与关闭 379

12.5.2 文件的读写 380

12.5.3 文件读写函数选用原则 392

12.6 文件的定位读写 393

12.7 文件应用综合举例 396

12.8 本章小结及常见错误列举 398

习题12 399

附录A 常见问题解答 404

附录B 常用标准库函数 407

附录C C语言的关键字 414

附录D 运算符和结合性 415

附录E ASCII码 416

参考文献 418