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

  • 购买积分:12 如何计算积分?
  • 作  者:李文杰编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302371847
  • 页数:307 页
图书介绍:本次修订内容为教材中的例题及习题,对例题进行重新配置,习题配合网络教学平台增加数量。本次修订内容为教材中的例题及习题,对例题进行重新配置,习题配合网络教学平台增加数量。

第1章 程序设计概述 1

1.1 程序和程序设计 1

1.1.1 程序的概念 1

1.1.2 程序设计 2

1.1.3 程序设计语言 2

1.2 C语言概述 4

1.2.1 C语言简介 4

1.2.2 C语言程序示例 4

1.2.3 为何要学C语言 7

1.3 算法及其描述 8

1.3.1 算法的概念 8

1.3.2 算法的特性 8

1.3.3 算法的描述 9

1.3.4 结构化程序设计 10

1.4 C语言程序开发过程 11

1.4.1 使用计算机解题的过程 11

1.4.2 常用的C语言开发环境 12

习题1 13

第2章 基本数据类型 14

2.1 数据类型概述 14

2.2 标识符、常量和变量 15

2.2.1 标识符 15

2.2.2 常量 16

2.2.3 变量 17

2.3 整型数据 18

2.3.1 整型常量的表示 18

2.3.2 整型变量 18

2.3.3 整型常量的类型 20

2.4 实型数据 20

2.4.1 实型常量的表示 20

2.4.2 实型数据在内存中的存放形式 21

2.4.3 实型变量 21

2.5 字符数据 22

2.5.1 字符在内存中的存放形式 22

2.5.2 字符常量 22

2.5.3 字符变量 23

2.5.4 字符串常量 24

2.6 数据的输入与输出 24

2.6.1 字符数据的输入和输出 24

2.6.2 格式化输入输出 27

习题2 35

第3章 顺序结构程序设计 38

3.1 算术运算和算术表达式 39

3.1.1 整数算术运算 39

3.1.2 实数算术运算 39

3.1.3 混合算术运算 40

3.1.4 算术表达式 40

3.1.5 算术表达式的计算规则 40

3.2 赋值运算和赋值表达式 41

3.2.1 赋值运算符 41

3.2.2 赋值表达式 42

3.3 自增自减运算 43

3.4 优先级和类型转换 45

3.4.1 优先级 45

3.4.2 类型转换 46

3.5 位运算符 48

3.5.1 “按位与”运算符& 48

3.5.2 “按位或”运算符| 50

3.5.3 “按位异或”运算符^ 51

3.5.4 “按位取反”运算符~ 52

3.5.5 “按位左移”运算符<< 52

3.5.6 “按位右移”运算符>> 53

3.5.7 位运算赋值运算符 54

3.6 使用数学库函数 54

3.7 顺序结构程序设计 55

3.7.1 C语句概述 55

3.7.2 简单语句 55

3.7.3 顺序结构程序设计 56

习题3 60

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

4.1 关系运算和逻辑运算 63

4.1.1 关系运算符和表达式 64

4.1.2 逻辑运算符和表达式 65

4.1.3 选择结构的种类 66

4.2 使用if语句实现的选择结构 68

4.2.1 if语句实现的单分支结构 68

4.2.2 if语句实现的双分支结构 71

4.2.3 多分支结构 74

4.2.4 使用if语句应注意的问题 78

4.3 条件运算符和条件表达式 79

4.4 switch语句 81

4.5 选择结构程序设计举例 85

习题4 87

第5章 循环结构程序设计 91

5.1 while语句 91

5.2 do…while语句 98

5.3 for语句和逗号表达式 100

5.3.1 for语句 100

5.3.2 逗号运算符和逗号表达式 102

5.4 流程转向语句break和continue 103

5.4.1 break语句 104

5.4.2 continue语句 105

5.5 循环嵌套 107

5.6 循环结构程序设计举例 109

习题5 112

第6章 模块化程序设计——函数 118

6.1 函数的定义 118

6.1.1 模块化程序设计的基本思想 118

6.1.2 库函数和用户自定义函数 119

6.1.3 函数的定义 121

6.2 函数的调用和参数传递 122

6.2.1 函数的调用 122

6.2.2 函数的参数传递 123

