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

  • 购买积分:12 如何计算积分?
  • 作  者:田丽华主编;岳俊华,孙颖馨副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:7302378402
  • 页数:306 页
图书介绍:

基础篇 3

第1章 C语言概述 3

1.1 程序设计语言的发展及其特点 3

1.2 C语言的发展过程及其特点 4

1.2.1 C语言的发展过程 4

1.2.2 当代最优秀的程序设计语言 4

1.2.3 C语言的版本 5

1.2.4 C语言的特点 5

1.2.5 C语言的应用 5

1.3 认识简单的C语言程序 6

1.4 Visual C++6.0集成开发环境的使用 10

1.4.1 Visual C++6.0简介和启动 10

1.4.2 利用Visual C++6.0集成开发环境建立工程 10

1.5 C程序开发过程 15

本章小结 17

习题1 17

第2章 数据类型、运算符与表达式 19

2.1 计算机的工作原理 19

2.2 C语言的数据类型 20

2.3 常量、变量和标识符 21

2.3.1 标识符 21

2.3.2 常量和符号常量 22

2.3.3 变量 23

2.4 整型数据 23

2.4.1 整型常量的表示方法 23

2.4.2 整型变量 24

2.4.3 整型常量的分类 28

2.5 实型数据 28

2.5.1 实型常量的表示方法 28

2.5.2 实型变量 29

2.5.3 实型常数的类型 31

2.6 字符型数据 31

2.6.1 字符常量 31

2.6.2 字符变量 32

2.6.3 字符数据在内存中的存储形式及使用方法 33

2.6.4 字符串常量 35

2.7 C语言的运算符与表达式 35

2.7.1 赋值运算符、赋值表达式 36

2.7.2 不同数据类型间的赋值规则 37

2.7.3 算术运算符和算术表达式 39

2.7.4 逗号运算符和逗号表达式 42

2.7.5 sizeof运算符和复合赋值运算符 42

本章小结 44

习题2 45

第3章 顺序程序设计 46

3.1 程序的控制结构 46

3.1.1 算法的基本概念 46

3.1.2 算法的特性 47

3.1.3 算法的表示 47

3.1.4 用N-S流程图表示算法 49

3.1.5 用计算机语言表示算法 49

3.1.6 结构化程序设计方法 50

3.2 C语句概述 50

3.3 数据输入输出的概念及在C语言中的实现 52

3.4 字符数据的输入与输出 52

3.4.1 字符输出函数putchar 52

3.4.2 键盘输入函数getchar 53

3.5 格式化输出函数printf 53

3.5.1 printf函数调用的一般形式 53

3.5.2 使用printf函数的注意事项 56

3.6 格式化输入函数scanf 56

3.6.1 scanf函数调用的一般形式 56

3.6.2 使用scanf函数的注意事项 58

3.7 顺序结构程序设计举例 61

本章小结 62

习题3 62

第4章 选择结构程序设计 64

4.1 关系运算符和表达式 64

4.1.1 关系运算符及其优先级 64

4.1.2 关系表达式 65

4.2 逻辑运算符和逻辑表达式 66

4.2.1 逻辑运算符 66

4.2.2 逻辑表达式 66

4.3 if语句 68

4.3.1 if语句的三种形式 68

4.3.2 if语句的嵌套 72

4.3.3 条件运算符和条件表达式 73

4.4 switch语句 74

4.5 程序举例 78

本章小结 79

习题4 80

第5章 循环控制 83

5.1 概述 83

5.2 goto语句以及用goto语句构成循环 83

5.3 while语句 84

5.4 do-while语句 86

5.5 for语句 87

5.6 循环的嵌套 90

5.7 几种循环的比较 92

5.8 break和continue语句 92

5.8.1 break语句 92

5.8.2 continue语句 93

5.9 程序举例 94

5.10 循环控制进阶应用 96

本章小结 102

习题5 102

第6章 函数 106

6.1 函数概述 106

6.2 函数的定义与调用 107

6.2.1 无参函数的定义形式 107

6.2.2 有参函数定义的一般形式 109

6.3 函数的返回值 112

6.4 函数参数的传递方式 112

6.5 函数的调用 114

6.5.1 函数调用的方式 114

6.5.2 函数的嵌套调用 115

6.5.3 函数的递归调用 116

6.6 变量的作用域和生命周期 118

6.6.1 局部变量的作用域和生命周期 118

6.6.2 全局变量的作用域和生命周期 120

6.7 变量的存储类别 122

6.7.1 动态存储方式与静态存储方式 122

6.7.2 auto变量 123

6.7.3 用static声明局部变量 124

6.7.4 register变量 125

6.8 函数的进阶应用 125

本章小结 130

习题6 131

第7章 预处理命令 134

7.1 概述 134

7.2 宏定义 134

7.2.1 无参宏定义 135

7.2.2 带参宏定义 137

7.3 文件包含 142

7.4 条件编译 143

本章小结 145

习题7 146

第8章 数组 147

