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

  • 购买积分:14 如何计算积分?
  • 作  者:苏小红,王宇颖,孙志岗等编著;蒋宗礼主审
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2015
  • ISBN:9787040433166
  • 页数:414 页
图书介绍:本书是一本兼具趣味性和实用性的C程序设计教材。全书由13章组成,内容包括:为什么要学C语言,C数据类型、简单的算术运算符和表达式,键盘输入和屏幕输出,选择控制结构,循环控制结构,函数,数组,指针,字符串,指针和数组,结构体与共用体,文件操作。本书以应用为背景,面向编程实践和问题求解能力的训练,从实际问题出发,在案例的不断深化中逐步引出知识点,形成“程序设计方法由自底向上到自顶向下”和“数据结构由简单到复杂”的两条逻辑清晰的主线。案例内容紧密结合实践,举一反三,融会贯通,尤其侧重错误案例的分析和讲解,在任务驱动下,由浅入深、启发引导读者循序渐进地编写规模逐渐加大的程序,让读者在不知不觉中逐步加深对C语言程序设计方法的了解和掌握。本教材配有多媒体课件、例题和习题源代码以及基于C/S结构的编程题考试自动评分系统等教学资源,免费向任课教师提供。本书适合作为高等学校各专业的C语言程序设计课程教材,也可作为从事计算机相关工作的科技人员、计算机爱好者及各类自学人员参考。

第1章 为什么要学C语言 1

1.1引言 1

1.2游戏、黑客和C语言 1

1.3 C语言,不老的传说 3

1.4 C语言的爱与恨 5

1.5 C语言教给我们的事 5

1.6什么是“编程” 7

1.7本章小结 8

习题1 8

第2章 C数据类型 11

2.1常量与变量 11

2.1.1常量 11

2.1.2变量 13

2.2简单的屏幕输出 15

2.3数据类型 16

2.4如何计算变量或数据类型所占内存空间的大小 18

2.5变量的赋值和赋值运算符 20

2.6本章扩充内容 21

2.7本章知识点小结 23

2.8本章常见错误小结 24

习题2 24

本章实验题 25

第3章 简单的算术运算和表达式 27

3.1C运算符和表达式 27

3.1.1算术运算符和表达式 27

3.1.2复合的赋值运算符 29

3.1.3增1和减1运算符 31

3.2宏常量与宏替换 33

3.3 const常量 35

3.4自动类型转换与强制类型转换运算符 36

3.5常用的标准数学函数 39

3.6本章知识点小结 41

3.7本章常见错误小结 41

习题3 42

本章实验题 43

第4章 键盘输入和屏幕输出 45

4.1单个字符的输入/输出 45

4.1.1字符常量 45

4.1.2字符的输入/输出 46

4.2数据的格式化屏幕输出 48

4.3数据的格式化键盘输入 51

4.4本章扩充内容 55

4.5本章知识点小结 58

4.6本章常见错误小结 58

习题4 59

本章实验题 61

第5章 选择控制结构 63

5.1生活中与计算机中的问题求解方法 63

5.2算法的概念及其描述方法 64

5.2.1算法的概念 64

5.2.2算法的描述方法 65

5.3关系运算符与关系表达式 66

5.4用于单分支控制的条件语句 68

5.5用于双分支控制的条件语句 69

5.6条件运算符和条件表达式 70

5.7用于多分支控制的条件语句 70

5.8用于多路选择的switch语句 75

5.9逻辑运算符和逻辑表达式 79

5.10本章扩充内容 82

5.10.1程序测试 82

5.10.2对输入非法字符的检查与处理 90

5.10.3位运算符 92

5.11本章知识点小结 95

5.12本章常见错误小结 96

习题5 98

本章实验题 99

第6章 循环控制结构 101

6.1循环控制结构与循环语句 101

6.2计数控制的循环 109

6.3嵌套循环 112

6.4条件控制的循环 115

6.5流程的转移控制 125

6.5.1goto语句 125

6.5.2 break语句 126

6.5.3 continue语句 127

6.5.4穷举法编程实例 129

6.6本章扩充内容 132

6.6.1结构化程序设计的核心思想 132

6.6.2常用的程序调试与排错方法 133

6.6.3类型溢出 134

6.7本章知识点小结 136

6.8本章常见错误小结 137

习题6 138

本章实验题 143

第7章 函数 145

7.1分而治之与信息隐藏 145

