像计算机科学家一样思考C++

需积分: 13 12 下载量 83 浏览量 更新于2024-07-17 收藏 1.09MB PDF 举报
"像计算机科学家一样思考(C++版)" 是一本旨在教授如何用计算机科学家的思维方式学习C++编程的书籍。由Allen B. Downey撰写,并由臧秀涛、张峰、康育哲、张羊鸿、李俞宗、upo等人翻译成中文。 本书分为多个章节,详细介绍了编程的基本概念和技术。以下是各章节的关键知识点: 第1章 编程之路: - 描述了编程语言的概念,解释了它们是人与计算机交流的语言。 - 程序是实现特定功能的指令集合。 - 调试是寻找并修复代码错误的过程。 - 形式语言(如编程语言)与自然语言之间的区别。 - 通过编写第一个程序来实践编程。 第2章 变量和类型: - 学习了如何使用更多的输出语句。 - 值、变量和赋值的概念,以及如何在C++中操作它们。 - 关键字是编程语言中具有特殊含义的词汇。 - 操作符如加法、减法等,以及它们的操作顺序。 - 如何组合操作符和变量进行更复杂的计算。 第3章 函数: - 引入了浮点数和类型转换(如`double`到`int`)。 - 介绍了数学函数的使用。 - 定义和调用函数的步骤。 - 参数和参数值的概念,以及它们在函数内的局部性。 - 如何创建多参数和有返回值的函数。 第4章 条件和递归: - 介绍取模操作符 `%`,以及如何在条件执行中使用它。 - `if`语句用于执行条件分支。 - 链式条件和嵌套条件结构的使用。 - `return`语句用于结束函数并返回值。 - 递归的概念,如何定义递归函数,以及避免无穷递归的方法。 - 通过递归函数的栈图来理解递归执行过程。 第5章 有返回值的函数: - 返回值是函数执行后传递给调用者的结果。 - 程序开发过程中,函数的使用和组合。 - 函数重载允许同名函数处理不同类型的参数。 - 使用布尔值进行逻辑运算,并将其应用于条件判断。 - `main`函数的返回值及其在程序结束时的作用。 - 深入递归的讨论,以及在解决复杂问题时的应用。 第6章 迭代: - 多次赋值允许变量值的变化。 - `while`语句用于重复执行代码块。 - 制表和处理二维表,涉及数据结构的概念。 - 局部变量只在其定义的代码块内有效。 - 泛化的概念,如何将通用解决方案应用于多种情况。 第7章 字符串那些事儿: - 字符串的存储和操作,如`apstring`类型。 - 提取单个字符,获取字符串长度,以及遍历字符串。 - 错误处理,特别是运行时错误。 - 使用`find`函数搜索子串。 - 自定义`find`函数的实现,强调函数封装。 - 增量和减量操作符在字符串操作中的应用。 - 字符串连接,以及字符串的可变性和可比较性。 - 字符分类,例如区分字母、数字和符号。 这些章节构建了一个全面的C++编程基础,涵盖了从基本语法到高级概念的多个层次,旨在帮助读者像计算机科学家一样思考问题,解决问题。