8.1 一维数组 147

8.1.1 一维数组的定义方式 147

8.1.2 一维数组在内存中的存放形式 149

8.1.3 一维数组元素的引用 149

8.1.4 一维数组的初始化 150

8.1.5 一维数组程序举例 151

8.2 二维数组的定义和引用 154

8.2.1 二维数组的定义 154

8.2.2 二维数组在内存中的存放形式 154

8.2.3 二维数组元素的引用 155

8.2.4 二维数组的初始化 156

8.2.5 二维数组程序举例 158

8.3 字符数组和字符串 159

8.3.1 字符数组的定义 159

8.3.2 字符数组在内存中的存放形式 160

8.3.3 字符数组的初始化 160

8.3.4 字符数组的应用 160

8.3.5 字符串和字符串结束标志 161

8.3.6 字符数组的输入输出 161

8.3.7 字符串处理函数 163

8.4 数组元素或数组名作为函数的参数 166

8.4.1 数组元素作为函数的参数 166

8.4.2 数组名作为函数的参数 167

8.5 程序举例 169

本章小结 172

习题8 172

第9章 指针 176

9.1 地址和指针的基本概念 176

9.2 变量的指针和指向变量的指针变量 177

9.2.1 定义一个指针变量 177

9.2.2 指针变量在内存中的表示 178

9.2.3 指针变量的引用 178

9.2.4 指针变量作为函数参数 181

9.3 数组的指针和指向数组的指针变量 183

9.3.1 指向数组元素的指针变量 184

9.3.2 通过指针引用数组元素 185

9.3.3 数组名作函数参数 188

9.4 字符串的指针和指向字符串的指针变量 193

9.4.1 字符串的表示形式 193

9.4.2 使用字符串指针变量与字符数组的区别 196

9.5 函数指针变量 197

9.6 指针型函数 197

9.7 指针数组和指向指针的指针变量 198

9.7.1 指针数组的概念 198

9.7.2 指向指针的指针变量 199

9.7.3 main函数的参数 201

9.8 指针的数据类型和指针运算 203

9.8.1 指针的数据类型 203

9.8.2 指针运算 203

9.8.3 void指针类型 204

9.9 数组与指针进阶应用 204

9.9.1 数组和指针的区别 204

9.9.2 数组和指针的联系 204

9.9.3 数组和指针的联合应用 206

本章小结 211

习题9 211

第10章 结构体与共用体 214

10.1 定义一个结构体的一般形式 214

10.2 结构体变量的说明 215

10.3 结构体成员变量的表示方法 218

10.4 结构体变量的赋值 218

10.5 结构体变量的初始化 221

10.6 结构体数组 222

10.6.1 结构体数组的定义 222

10.6.2 结构体数组的初始化 223

10.6.3 结构体数组元素的引用 223

10.6.4 结构体数组的应用 223

10.7 结构体指针变量的说明和使用 225

10.7.1 指向结构体变量的指针变量 225

10.7.2 指向结构体数组的指针 227

10.7.3 结构体变量和指针变量作函数参数 228

10.8 动态存储分配 229

10.9 链表的概念 231

10.9.1 创建动态链表 232

10.9.2 链表结点的查找与输出 233

10.9.3 链表的插入操作 235

10.9.4 删除结点的操作 238

10.10 联合体 239

10.10.1 联合体类型的定义 240

10.10.2 联合体变量的定义和引用 240

10.10.3 联合体变量的赋值 240

10.11 枚举类型 242

10.11.1 枚举类型的定义和枚举变量的说明 242

10.11.2 枚举类型变量的赋值和使用 243

本章小结 244

习题10 244

第11章 位运算 247

11.1 位运算符 247

11.1.1 按位与运算 247

11.1.2 按位或运算 249

11.1.3 按位异或运算 249

11.1.4 取反运算 251

11.1.5 左移运算 251

11.1.6 右移运算 251

本章小结 252

习题11 252

第12章 文件 253

12.1 文件概述 253

12.2 文件指针 254

12.3 文件的打开与关闭 255

12.3.1 文件的打开(fopen函数) 255

12.3.2 文件的关闭(fclose函数) 257

12.4 文件的读写 257

12.4.1 字符读写函数fgetc和fputc 257

12.4.2 字符串读写函数fgets和fputs 260

12.4.3 数据块读写函数fread和fwtrite 261

12.4.4 格式化读写函数fscanf和fprintf 263

12.5 文件的随机读写 264

12.5.1 文件定位 264

12.5.2 文件的随机读写 265

12.6 文件检测函数 266

12.6.1 文件结束检测函数feof 266

12.6.2 读写文件出错检测函数 266

本章小结 267

习题12 267

应用篇 271

第13章 应用问题示例 271

13.1 逻辑推理问题 271

13.2 高精度计算 273

13.3 模拟题 277

附录A 程序调试篇 291

附录B 关键字 296

附录C ASCII码表 298

附录D 运算符的优先级及结合方式 300

附录E 常用函数 302

参考文献 306