图书介绍

问题求解与程序设计pdf电子书版本下载

问题求解与程序设计
  • 鲍春波,林芳,谢丽聪编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302402657
  • 出版时间:2015
  • 标注页数:409页
  • 文件大小:59MB
  • 文件页数:430页
  • 主题词:C语言-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
下载压缩包 [复制下载地址] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页

下载说明

问题求解与程序设计PDF格式电子书版下载

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

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

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

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

图书目录

第1章 计算机与程序设计 1

1.1 什么是计算机 1

1.2 如何存储程序 4

1.2.1 存储单位 4

1.2.2 存储方式 4

1.2.3 存取操作 5

1.2.4 存储器分类 5

1.2.5 文件与目录 5

1.3 软件与程序设计 7

1.4 典型程序演示 9

1.5 程序设计方法 10

1.5.1 结构化方法 10

1.5.2 面向对象方法 11

1.6 程序设计语言 11

1.7 C/C++语言简介 14

1.8 C/C++结构化程序设计基本环境 16

小结 18

概念理解 18

基本功训练 19

第2章 数据类型与变量——程序设计入门 20

2.1 在屏幕上输出文字信息 20

2.1.1 C语言程序的基本框架 21

2.1.2 注释 22

2.1.3 预处理指令 22

2.1.4 主函数——应用程序的入口 23

2.1.5 转义序列 23

2.1.6 保留字与分隔符 24

2.1.7 标准输出函数 24

2.2 计算两个固定整数的和与积 25

2.2.1 输出列表和占位符 27

2.2.2 数据类型——整型 28

2.2.3 常量与变量 29

2.2.4 算术运算和算术表达式 31

2.2.5 赋值语句 31

2.2.6 程序设计的风格 32

2.3 计算任意两个整数的和与积 33

2.3.1 标准输入函数 34

2.3.2 测试用例 35

2.3.3 程序的顺序结构 36

2.4 温度转换 37

2.4.1 变量的初始化 39

2.4.2 运算的优先级和结合性 41

2.5 求两个整数的平均值 42

2.5.1 浮点型数据 44

2.5.2 浮点型数据的输入与输出 46

2.5.3 浮点型数据的舍入误差和溢出问题 48

2.5.4 不同类型之间的转换 50

2.6 计算圆的周长和面积 51

2.6.1 符号常量 52

2.6.2 带参数的宏 53

小结 54

概念理解 54

常见错误 55

在线评测 56

项目设计 58

第3章 判断与决策——选择程序设计 60

3.1 让成绩合格的学生通过 60

3.1.1 关系运算与逻辑判断 61

3.1.2 逻辑常量与逻辑变量 63

3.1.3 单分支选择结构 64

3.1.4 特殊形式的判断条件 66

3.1.5 比较两个实数的大小 67

3.1.6 复合语句 69

3.2 按成绩把学生分成两组 70

3.2.1 双分支选择结构 73

3.2.2 条件运算 74

3.3 按成绩把学生分成多组(百分制) 75

3.3.1 嵌套的if结构 81

3.3.2 嵌套的if-else结构 82

3.3.3 多分支选择结构 86

3.4 按成绩把学生分成多组(五级制) 87

3.4.1 字符常量和变量 90

3.4.2 字符型变量的输入与输出 91

3.5 判断闰年问题 93

3.5.1 逻辑运算 94

3.5.2 逻辑运算的优先级和短路性 95

小结 96

概念理解 97

常见错误 97

在线评测 98

项目设计 100

第4章 重复与迭代——循环程序设计 101

4.1 打印规则图形 101

4.1.1 计数控制的while循环 103

4.1.2 自增、自减运算 104

4.2 自然数求和 105

4.2.1 迭代与赋值 107

4.2.2 更多的赋值运算 109

4.2.3 for循环 109

4.3 简单的学生成绩统计 115

4.3.1 标记控制的while循环 117

4.3.2 程序的容错能力 118

4.3.3 程序调试与测试 119

4.3.4 输入输出重定向 119

4.3.5 do-while循环 121

4.4 计算2的算术平方根 123

4.4.1 误差精度控制的while循环 125

4.4.2 const常量 126

4.5 打印九九乘法表 127

4.5.1 多重循环嵌套 128

4.5.2 穷举法 131

4.6 判断一个数是否是素数 132

4.6.1 break/continue 135

4.6.2 goto语句 138

4.7 随机游戏模拟 140

4.7.1 随机数的生成 141

4.7.2 自顶向下、逐步求精 144

4.7.3 游戏程序的基本结构 145

4.8 结构化程序设计 145

小结 146

概念理解 147

常见错误 147

在线评测 148

项目设计 151

第5章 分而治之——模块化程序设计 152

5.1 再次讨论猜数游戏模拟问题 152

5.1.1 模块化思想 155

5.1.2 函数定义 156

5.1.3 函数调用 160

5.1.4 函数原型 165

5.1.5 函数测试 166

5.2 是非判断问题求解 166

5.2.1 判断函数 166

5.2.2 变量的存储类别与作用域 168

5.2.3 函数调用堆栈 175

5.3 递归问题求解 177

5.3.1 问题的递归描述 178

