具体描述
编辑推荐
《C++程序设计(第2版)》由刘璟编著,本书特色:●培养高级程序员的启蒙教材。●深入浅出,严谨生动,为师生构建愉快的教学过程。●循序渐进,稳步提升,引导读者进入自由编程佳境。●启迪智慧,指点迷津,点燃读者的创造激情。 内容简介
《普通高等教育“十一五”国家级规划教材:C++程序设计(第2版)》详细了介绍C++程序设计语言的语法规则和程序设计技术,通过大量编程实例(与C++11标准及Visual C++2012系统兼容)讲解如何使用C++语言解决各种具体问题,特别注重提高读者的编程能力。
《普通高等教育“十一五”国家级规划教材:C++程序设计(第2版)》主要内容包括C++的各种基本数据类型、导出类型及其运算;分支、循环程序结构与函数的编程技巧;类与对象、继承与派生的概念以及面向对象程序设计方法;模板与,I/O流的使用以及异常处理等。在附录中介绍了两种常用的集成开发环境(IDE)和标准模板库(STL)的使用方法。
《普通高等教育“十一五”国家级规划教材:C++程序设计(第2版)》内容严谨,注重实用,深入浅出,简明生动,适合作为高等学校一般理工科(含计算机)专业程序设计课程的教材,也可供自学C++程序设计的读者使用。 目录
第1章 绪论
第2章 C++语言初步
第3章 基本数据类型与基本运算
第4章 程序的基本控制结构及导出数据类型
第5章 函数
第6章 指针和引用类型及动态内存分配
第7章 类与对象
第8章 继承与派生
第9章 模板
第10章 输入输出(I/O)流
*第11章 异常处理
附录 AVisual C++ 2008IDE概述
附录 BVisual C++ 6.0编程环境简介
附录 C标准模板库
附录 D标准函数
附录 E一个OPP程序设计实例——楼宇电梯系统仿真程序的OPP设计过程
参考文献
《C++程序设计(第2版)》:精炼篇 概述 《C++程序设计(第2版):精炼篇》是一部精心打磨的C++入门与进阶教材,面向高等院校的计算机科学与技术类专业以及相关领域的学生。本书旨在为读者构建扎实的C++编程基础,引导其深入理解面向对象编程的核心概念,并掌握实用的程序设计技巧。全书结构清晰,内容翔实,理论与实践相结合,力求在有限篇幅内传递最精华的知识。 本书特点 精炼而不失深度: 在“十一五”国家级规划教材的框架下,本书进一步提炼了C++的核心知识点,去除了冗余和过于晦涩的内容,使得学习路径更加清晰高效。 理论与实践并重: 每一章节都配备了适量的示例代码和练习题,帮助读者在理解理论的同时,动手实践,巩固所学。 循序渐进,逻辑严谨: 内容组织上,从最基本的C++语法讲起,逐步过渡到函数、数组、指针、字符串等基础概念,进而深入面向对象编程的核心——类与对象,再到继承、多态、模板等高级特性。 贴近实际开发: 书中的示例和案例均来源于实际的编程场景,让读者感受到C++在解决实际问题中的强大能力。 目录结构与内容详解 第一部分:C++语言基础 1. C++语言概述与开发环境搭建 C++的起源与发展: 简述C++作为一门强大的通用编程语言,在软件开发领域的地位和影响力。 C++的特点: 强调其兼顾过程式、面向对象和泛型编程的特性。 开发环境的配置: 指导读者选择并安装合适的C++集成开发环境(IDE),例如Visual Studio、GCC/G++配合编辑器等,并进行简单的配置,为后续学习做好准备。 第一个C++程序: 通过经典的"Hello, World!"程序,让读者熟悉C++程序的编译、链接和运行过程,建立初步的编程信心。 2. 基本数据类型、变量与运算符 数据类型: 详细介绍C++中的基本数据类型,包括整型(`int`, `short`, `long`等)、浮点型(`float`, `double`)、字符型(`char`)以及布尔型(`bool`)。讲解不同数据类型的存储空间、取值范围以及使用场景。 变量的声明与初始化: 阐述变量的命名规则、声明方式以及初始化操作,强调变量是存储数据的内存空间,需要通过标识符来访问。 常量: 介绍`const`关键字和预处理指令`define`的应用,区分它们在常量定义上的差异和使用时的注意事项。 运算符: 涵盖算术运算符(`+`, `-`, ``, `/`, `%`)、关系运算符(`<`, `>`, `==`, `!=`, `<=`, `>=`)、逻辑运算符(`&&`, `||`, `!`)、位运算符、赋值运算符以及条件运算符。重点讲解运算符的优先级和结合性,以及表达式的求值过程。 3. 程序控制结构 顺序结构: C++程序的默认执行流程,语句的逐条执行。 选择结构: `if`语句:单分支、双分支和多分支(`if-else if-else`)的选择结构。 `switch`语句:用于处理多路选择的简洁方式,讲解`case`、`break`和`default`的用法。 循环结构: `while`循环:当型循环,先判断条件再执行循环体。 `do-while`循环:直到型循环,先执行一次循环体再判断条件。 `for`循环:计数型循环,常用于已知循环次数的场景,详细讲解其初始化、条件和更新部分。 循环控制语句:`break`用于提前终止循环,`continue`用于跳过当前循环体的一次迭代。 跳转语句: `goto`语句,鼓励读者尽量避免使用,以免造成代码混乱。 4. 函数 函数的定义与声明: 讲解如何定义一个函数,包括函数头(返回类型、函数名、参数列表)和函数体。介绍函数声明(原型)的作用,以及它们在程序中的位置。 函数的调用: 描述函数如何被调用,以及参数传递机制(传值与传引用)。 参数传递: 传值(Pass by Value):函数接收参数的副本,对副本的修改不影响实参。 传引用(Pass by Reference):函数直接操作实参的内存地址,对形参的修改会直接影响实参。 函数返回值: 讲解函数的返回值类型以及`return`语句的使用。 局部变量与全局变量: 讨论变量的作用域和生命周期,区分局部变量和全局变量。 函数重载: 允许在同一作用域内定义多个同名函数,但参数列表(个数、类型或顺序)必须不同。 递归函数: 能够调用自身的函数,常用于解决具有递归定义的问题。 5. 数组与字符串 数组: 一维数组:声明、初始化和访问数组元素。 多维数组:二维数组及以上,讲解其内存存储方式和操作。 数组作为函数参数:讲解如何将数组传递给函数,以及在函数中操作数组。 字符串: C风格字符串:以空字符` `结尾的字符数组,介绍常用的字符串处理函数(如`strlen`, `strcpy`, `strcat`, `strcmp`)。 C++字符串类(`std::string`):介绍`std::string`的创建、访问、拼接、查找、替换等常用操作,强调其比C风格字符串更加安全和方便。 6. 指针与引用 指针的概念: 指针是存储内存地址的变量。讲解指针的声明、初始化以及`&`(取地址)和``(解引用)运算符。 指针与数组: 阐述指针与数组之间的紧密关系,如何使用指针遍历数组,以及指针算术。 指针与函数: 讲解指针作为函数参数,实现更灵活的数据操作。 动态内存分配: 使用`new`和`delete`运算符动态分配和释放内存,避免内存泄漏。 常量指针与指针常量: 区分指向常量的指针和指向非常量的常量指针。 引用(Reference): 引用是变量的别名。讲解引用的声明、初始化,以及其与指针的异同,特别是在函数参数传递中的应用。 第二部分:面向对象编程 7. 类与对象 面向对象编程思想: 介绍封装、继承、多态这三大基本特性。 类的定义: 讲解如何使用`class`关键字定义类,包括数据成员(属性)和成员函数(方法)。 访问控制: `public`, `private`, `protected`关键字的作用,理解封装的意义。 对象的创建与使用: 类的实例化过程,如何创建对象,以及如何通过对象访问其成员。 构造函数: 特殊的成员函数,用于在创建对象时初始化对象。讲解默认构造函数、带参构造函数、拷贝构造函数。 析构函数: 特殊的成员函数,在对象生命周期结束时自动调用,用于释放资源。 this指针: 指向当前对象本身的指针,用于区分成员变量与同名局部变量。 8. 继承与派生 继承的概念: 允许一个类(派生类)继承另一个类(基类)的属性和方法,实现代码重用。 派生类与基类: 讲解如何定义派生类,以及派生类如何访问基类的成员(受访问控制符影响)。 继承方式: `public`, `private`, `protected`继承,理解它们对派生类访问基类成员的影响。 多重继承: 一个派生类继承自多个基类。 菱形继承与虚继承: 讲解多重继承可能带来的问题(如重复基类),以及虚继承(`virtual`关键字)的解决方法。 9. 多态 多态的概念: 允许使用父类指针或引用指向子类对象,从而实现不同的行为。 虚函数: 在基类中声明为`virtual`的函数,使得派生类可以重写(override)该函数,并在运行时根据实际对象类型调用相应的函数。 纯虚函数与抽象类: 纯虚函数是没有函数体的虚函数,包含纯虚函数的类称为抽象类,不能实例化对象。 运行时多态: 通过虚函数实现的动态联编,这是C++多态的核心。 10. 运算符重载 运算符重载的概念: 为已有的运算符赋予新的含义,使其能够作用于用户自定义类型的对象。 重载的规则: 讲解哪些运算符可以重载,哪些不可以,以及重载函数的参数和返回值。 成员函数重载与友元函数重载: 讲解两种实现运算符重载的方式,以及各自的适用场景。 常用运算符的重载: 如算术运算符、关系运算符、输入输出运算符(`<<`, `>>`)、下标运算符(`[]`)等。 第三部分:高级特性与实践 11. 模板 函数模板: 编写通用的函数,能够处理不同类型的数据,提高代码复用性。 类模板: 编写通用的类,能够存储和操作不同类型的数据,例如`std::vector`和`std::map`就是类模板的典型应用。 模板的实例化: 编译器如何根据实际使用类型生成具体的函数或类。 12. 输入输出流 标准输入输出流: `cin`(标准输入)和`cout`(标准输出)。 文件输入输出流: `ifstream`, `ofstream`, `fstream`,实现对文件的读写操作。 流的格式控制: 使用`iomanip`头文件中的操纵符,如`setw`, `setprecision`, `fixed`, `scientific`等,控制输出的格式。 13. 异常处理 异常的概念: 程序运行时发生的错误或异常情况。 `try-catch-throw`机制: 学习如何使用`try`块捕获可能发生的异常,使用`throw`关键字抛出异常,以及使用`catch`块处理异常。 标准异常类: `std::exception`及其派生类,用于处理常见的异常类型。 附录 C++标准库概览 常见错误与调试技巧 学习建议 动手实践: 理论知识的学习离不开大量的编程实践。请务必亲手编写、运行和调试书中的每一个示例代码。 独立思考: 在遇到问题时,尝试独立分析,查阅资料,寻找解决方案,培养解决问题的能力。 持续学习: C++是一门博大精深的语言,本书提供的只是基础,鼓励读者在掌握基础后,继续深入学习C++的各个方面,如STL(Standard Template Library)、多线程、网络编程等。 《C++程序设计(第2版):精炼篇》旨在成为读者C++学习旅程中坚实的起点,助您在计算机科学的道路上稳步前行。