图书介绍
问题求解与程序设计pdf电子书版本下载
- 鲍春波,林芳,谢丽聪编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302402657
- 出版时间:2015
- 标注页数:409页
- 文件大小:59MB
- 文件页数:430页
- 主题词:C语言-程序设计-高等学校-教材
PDF下载
下载说明
问题求解与程序设计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