具体描述
《C++程序设计实用教程》以程序案例为线索,以问题需求驱动的方式深入浅出地介绍了C++语言的基本语法、程序设计规范和实用技法。书中的例题程序按照科学的原则、完整的结构、规范的格式设计,并经过多方面的测试,可供读者精读和模仿。各章配有一定的实用程序和趣味程序。大部分章后有基本语法练习题、程序设计练习题和程序设计竞赛题。
《C++程序设计实用教程》内容丰富,详略得当。全书共16章分成三个部分:第一部分(第1章)计算与算法基础;第二部分(第2-第8章)面向过程程序设计:第三部分(第9-第16章)面向对象程序设计。
作者简介
目录信息
第1章 导论
1.1 计算系统
1.1.1 珠算系统
1.1.2 电子计算机基本原理
1.1.3 信息数字化及其标准化
1.2 计算机程序设计语言概述
1.2.1 计算机低级语言与高级语言
1.2.2 高级语言程序要素
1.2.3 高级语言程序设计方法
1.3 算法基础
1.3.1 算法的概念
1.3.2 算法的表示
1.4 小结
练习1
第二部分 面向过程程序设计
第2章 C++概貌
2.1 基本程序设计
2.1.1 “算术测验”程序之
2.1.2 C++程序基本元素
2.1.3 输入输出及赋值操作
2.2 基本程序改进
2.2.1 “算术测验”程序之二
2.2.2 C++基本运算
2.2.3 C++程序流程控制
2.3 基本程序扩展
2.3.1 简单函数
2.3.2 多文件结构
2.4 C++程序开发流程
2.5 C++应用程序集成开发环境简介
2.5.1 MinGWDeveloperStudio简介
2.5.2 VC++控制台应用程序开发集成环境
2.6 趣味程序一变换的字符
2.7 小结
练习2
第3章 数据的表示及I/O流格式控制
3.1 数据的表示
3.1.1 常量
3.1.2 变量
3.1.3 变量的引用
3.1.4 常量的引用
3.2 函数
3.2.1 函数的形式参数
3.2.2函数的返回类型
3.3 运算表达式
3.3.1 C++运算符汇总
3.3.2 单目运算
3.3.3 二进制位运算
3.3.4 迭代赋值运算
3.3.5 抽取及插入运算
3.3.6 三目条件运算
3.3.7 逗号运算
3.3.8 区分作用域
3.4 语句
3.5 I/O流格式控制
3.6 应用举例
3.6.1 深入理解ASCII字符集
3.6.2 深入理解整型数据
3.6.3 输出字符图案
3.7 趣味程序——行走的字符串
3.8 小结
练习3
第4章 变量设计
4.1 穷举计算
4.1.1 “百钱买百鸡”问题
4.1.2 判定素数
4.2 迭代计算
4.2.1 牛顿迭代法
4.2.2 级数计算
4.2.3 最大公因数和最小公倍数
4.3 标志变量的设计与应用
4.3.1 整除问题
4.3.2 三角形的周长及面积
4.4 单变量版“评委评分”程序设计
4.4.1 问题描述及算法分析
4.4.2 程序实现
4.5 趣味程序——击打字母游戏
4.6 小结
练习4
第5章 数组与指针
5.1 数组
5.1.1 数组的定义
5.1.2 访问数组元素
5.1.3 多维数组
5.2 数组版“评委评分”程序设计
5.2.1 问题描述及算法分析
5.2.2 程序实现
5.3 指针
5.3.1 定义指针变量
5.3.2 指针运算
5.4 动态变量和动态数组——堆变量和堆数组
5.5 地址值在函数之间传递
5.5.1 传递地址值——值传递
5.5.2 传递指针变量一引用传递
5.5.3 返回地址
5.6 堆数组版“评委评分”程序设计
5.7 字符数组与C一字符串
5.7.1 字符数组
5.7.2 C一字符串
5.7.3 字符串I/O操作
5.7.4 C一字符串处理函数
5.8 指针数组与数组指针
5.8.1 指针数组
5.8.2 数组指针
5.9 趣味程序
5.9.1 生日的概率问题
5.9.2 匹配的概率问题
5.9.3 模仿密码输入
5.10 小结
练习5
第6章 函数
第7章 程序结构
第8章 链表
第三部分 面向对象程序设计
第9章 类与类的对象
第10章 构造函数及赋植运算
第11章 静态成员及友元
第12章 类模板
第13章 运算符重载
第14章 继承与多态性
第15章 I/O流
第16章 异常处理
附录A ASCII字符集
附录B 常用库函数参考
参考文献
· · · · · · (收起)
读后感
用户评价
从语言风格上讲,这本书的文字表达极其晦涩和生硬,充满了陈旧的术语和不准确的描述,读起来就像是在阅读一篇被机器翻译了无数次的文档。很多关键的解释性段落冗长不堪,一个简单的概念要绕好几页才能勉强说明白,读者的注意力很容易就分散了。例如,当解释内存管理时,作者使用了大量与现代标准库特性相悖的旧式C风格写法,这不仅误导了读者,而且在实际工作中几乎没有应用价值。这本书似乎是从上世纪九十年代的某个大学教材中直接搬运过来的,没有经过任何现代化和通俗化的处理。如果你渴望一本能让你轻松愉快地爱上C++的书,请果断避开此书,它只会让你对编程产生畏惧感。
这本书的封面设计和排版简直是一场灾难,色彩搭配土得掉渣,字体选择也毫无章法,让人一看就提不起学习的兴趣。装帧质量也极其粗糙,书页边缘毛刺感很重,翻阅几次后,书脊就开始出现松动的迹象,感觉它撑不了多久就会散架。内容上,虽然勉强算是一本入门级的教材,但深度实在令人失望。对于一些关键概念的讲解,作者似乎只是简单地罗列了定义,缺乏生动的案例和深入的剖析,让人感觉像是在啃一本技术手册而不是一本教程。尤其是对于现代C++特性的介绍,几乎可以说是寥寥无几,完全跟不上业界的发展速度,学完这本书,我感觉自己掌握的还是停留在上个世纪的C++水平。如果想真正提升自己的编程能力,这本书提供的帮助非常有限,更像是一本为应付某个过时考试而匆忙赶制出来的资料集,实在不推荐给任何有志于深入学习这门语言的读者。
这本书的组织结构混乱得令人发指,完全没有体现出任何精心设计的教学逻辑。它更像是一个程序员随手记下的笔记集合,知识点跳跃性极大,前一页还在讲指针的底层原理,后一页就突然冒出模板元编程的只言片语,中间缺少必要的过渡和铺垫。对于初学者来说,这种跳跃是致命的,它会制造大量的认知空白,让你不知道该从哪里入手,又该往哪个方向深入。作者似乎认为读者已经具备了深厚的计算机科学背景,所以他对“为什么”的解释严重不足,只告诉你“怎么做”,但不告诉你背后的机制和权衡。我不得不承认,我不得不去其他地方找更系统化的资源来弥补这本书留下的知识断层。这本书如果想作为教程,其结构上的缺陷是不可原谅的。
我花了整整一个月的时间啃完了这本书,体验真是五味杂陈。坦白说,如果你的目标只是想了解C++的基础语法,这本书勉强可以作为一种“速查手册”,因为它确实把`for`循环、`if`语句这些最基本的结构都写进去了。但是,一旦涉及到面向对象编程的核心——继承、多态、虚函数这些概念时,作者的阐述就显得力不从心了。代码示例往往停留在“Hello World”的初级阶段,缺乏复杂、贴近实际工程问题的演示,这使得读者很难将理论知识转化成实际的编程能力。更令人沮丧的是,书中的错误非常多,编译不过去的代码片段比比皆是,每遇到一个错误,我就得花大量时间在搜索引擎上验证,这极大地打断了学习的连贯性和心流。这本书的编辑和校对团队显然没有尽职尽责,读起来体验极差,简直是对读者时间的浪费。
这本书最大的问题在于它对“实用”这个词的理解出现了严重的偏差。它所展示的“实用”代码,充斥着大量的全局变量、硬编码魔数以及对标准异常处理机制的漠视。它教导的编程范式是那种在现代软件工程实践中早就被淘汰的“面条式”代码风格,完全没有体现出模块化、可维护性以及健壮性的重要性。我尝试将书中示例的代码移植到一个稍微复杂一点的项目中,结果发现这些代码片段之间耦合度极高,几乎无法重用,修改其中一处可能导致整个程序崩溃。这本书与其说是教人“设计”程序,不如说是教人如何写出难以调试和维护的“一次性脚本”。对于希望构建长期、稳定软件的开发者来说,这本书提供的指导是具有误导性的,甚至是有害的。