6.2.3 函数的返回值 125

6.2.4 函数的声明 126

6.3 嵌套调用和递归调用 128

6.3.1 函数的嵌套调用 128

6.3.2 函数的递归调用 132

6.4 变量作用域 136

6.4.1 局部变量 136

6.4.2 全局变量 138

6.5 变量的存储类别 141

6.5.1 程序内存区域划分和存储方式 141

6.5.2 自动变量 142

6.5.3 寄存器变量 142

6.5.4 外部变量 143

6.5.5 静态变量 145

6.6 多文件程序和预编译指令 148

6.6.1 包含多个文件的程序 149

6.6.2 宏定义 150

6.6.3 文件包含 153

6.6.4 条件编译 155

习题6 157

第7章 数组 167

7.1 一维数组 167

7.1.1 一维数组的定义 168

7.1.2 一维数组的初始化 169

7.1.3 一维数组元素的引用 170

7.1.4 一维数组的应用 171

7.2 二维数组 180

7.2.1 二维数组的定义 180

7.2.2 二维数组的初始化 181

7.2.3 二维数组元素的引用 183

7.2.4 二维数组的应用 184

7.3 字符数组 186

7.3.1 字符数组的定义 186

7.3.2 字符数组的初始化 186

7.3.3 字符串与字符数组 187

7.3.4 字符数组的输入与输出 187

7.3.5 字符数组的应用 189

7.3.6 常用的字符串处理函数 191

7.4 数组作函数的参数 193

7.4.1 数组元素作函数的参数 193

7.4.2 数组名作函数的参数 194

7.4.3 二维数组作函数的参数 199

习题7 200

第8章 指针 207

8.1 指针的概念 207

8.1.1 变量的存储 207

8.1.2 指针与变量的指针 208

8.2 指针变量的定义和使用 209

8.2.1 指针变量的定义 209

8.2.2 指针变量的使用 210

8.3 使用指针访问一维数组 211

8.3.1 数组的指针和数组元素的指针变量 211

8.3.2 指向数组的指针变量的运算 212

8.3.3 指向字符串的指针 213

8.4 指针作为函数的参数 214

8.4.1 简单变量的指针作函数参数 214

8.4.2 指向数组元素的指针作为函数参数 217

8.5 指针数组的概念 219

8.5.1 指针数组的定义 220

8.5.2 main函数的参数 222

8.6 指向函数的指针和返回指针的函数 224

8.6.1 指向函数的指针定义 224

8.6.2 函数指针作为函数的参数 226

8.6.3 返回指针的函数 228

习题8 229

第9章 结构体、联合体和枚举 233

9.1 结构体类型和结构体变量的定义 233

9.1.1 结构体类型的定义 233

9.1.2 结构体变量的声明及初始化 234

9.1.3 结构体变量的大小 235

9.2 结构体成员的引用 237

9.3 结构体数组 239

9.3.1 结构体数组的定义 240

9.3.2 结构体数组的初始化 240

9.4 结构体指针 243

9.4.1 结构体指针变量的定义 243

9.4.2 结构体指针和数组 245

9.4.3 结构体变量和结构体指针作函数参数 246

9.4.4 动态内存分配函数 249

9.4.5 使用typedef定义类型名 251

9.5 链表 253

9.5.1 链表的基本概念及结点定义 253

9.5.2 链表的基本操作 254

9.5.3 链表结构与数组结构的比较 262

9.6 联合体 263

9.6.1 联合体类型及其变量的定义 263

9.6.2 使用联合体变量解决问题 265

9.7 枚举类型 267

9.7.1 枚举类型的定义和枚举变量的说明 267

9.7.2 枚举类型变量的赋值和使用 268

习题9 271

第10章 文件 276

10.1 文件概述 276

10.1.1 文件的概念 276

10.1.2 文件类型指针 276

10.1.3 文件的处理过程 277

10.2 文件的打开与关闭 277

10.2.1 文件的打开 277

10.2.2 文件的关闭 279

10.2.3 应用举例 280

10.3 文件的读写 280

10.3.1 文件的顺序读写 281

10.3.2 文件的随机读写 293

10.4 综合举例 296

习题10 302

附录A 常用ASCII码对照表 304

附录B 运算符和结合性 305

参考文献 307