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

  • 购买积分:12 如何计算积分?
  • 作  者:武雅丽,王永玲,解亚利等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302189718
  • 页数:320 页
图书介绍:本书针对C语言的特点,通过大量实例程序的解析,将知识点融会贯通,使读者能快速掌握C语言的编程方法,提供程序设计能力。

第1章 程序设计基础知识 1

1.1 计算机的工作原理 1

1.1.1 计算机的指令系统 1

1.1.2 计算机的解题过程 2

1.1.3 存储程序原理 3

1.2 程序语言与程序设计 3

1.2.1 计算机程序与程序语言 3

1.2.2 程序设计 5

1.3 算法和算法的表示 6

1.3.1 什么是算法 6

1.3.2 算法的基本特征 8

1.4 用流程图表示算法 9

1.5 用结构化流程图表示算法 10

1.5.1 什么是结构化程序 10

1.5.2 三种基本结构 11

1.5.3 结构化流程图 13

1.6 结构化程序设计方法 14

1.6.1 结构化程序设计特征 14

1.6.2 自顶而下的设计方法 15

1.6.3 程序设计的风格 16

习题 18

第2章 C语言简介 20

2.1 C语言的发展过程 20

2.2 C语言的特点 20

2.3 C语言程序的格式和结构特点 21

2.3.1 C语言程序的格式 21

2.3.2 C语言程序的结构特点 23

2.4 C语言程序的上机执行过程 25

习题 29

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

3.1 关键字、标识符和保留标识符 31

3.2 数据与数据类型 32

3.3 基本数据类型及其表示 33

3.3.1 常量与变量 33

3.3.2 整型数据、实型数据和字符型数据 35

3.4 C语言的运算符 41

3.4.1 运算符简介 41

3.4.2 算术运算符和算术表达式 42

3.4.3 赋值运算符和赋值表达式 43

3.4.4 增1和减1运算符 45

3.4.5 关系运算符和关系表达式 45

3.4.6 逻辑运算符和逻辑表达式 46

3.5 逗号表达式 48

3.6 程序举例 48

习题 50

第4章 控制结构 54

4.1 C语句的构成 54

4.2 输入与输出函数 56

4.2.1 格式控制的输入与输出函数 56

4.2.2 字符的输入与输出函数 66

4.3 顺序结构 67

4.4 选择结构 69

4.4.1 if语句 69

4.4.2 条件运算符和条件表达式 74

4.4.3 switch语句 75

4.4.4 选择结构程序设计举例 77

4.5 循环结构 78

4.5.1 while语句 79

4.5.2 do-while语句 81

4.5.3 for语句 82

4.5.4 循环的嵌套 86

4.5.5 几种循环的比较 86

4.6 其他控制语句 88

4.6.1 break语句 88

4.6.2 continue语句 89

4.6.3 goto语句 89

4.7 良好的源程序书写风格 90

4.7.1 源程序书写格式 90

4.7.2 注释的使用 90

4.8 程序举例 92

习题 97

第5章 数组 105

5.1 一维数组 105

5.1.1 一维数组的定义 105

5.1.2 一维数组的初始化 106

5.1.3 一维数组程序举例 107

5.2 二维数组 111

5.2.1 二维数组的定义 112

5.2.2 二维数组的初始化 112

5.2.3 二维数组程序举例 114

5.3 字符数组 116

5.3.1 字符数组的定义 116

5.3.2 字符数组的初始化 117

5.3.3 字符数组的输入输出 118

5.3.4 字符串处理函数 120

5.3.5 字符数组程序举例 124

习题 127

第6章 函数 134

6.1 概述 134

6.2 函数的定义和调用 135

6.2.1 函数的定义 135

6.2.2 函数的调用 137

6.3 函数的参数及其传递方式 141

6.3.1 变量作函数参数 141

6.3.2 数组作函数参数 142

6.4 函数的嵌套调用和递归调用 149

6.4.1 函数的嵌套调用 149

6.4.2 函数的递归调用 153

6.5 变量的作用域及其存储类型 156

6.5.1 局部变量及其存储类型 156

6.5.2 全局变量及其存储类型 159

