图书介绍

新概念C程序设计大学教程 第3版PDF|Epub|txt|kindle电子书版本网盘下载

新概念C程序设计大学教程 第3版
  • 张基温编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302439943
  • 出版时间:2017
  • 标注页数:361页
  • 文件大小:159MB
  • 文件页数:377页
  • 主题词:C语言-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

新概念C程序设计大学教程 第3版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1单元 C程序启步1

1.1 一个简单的计算器程序设计1

1.1.1 用伪代码描述的简单计算器程序算法1

1.1.2 将伪代码描述的算法逐步细化为C程序2

1.1.3 C语言程序的编译、链接与执行4

1.2 数据类型、标识符与声明6

1.2.1 数据类型6

1.2.2 C语言标识符规则6

1.2.3 声明7

1.3 表达式8

1.3.1 字面量8

1.3.2 数据实体8

1.3.3 含有操作符的表达式及其求值规则10

1.3.4 C语言的实现定义行为和未定义行为13

1.4 函数13

1.4.1 用函数组织程序13

1.4.2 函数定义、函数调用与函数返回15

1.4.3 函数声明16

1.4.4 main()函数17

1.4.5 库函数与头文件17

1.4.6 printf()函数的基本用法18

1.4.7 scanf()函数的基本用法19

1.5 程序测试22

1.5.1 程序中的语法错误和逻辑错误22

1.5.2 程序运行中的异常与错误22

1.5.3 程序测试及其观点22

1.5.4 程序的静态测试与动态测试23

1.5.5 设计用户友好的程序23

1.6 知识链接A:整数类型24

1.6.1 有符号整数类型与无符号整数类型24

1.6.2 标准整数类型与扩展整数类型25

1.6.3 宏与整数类型的极值宏26

1.6.4 整数常量使用的3种进制27

1.6.5 整数常量的标识27

1.7 知识链接B:浮点类型28

1.7.1 浮点类型的值的特性:取值范围与精度28

1.7.2 浮点数据的舍入模式29

1.7.3 浮点类型数据的操作限制30

1.7.4 浮点类型常量的书写格式30

1.7.5 Complex类型和Imaginary类型31

1.8 知识链接C:字符类型31

1.8.1 字符编码概述31

1.8.2 char类型的基本特点32

1.8.3 转义字符33

1.8.4 用scanf()和printf()输入与输出字符33

1.8.5 用getchar()和putchar()输入与输出字符34

习题135

第2单元 选择程序设计42

2.1 可选择计算类型的计算器程序算法分析42

2.1.1 粗略算法分析42

2.1.2 计算函数calculate()的算法分析43

2.1.3 判等操作符与关系操作符44

2.2 if-else型选择结构44

2.2.1 用if-else实现的calculate()函数44

2.2.2 if-else结构的特点45

2.2.3 if-else if结构46

2.2.4 瘸腿if-else嵌套结构47

2.2.5 逻辑操作符与逻辑表达式48

2.2.6 条件表达式49

2.2.7 良好的程序书写风格50

2.3 选择结构的测试51

2.3.1 白箱测试法51

2.3.2 使用double类型数据的calculate()代码52

2.3.3 等价分类法53

2.4 switch型选择结构56

2.4.1 基于整数值匹配的选择结构——switch结构56

2.4.2 一个字符分类程序57

2.4.3 用switch结构实现的calculate()函数59

2.4.4 switch结构与if-else结构的比较60

2.5 知识链接D:变量的访问属性61

2.5.1 变量的生存期与标识符的作用域61

2.5.2 局部变量63

2.6 知识链接E:#include指令与const限定符66

2.6.1 #define指令66

2.6.2 const限定符67

2.7 知识链接F:左值表达式与右值表达式68

2.7.1 左值表达式与右值表达式的概念69

2.7.2 左值表达式的应用70

习题271

第3单元 重复程序设计82

3.1 可连续计算的计算器算法分析82

3.1.1 初步算法82

3.1.2 算法细化82

3.1.3 重复结构的C语言实现83

3.2 while结构83

3.2.1 while结构的基本原理83

3.2.2 采用while结构的可连续型计算器主函数84

3.2.3 逗号操作符85

3.3 do-while结构86

3.3.1 do-while结构的基本原理86

3.3.2 采用do-while结构的可连续型计算器主函数86

3.4 for结构87

3.4.1 for结构的基本原理87

3.4.2 采用for结构的可连续型计算器主函数87

3.4.3 计数型重复结构89

3.4.4 复合赋值操作符与增值、自减操作符93

3.5 重复结构的程序测试94

3.5.1 基于路径覆盖的重复结构测试94

3.5.2 边值分析法与重复结构测试94

3.5.3 基于因果分析的程序测试96

3.6 break与continue98

3.6.1 break与continue语法概要98

3.6.2 实例:求素数99

3.7 知识链接G:表达式的副作用与序列点101

3.7.1 表达式的副作用101

3.7.2 序列点及其对表达式求值顺序的影响102

3.7.3 副作用编程对策104

3.8 知识链接H:算术数据类型转换105

3.8.1 算术表达式中的数据类型转换105

3.8.2 普通算术转换中的“提升拉齐”规则105

3.8.3 传送转换中的数据类型转换107

3.8.4 数据的显式类型转换108

3.8.5 数据类型转换风险109

习题3113

第4单元 算法基础121

4.1 穷举121

4.1.1 搬砖问题122

4.1.2 推断名次124

习题4.1128

4.2 迭代与递推132

4.2.1 用二分迭代法求方程在指定区间的根133

4.2.2 猴子吃桃子问题136

4.2.3 用辗转相除法求两个正整数的最大公因子138

