前言 C++语言是一种高效实用的程序设计语言,由C语言发展演变而来。 C++语言全面兼容了C语言,既支持过程化的程序设计,也支持面向对象的程序设计。它不仅是当前产业界技术人员广泛使用的编程工具,也是很多高校开设“计算机程序设计入门”课程的首选语言。众所周知,C++语言的语法概念众多,细节烦琐,使用灵活。本书针对初学者的特点,力求做到深入浅出,将复杂的概念用简洁易懂的语言来讲述。对每一部分的知识点和难点,都力求用比较精练的语言进行讲解,对重要的知识点都列举了必要的例题进行说明,并对例题所采用的算法和编程技术进行了深刻的分析,旨在使读者对C++编程技术不仅知其然,并知其所以然。本书大部分章节后面都安排有综合举例部分,精心设计了一些综合性较强的案例,有完整的代码展示,引导读者通过综合实践对编程知识进行巩固和扩展。 本书主要内容 本书以程序设计方法贯穿始终,从语法规则到程序设计实践,力求在掌握基本程序设计方法的同时,培养读者良好的程序设计习惯,为今后的学习打下坚实的编程基础。本书的宗旨是使读者不仅掌握C++语言本身,而且能够对现实世界中的问题及其解决方法用C++语言进行描述,让读者通过广学多练,培养程序设计语言的“语感”,最终掌握程序设计的“秘籍”。 全书共有11章。 第1章为C++概述,包括C和C++、面向过程程序设计、面向对象程序设计、C++程序入门、C++开发工具。第2章为数据存储、表示和运算,包括数据类型、常量、变量、运算符与表达式、数据类型转换。第3章为基本控制结构,包括算法与流程基本结构、选择结构、循环结构、其他控制语句、综合举例。第4章为函数,包括概述、函数的定义与调用、函数的嵌套、函数的递归、默认参数值的函数、函数重载、局部变量和全局变量、变量的存储类别、综合举例。第5章为类与对象,包括类和对象的定义、构造函数和析构函数、静态成员、常成员、结构体、枚举、综合举例。第6章为数组与字符串,包括一维数组、二维数组、字符数组与字符串、数组作为函数的参数、对象数组、结构体数组、综合举例。第7章为指针与引用,包括地址与指针、指针变量、指针与数组、指针与函数、指针与结构体、指针与对象、动态存储分配、引用、综合举例。第8章为继承与派生,包括类的继承概述、基类和派生类、派生类的构造函数和析构函数、基类和派生类的转换、综合举例。第9章为多态性与虚函数,包括多态性、虚函数、纯虚函数与抽象类、综合举例。第10章为I/O流与文件操作,包括概述、标准输入输出流、输入输出格式控制、文件流与文件操作、综合举例。第11章为其他C++工具,包括模板、命名空间。 本书特色 (1) 内容全面,深入浅出。针对初学者和自学读者的特点,本书力求做到深入浅出,将复杂的概念和语法尽量用比较通俗易懂的语言描述,并结合大量的示例代码和实际应用加深理解。 (2) 灵活教学,普适性强。选用该教材的学校可结合自身教学特点,选择不同的章节组合进行教学。对于学时较少的学校来说,可以只选择第1~7章、第10章,每章的综合举例也是选学内容,可自行选择。 配套资源 为便于教学,本书配有微课视频、源代码、教学课件、教学大纲、习题题库、教学进度表、期末试卷及答案。 (1) 获取微课视频方式: 读者可以先扫描本书封底的文泉云盘防盗码,再扫描书中相应的视频二维码,观看教学视频。 (2) 获取源代码: 先扫描本书封底的文泉云盘防盗码,再扫描下方二维码,即可获取。 源代码 (3) 其他配套资源可以扫描本书封底的“书圈”二维码下载。 读者对象 本书既可以作为全国高等学校计算机程序设计相关课程的教材和教学参考书,也可作为学习程序设计人员的培训和自学教材。 本书由李毅鹏任主编,周晓华、邓涯双任副主编,李毅鹏负责全书的统稿工作。参与本书编写工作的还有马霄、吴良霞、夏松、丁亚兰、万俊、张建辉、祝启虎(按撰写章节顺序排列),其中第1章由李毅鹏执笔,第2章由马霄执笔,第3章由吴良霞执笔,第4章由邓涯双执笔,第5章由夏松执笔,第6章由丁亚兰执笔,第7章由万俊执笔,第8章由张建辉执笔,第9章由祝启虎执笔,第10章、第11章由周晓华执笔。 本书在编写过程中得到了中财经政法大学教务部、信息工程学院领导和老师们的大力支持,同时清华大学出版社为本书的顺利出版付出了很大的努力。 本书作者在编写过程中,参考了诸多相关资料,在此对相关资料的作者表示衷心的感谢。限于个人水平和时间仓促,书中难免存在疏漏之处,欢迎广大读者批评指正。 作者 2025年1月