问题求解与程序设计PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:鲍春波,林芳,谢丽聪编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2015
- ISBN:9787302402657
- 页数:409 页
第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
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《脱硝运行技术1000问》朱国宇编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019