5.3.2 递归函数 178

5.4 用计算机绘图 182

5.4.1 接口设计 186

5.4.2 接口实现 188

5.4.3 全局变量 189

5.4.4 私有函数 191

5.4.5 建立自己的库 192

5.5 学生成绩管理——大规模问题求解 193

5.5.1 程序文件模块 196

5.5.2 构建多文件应用程序 196

小结 198

概念理解 198

常见错误 199

在线评测 199

项目设计 202

第6章 批量数据处理——数组程序设计 203

6.1 一组数据排序问题 203

6.1.1 什么是一维数组 205

6.1.2 一维数组的声明 206

6.1.3 一维数组的引用 207

6.1.4 一维数组初始化 209

6.1.5 让下标从1开始 209

6.1.6 交换排序 210

6.1.7 一维数组作为函数的参数 212

6.2 三门课程成绩按总分排序问题 215

6.2.1 二维数组 218

6.2.2 选择排序 220

6.2.3 二维数组作为函数的参数 221

6.3 在成绩单中查找某人的成绩 222

6.3.1 字符数组与字符串 226

6.3.2 字符串的输入与输出 227

6.3.3 字符串的基本操作 229

6.3.4 标准库中的字符及字符串函数 230

6.3.5 字符串数组 234

6.3.6 线性查找 235

6.3.7 折半查找 236

6.4 大整数加法 237

6.4.1 逻辑右对齐相加法 240

6.4.2 逆置左对齐相加法 241

小结 242

概念理解 243

常见错误 244

在线评测 244

项目设计 247

第7章 内存单元的地址——指针程序设计 250

7.1 用函数交换两个变量的值 251

7.1.1 指针变量的声明和初始化 254

7.1.2 指针变量的引用 255

7.1.3 指针作为函数的参数 256

7.2 再次讨论批量数据处理问题 259

7.2.1 指向一维数组的指针和指针运算 261

7.2.2 用指针访问一维数组的元素 263

7.2.3 用const修饰指针 267

7.3 二维批量数据处理问题的指针版 267

7.3.1 二维数组名与行列地址 270

7.3.2 用指针访问二维数组的元素 271

7.3.3 指针的指针 274

7.4 通用函数问题 275

7.4.1 指向函数的指针 277

7.4.2 指向函数的指针作为函数的参数 278

7.5 再次讨论字符串 279

7.5.1 字符指针与字符数组 282

7.5.2 字符型指针数组 284

7.5.3 用字符指针进行字符串排序 286

7.6 程序运行时提供必要的参数 286

7.6.1 命令行参数 288

7.6.2 集成环境下设置应用程序参数 289

7.7 数据规模未知的问题求解 289

7.7.1 void类型的指针 293

7.7.2 动态分配内存 294

7.7.3 动态申请字符串 295

7.7.4 动态申请一维数组 296

7.7.5 动态申请二维数组 296

7.7.6 让指针指向被调用函数中动态申请的内存 300

7.7.7 C++中的引用 303

小结 304

概念理解 305

常见错误 306

在线评测 307

项目设计 310

第8章 客观对象的描述——结构程序设计 312

8.1 基于对象数组的学生成绩管理问题 312

8.1.1 结构类型 316

8.1.2 结构变量的声明及使用 317

8.1.3 typedef 319

8.1.4 指向结构的指针 321

8.1.5 结构变量的内存映像 324

8.1.6 结构类型定义的嵌套 325

8.1.7 结构数组和指向结构数组的指针 325

8.1.8 结构作为函数的参数或返回值 327

8.1.9 抽象数据类型 328

8.2 基于对象链表的学生成绩管理系统 329

8.2.1 自引用结构与链表 334

8.2.2 静态链表和动态链表 336

8.2.3 返回链表的头指针 340

8.2.4 学生对象链表 341

8.3 志愿者管理问题 341

8.3.1 联合 343

8.3.2 志愿者信息存储 345

8.4 洗牌和发牌模拟问题 345

小结 351

概念理解 351

常见错误 352

在线评测 352

项目设计 356

第9章 数据的永久存储——文件程序设计 357

9.1 给一个源程序文件做备份 357

9.1.1 文件与目录 360

9.1.2 文件格式 361

9.1.3 文件操作的一般步骤 361

9.1.4 字符读写 363

9.1.5 字符串读写(无格式的行读写) 364

9.2 把数据保存到文件中 365

9.2.1 格式化读写 370

9.2.2 二进制块数据读写 372

小结 378

概念理解 378

常见错误 379

在线评测 379

项目设计 382

第10章 位运算——低级程序设计 383

10.1 网络IP地址的表示 383

10.1.1 按位左移或右移 385

10.1.2 按位取反 387

10.1.3 按位与 387

10.2 加密解密问题 389

10.2.1 按位或 390

10.2.2 按位异或 391

10.3 一个图形类型优化问题 391

小结 396

概念理解 396

常见错误 396

在线评测 397

项目设计 398

附录A C语言的关键字 401

附录B ASCII码 402

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

附录D C++版的HelloWorld! 405

D.1 C++的头文件 405

D.2 命名空间 406

D.3 C++的输入和输出 407

参考文献 409

精品推荐