7.2函数的定义 146

7.2.1函数的分类 146

7.2.2函数的定义 146

7.3向函数传递值和从函数返回值 148

7.3.1函数调用 148

7.3.2函数原型 150

7.3.3函数封装与防御性程序设计 152

7.3.4函数设计的基本原则 158

7.4函数的递归调用和递归函数 159

7.5变量的作用域和存储类型 162

7.5.1变量的作用域 162

7.5.2变量的存储类型 164

7.6模块化程序设计 171

7.6.1模块分解的基本原则 171

7.6.2自顶向下、逐步求精 172

7.6.3模块化程序设计实例 173

7.7本章扩充内容 179

7.8本章知识点小结 181

7.9本章常见错误小结 182

习题7 183

本章实验题 186

第8章 数组 189

8.1一维数组的定义和初始化 189

8.2二维数组的定义和初始化 193

8.3向函数传递一维数组 197

8.4排序和查找 202

8.5向函数传递二维数组 214

8.6本章知识点小结 218

8.7本章常见错误小结 219

习题8 220

本章实验题 226

第9章 指针 227

9.1变量的内存地址 227

9.2指针变量的定义和初始化 228

9.3间接寻址运算符 231

9.4按值调用与模拟按引用调用 234

9.5用指针变量作函数参数的程序实例 239

9.6函数指针及其应用 242

9.7本章知识点小结 249

9.8本章常见错误小结 250

习题9 250

本章实验题 252

第10章 字符串 253

10.1字符串常量 253

10.2字符串的存储 253

10.3字符指针 255

10.4字符串的访问和输入/输出 256

10.4.1如何访问字符串中的单个字符 256

10.4.2字符串的输入/输出 256

10.5字符串处理函数 261

10.6向函数传递字符串 264

10.7从函数返回字符串指针 268

10.8本章扩充内容 271

10.9本章知识点小结 278

10.10本章常见错误小结 279

习题10 281

本章实验题 283

第11章 指针和数组 285

11.1指针和一维数组间的关系 285

11.2指针和二维数组间的关系 292

11.3指针数组及其应用 299

11.3.1指针数组用于表示多个字符串 299

11.3.2指针数组用于表示命令行参数 305

11.4动态数组 306

11.4.1 C程序的内存映像 306

11.4.2动态内存分配函数 307

11.4.3长度可变的一维动态数组 309

11.4.4长度可变的二维动态数组 311

11.5本章扩充内容 313

11.5.1常见的内存错误及其对策 313

11.5.2缓冲区溢出攻击 321

11.6本章知识点小结 323

11.7本章常见错误小结 324

习题11 324

本章实验题 328

第12章 结构体和共用体 331

12.1从基本数据类型到抽象数据类型 331

12.2结构体的定义 332

12.2.1为什么要定义结构体类型 332

12.2.2结构体变量的定义 334

12.2.3用typedef定义数据类型 336

12.2.4结构体变量的初始化 337

12.2.5嵌套的结构体 337

12.2.6结构体变量的引用 339

12.2.7结构体所占内存的字节数 342

12.3结构体数组的定义和初始化 344

12.3.1结构体数组的定义 344

12.3.2结构体数组的初始化 344

12.4结构体指针的定义和初始化 346

12.4.1指向结构体变量的指针 346

12.4.2指向结构体数组的指针 347

12.5向函数传递结构体 347

12.6共用体 353

12.7枚举数据类型 356

12.8动态数据结构——单向链表 358

12.8.1问题的提出 358

12.8.2链表的定义 359

12.8.3单向链表的建立 360

12.8.4单向链表的删除操作 363

12.8.5单向链表的插入操作 364

12.9本章知识点小结 367

12.10本章常见错误小结 368

习题12 369

本章实验题 370

第13章 文件操作 373

13.1二进制文件和文本文件 373

13.2文件的打开和关闭 374

13.3按字符读写文件 376

13.4按格式读写文件 382

13.5按数据块读写文件 388

13.6本章扩充内容 392

13.6.1文件的随机读写 392

13.6.2标准输入/输出重定向 395

13.7本章知识点小结 397

13.8本章常见错误小结 397

习题13 397

本章实验题 398

附录A C关键字 401

附录B Visual C++下基本数据类型的取值范围 402

附录C C运算符的优先级与结合性 403

附录D常用字符与ASCII值对照表 404

附录E常用的ANSI C标准库函数 405

参考文献 414