习题4.2141

4.3 递归144

4.3.1 阶乘的递归计算144

4.3.2 汉诺塔147

4.3.3 台阶问题150

习题4.3151

4.4 模拟算法152

4.4.1 产品随机抽样153

4.4.2 用蒙特卡洛法求π的近似值156

4.4.3 事件步长法——中子扩散问题157

4.4.4 时间步长法——盐水池问题159

习题4.4163

第5单元 数组166

5.1 一维数组166

5.1.1 数组类型的特征166

5.1.2 数组的定义167

5.1.3 数组的初始化168

5.1.4 下标变量169

5.1.5 变长数组与常量数组170

5.2 排序与查找171

5.2.1 直接选择排序171

5.2.2 冒泡排序173

5.2.3 二分查找176

5.3 二维数组177

5.3.1 二维数组的概念177

5.3.2 二维数组的初始化178

5.3.3 访问二维数组元素180

5.4 字符串181

5.4.1 字符串字面量181

5.4.2 字符数组与C字符串变量182

5.4.3 字符串的输入与输出183

5.4.4 字符串操作的库函数186

习题5189

第6单元 可定制数据类型195

6.1 构造体类型195

6.1.1 构造体类型的特征与定制195

6.1.2 用typedef定义类型的别名196

6.1.3 构造体变量197

6.1.4 构造体变量的分量及其操作200

6.1.5 构造体数组201

6.1.6 复合字面量204

6.2 共用体类型205

6.2.1 共用体类型的定制及其变量的定义205

6.2.2 共用体类型与构造体类型的比较206

6.2.3 共用体变量的应用举例208

6.3 枚举类型210

6.3.1 枚举类型及其定义210

6.3.2 枚举变量及其声明211

6.3.3 对枚举变量和枚举元素的操作211

6.3.4 用枚举为类提供整型符号常量名称212

习题6212

第7单元 指针220

7.1 指针类型与指针变量220

7.1.1 指针及其声明220

7.1.2 同类型指针间的赋值与判等操作221

7.1.3 指针的递引用223

7.1.4 void指针224

7.1.5 用const限定指针224

习题7.1225

7.2 数组与指针230

7.2.1 数组名具有退化的左值性230

7.2.2 下标表达式的指针性质231

7.2.3 指针与字符串233

7.2.4 二维数组与指针235

习题7.2237

7.3 函数与指针243

7.3.1 指针作为函数参数243

7.3.2 带参主函数250

7.3.3 返回指针值的函数251

7.3.4 函数类型与指向函数的指针252

习题7.3258

7.4 指向构造体的指针与链表262

7.4.1 指向构造体类型变量的指针262

7.4.2 链表及其特点263

7.4.3 构建链表264

习题7.4266

7.5 动态存储分配270

7.5.1 申请需要的存储空间270

7.5.2 释放一个指针指向的存储空间272

7.5.3 修改一个指针指向的存储空间大小273

7.5.4 构建动态链表273

7.5.5 带有弹性数组成员的构造体277

习题7.5278

第8单元 算法设计进阶280

8.1 分治策略280

8.1.1 快速排序280

8.1.2 自行车带人问题283

习题8.1286

8.2 回溯策略288

8.2.1 迷宫问题289

8.2.2 八皇后问题292

习题8.2294

8.3 贪心策略296

8.3.1 旅行费用问题296

8.3.2 删数问题299

习题8.3301

8.4 动态规划303

8.4.1 动态规划概述303

8.4.2 点数值三角形的最优路径305

8.4.3 背包问题307

习题8.4311

第9单元 语海拾贝314

9.1 外部变量314

9.1.1 外部变量及其定义314

9.1.2 外部变量的链接性314

9.1.3 外部变量的风险319

9.2 带参宏319

9.2.1 带参宏的基本定义格式319

9.2.2 使用带参宏的注意事项320

9.2.3 带参宏与函数的比较321

9.3 内联函数322

9.3.1 内联函数的概念322

9.3.2 内联函数的定义323

9.3.3 内联函数的限制323

9.4 数据文件324

9.4.1 数据文件及其分类324

9.4.2 FILE类型及其指针325

9.4.3 数据文件操作的一般过程326

9.4.4 程序示例330

9.5 位操作与位段331

9.5.1 按位逻辑运算332

9.5.2 移位运算333

9.5.3 位段334

习题9336

附录A C语言运算符的优先级和结合方向344

附录B C语言的关键字345

附录C 格式化输出函数printf()的格式346

C.1 printf()格式参数的结构346

C.2 printf()格式符346

C.3长度修饰符347

C.4域宽与精度说明348

C.5格式前缀修饰符348

附录D 格式化输入函数scanf()的格式349

D.1 scanf()指针参数349

D.2 scanf()格式参数的结构349

D.2.1 格式参数字符串的结构349

D.2.2 基本格式符和长度修正349

D.2.3 字段宽度350

D.3 scanf()的停止与返回351

D.4 数值数据的输入控制351

D.5 字符型数据的输入控制351

D.5.1 在格式字段前添加空格使格式字段可以跳过空白字符351

D.5.2 用扫描集控制字符数组的读入351

附录E 编译预处理命令352

E.1 宏定义352

E.2 文件包含352

E.3 条件编译352

附录F C标准库头文件353

附录G C语言常用的标准库函数354

G.1 数学函数354

G.2 字符函数和字符串函数355

G.3 输入与输出函数356

G.4 动态内存分配函数357

G.5 退出程序函数358

G.6 数值转换函数358

G.7 时间和日期函数358

附录H C99、C89与K&RC主要内容的比较360

参考文献361

热门推荐