6.6 内部函数和外部函数 163

6.6.1 内部函数 163

6.6.2 外部函数 164

习题 169

第7章 编译预处理 175

7.1 概述 175

7.2 宏定义 175

7.2.1 不带参数的宏定义 175

7.2.2 符号常量 177

7.2.3 带参数的宏定义 177

7.3 文件包含 180

7.4 条件编译 181

7.5 程序举例 183

习题 184

第8章 结构体和共用体 187

8.1 结构体 187

8.1.1 结构体变量的定义 188

8.1.2 结构体变量的初始化 189

8.1.3 结构体变量的引用 190

8.1.4 结构体数组 191

8.1.5 结构体应用举例 192

8.2 共用体 193

8.2.1 共用体变量的定义 193

8.2.2 共用体变量的引用 194

8.2.3 共用体类型数据的特点 195

8.3 枚举类型 196

8.4 用typedef定义类型 198

习题 199

第9章 指针的概念 203

9.1 指针与地址 203

9.1.1 地址 203

9.1.2 指针 203

9.2 指针变量的定义 204

9.3 指针变量的操作 205

9.3.1 指针运算符 205

9.3.2 指针的赋值与比较 205

9.3.3 指针的算术运算 207

9.4 指针与数组 208

9.4.1 指针与一维数组 208

9.4.2 指针与字符串 211

9.4.3 指针与二维数组 214

9.4.4 指向数组的指针 217

9.5 程序举例 218

习题 219

第10章 指针与函数 225

10.1 函数的参数为指针 225

10.1.1 指针变量作函数参数 225

10.1.2 数组名作函数参数 228

10.1.3 指向一维数组的指针作函数的参数 232

10.2 函数的返回值为指针 234

10.3 指向函数的指针 236

10.3.1 通过指向函数的指针调用函数 236

10.3.2 函数指针作函数的参数 237

10.4 指针数组和指向指针的指针 238

10.4.1 指针数组 238

10.4.2 指向指针的指针 241

10.5 指针数组作main()函数的参数 242

10.6 void型指针 245

10.7 指针小结 245

10.7.1 与指针有关的变量说明 245

10.7.2 使用指针时易犯的错误 246

习题 247

第11章 指针与结构体 257

11.1 指针指向结构体 257

11.1.1 指向结构体变量的指针 257

11.1.2 指针指向结构体数组 258

11.2 结构体指针作函数参数 259

11.3 链表 261

11.3.1 动态存储分配 261

11.3.2 单链表 263

11.3.3 环形链表和双向链表 270

习题 272

第12章 位运算 277

12.1 二进制表示的整数及其位操作 277

12.1.1 二进制数位及其表示数的范围 277

12.1.2 负整数在机器中的表示 278

12.2 位运算符和位运算 279

12.2.1 “与”运算符 280

12.2.2 “或”运算符 281

12.2.3 “异或”运算符 281

12.2.4 “取反”运算符 283

12.2.5 “左移”运算符 284

12.2.6 “右移”运算符 284

12.2.7 位运算赋值运算符 285

12.2.8 不同长度的数据进行位运算 286

12.3 位运算举例 286

12.4 位段 288

习题 291

第13章 文件 294

13.1 文件的概念 294

13.2 文件的打开与关闭 295

13.2.1 文件的打开 295

13.2.2 文件的关闭 296

13.3 文件的读写 297

13.3.1 fputc和fgetc函数 297

13.3.2 fscanf和fprintf函数 299

13.3.3 fwrite和fread函数 300

13.4 文件的指针管理——文件的定位 302

13.4.1 rewind函数 302

13.4.2 fseek函数 302

13.4.3 ftell函数 303

13.5 非缓冲文件系统 303

13.5.1 打开文件函数 303

13.5.2 关闭文件函数 303

13.5.3 创建文件函数 304

13.5.4 成块读写函数 304

13.5.5 文件的定位函数 304

习题 305

附录A 常用字符及其ASCH代码 308

附录B C语言的运算符及其结合性 310

附录C C语言的库函数 312

附录D C语言中的关键字 319

参考文献 320