《新标准C++程序设计 第2版》严悍,陆建峰,衷宜编著|(epub+azw3+mobi+pdf)电子书下载

时间: 2023-08-27 18:51:33  17 epub epub 编著

图书名称:《新标准C++程序设计 第2版》

【作 者】严悍,陆建峰,衷宜编著
【丛书名】“十三五”江苏省高等学校重点教材(编号:2020-1-092)
【页 数】 564
【出版社】 南京:东南大学出版社 , 2022.11
【ISBN号】978-7-5766-0287-6
【价 格】108.00
【分 类】C++语言-程序设计
【参考文献】 严悍,陆建峰,衷宜编著. 新标准C++程序设计 第2版. 南京:东南大学出版社, 2022.11.

图书封面:

图书目录:

《新标准C++程序设计 第2版》内容提要:

全书共15章,分为两部分:第1部分(前8章)主要介绍命令式编程与函数式编程,第2部分(后7章)主要介绍对象式编程和基于模析的泛型编程。本书既可作为高等学校理工科各专业学习、实践和应用C++的基础教材,也适合作为软件工程开发人员和科研人员的参考用书。

《新标准C++程序设计 第2版》内容试读

第1章概述

本章主要介绍C+语言的起源、发展概况和特点,以及C++程序的基本结构、面向对象

程序设计的基本概念和简单的上机操作过程。

1.1C+语言发展历史

C+语言是在C语言的基础上逐步发展和完善的,C语言则是吸收了其他高级语言的优

点逐步成为实用性很强的语言。

20世纪60年代,Martin Richards开发了BCPL(Basic Combined Programming Language)语言。1970年,Ken Thompson在BCPL语言的基础上发明了实用的B语言。1972年,贝尔实验室的Brian W.Kernighan和Dennis M.Ritchie在B语言的基础上进一步对其充实和完善,设

计出C语言,并在1978年出版了著名的《C编程语言》一书,史称“K&R”。此后C语言多次

改进,得到广泛应用。Unix/Linux操作系统就是基于C语言开发的。

C语言具有以下特点:

①结构化编程语言。C语言以函数作为基本模块,语法简洁,使用灵活方便。

②具有一般高级语言的特点,又具有汇编语言的特点。除了提供对数据进行算术运算、

逻辑运算、关系运算之外,C语言还提供了二进制整数的位运算。用C语言开发的应用程序,

不仅结构性较好,且程序执行效率高。

③可移植性较好。在某一种计算机上用C语言开发的应用程序,源程序经少许更改或不

用更改,就可以在其他型号和不同档次的计算机上重新构建运行。

④编程自由度大,运行错误比较多而且较难解决。指针是C语言的灵魂,精通指针的程

序员可以编写出非常简洁、高效的程序,但其不易理解,而且出错难以排除。对初学者而言,

掌握C语言指针并不容易。

随着C语言的不断推广,C语言存在的一些不足也开始显露出来。例如,数据类型检

查机制比较弱;缺少代码重用机制;以函数为模块的编程不能适应大型复杂软件的开发与维护。

1980年,贝尔实验室的Bjarne Stroustrup博士及其同事对C语言进行了改进和扩充,他们把Simula67语言中的类引入到C中,并称其为“带类的C”。1983年,Rick Maseitti提议将改进后的C语言命名为C++语言(即C Plus Plus)。之后C++语言又扩充了虚函数、运算符重载、模板、异常等概念,功能日趋完善。

C+语言除继承了C语言的特点外,还具有以下特点:

①C+是C的一个超集,它基本上具备了C语言的所有功能。一般情况下C语言源代码

不作修改或略作修改,就可在C+环境下构建运行。

·1·

新标准C+程序设计(第2版)

②C++是一种面向对象编程语言。面向对象编程的特点是封装性、继承性和多态性。

类作为程序的基本模块,封装性隐藏了模块内部的实现细节,而使外部使用更方便、更安全;继承性提高了模块的可重用性,而且使程序结构更贴近现实概念的描述;多态性使行为的抽象规范与具体实现相互协调,使行为的一致性和灵活性得到统一。抽象编程和模板提供更好的可重用性,异常处理则增强了编程的可靠性,这些特征都非常适合大型复杂软件的编程实现。

③C+语言程序可理解性和可维护性更好。对于大型软件的开发维护而言,这一特点非

常重要。

1.2一个简单的C+程序

开发工具为了区分C语言和C+语言程序,约定当源程序文件的扩展名为“.c”时,为C语言程序;文件的扩展名为“.c即”时,则为C++程序。本书中除做特殊说明外,所有源程序文件扩展名均为“.cpp”。

下面通过一个简单的实例,说明C+程序的基本结构及其特点。

例1.1根据输入的半径求出一个圆的面积,并输出计算结果。#include using namespace std;int main(void){

float r,area;

//说明两个变量:半径r和圆面积area

cout<<"输入半径r=";

//显示提示符

cin>>r;

//从键盘上输入半径变量r的值

area=3.1415926*r*r;

//计算圆面积

/*输出半径和圆面积*/

cout<"半径="<<

//输出变量x的值

cout<<"圆面积="<<<\n';

/输出圆面积的值

return 0;

//main返回,停止程序

使用Visual C+集成环境,首先创建一个控制台应用项目,然后添加一个源文件,命名为©x01O1.cpP,再将以上内容输入到源文件中;接着“生成解决方案”构建可执行程序,成功之后再“开始执行(不调试)”(Crl+F5)该程序。

该程序在执行时出现一个DOS命令窗口,并显示提示信息。假设键盘输入3.5,显示结

果如下:

输入半径r=3.5天不半径=3.5

圆面积=38.4845

下面对程序的基本结构及各语句进行说明。

(1)包含文件:第1行是#include,称为包含指令,指定一个文件,是标准输入输出流文件。如果要从键盘上输入数据cin,或将要在显示器上输出结果cout,就应包含该文件。一般程序都需要这个指令,有关编译预处理将在第5章介绍。第2行的usig指令用于导人std命名空间,以简化cin和cout的使用。前两行对于大多数程序都一样。

(2)注释:是一段文本信息,用来说明程序功能或方法。在C+程序任何位置都可插人

注释。注释对程序执行不起作用,但可增加程序的可读性和可理解性。有两种注释(上面例子

·2.

第1章概述

中包含了这两种注释):

①传统C注释,用“/*”和“*/”把一行或多行文本括起来;

②C+单行注释,用“/”开头到本行结束为止的一行文本。

(3)主函数main:main函数称为主函数,每个C+程序都有且仅有一个主函数,程序从主函数开始执行。

(4)花括号对“{}”:每个函数体都是以“{”开始,以“}”结束。函数中会出现嵌套的花括号,表示复合语句或作用域。花括号一定要配对使用。

(5)语句:一个函数体中包含有多条语句,每条语句以分号“;”结束。各种语句将在第4章介绍。需要指出的是,最后的“return 0;”语句可省略,但建议不要省。

(6)C+语言没有专门的输入输出语句,输入输出是通过函数调用来实现的(用ci>>实现输人,用cout<

(7)程序中所有名称都严格区分大小写。

1.3C++程序的开发步骤

针对一个实际问题,用C+语言设计程序时,通常要经过如图1.1所示的几个基本步骤:

源程序

需求分析

设计编程

编译

cpp/h

执行

可执行文件

连接

目标文件

exe

obj

图1.1程序开发的基本步骤

(1)需求分析,即根据要解决的实际问题分析所有需求,并用合适的方法、工具进行详细描述。如果需求分析错误,就可能导致下面的编程完全失去意义。

(2)设计编程,即根据需求先设计解决方案,然后将解决方案用C++程序实现,再利用

C+集成环境将设计好的源程序输入到计算机文件中。源文件的扩展名为cp即,也可能是扩展名为h的头文件。如果设计方案错误将导致程序不能满足需求。代码编辑器往往能区分C++语言的关键字、运算符和标识符,并用不同颜色显示,以方便查看。

(3)编译,即编译源程序生成目标程序。如果有语法或语义错误,要根据提示信息返回到上一步骤修改源程序文件,直到消除所有编译错误。编译后为源程序产生目标文件,目标程序文件的扩展名一般为obj或o。完成编译的工具统称为编译器(compiler)。

(4)连接,即将目标文件连接为可执行文件。将一个或多个目标程序与程序所调用的库函数连接后,生成一个可执行文件。Windows可执行文件扩展名为exe,Linux可执行文件往往没有扩展名。如果多个文件之间函数调用有错误,此时将给出连接错误信息。完成连接的工具称为连接器(linker)。

(5)执行,即运行可执行程序文件,输人测试数据,并分析输出结果。如果不满足需求或者与预期不同,就要返回到第(1)步或第(2)步重复以上过程,直至得到正确结果。可执行文

·3.

新标准C+程序设计(第2版)

件有两个版本,一个是用于调试程序的Dbug版本,文件比较大,包含了源代码调试信息;

一个是用来发布软件产品的Release版本,文件比较小,没有调试信息,往往优化了编码。

1.4开发工具简介

本书主要采用Visual Studio2019(下文简称VS或VC,版本为16.11+)作为开发环境,同时兼顾DevC+与GCC11。

1.4.1VS2019

VS支持多种编程语言,本书只用其中的Visual C.+,简称VC。相对于其他工具,VS的优点如下:①标准化程度较高;②文档较齐全;③代码编辑器对关键字、预处理指令、头文件、函数调用等能提示补全,可进行静态语法查错、静态编译、类型推导、常量计算等;④编译错误信息显示是中文,非常适合初学者;⑤调试功能强大。缺点如下:①安装需要联网且过程较慢,磁盘空间要求大;②打开源文件后不能直接编译或自动创建项目,需要先创建项目再加入源文件。

如图1.2所示,VS界面右边是解决方案资源管理器。一个解决方案可包含一个或多个项

目,一个项目可包含一个或多个源文件,并产生一个与项目同名的可执行程序。页面左上角显示当前解决方案的名称。一个项目的演化过程如下:

d件D鞋甲随0自相巴生肃D颗D数⊙分折0工填①r黄DPm一口×

言DD新助的

0·08,命■9·《,,s

二上本地n一语:国园,白市:哈un,只

101X

·金鼻范国)

。0ani0

00鱼n。·20®

winclude using namespace std;

Bint main(void){

可航方离“n1”0个领阳/共1个

float r,area:

/说明两个变量:半径r和圆面积area

4图nl

5

cout“输入半径r“;

,0引用,摩外等依制顺

67

c1n》>r;

/从键盘上输入半径变量的值

物头文件

area■3.1415926。r。r;/计圆面积

。产源文件

/输出半径和圆面积"/

9

cout《"半径."《《r(\n':

//输出变量的值

物源文件

10

cot父面积\n';

//0山面折o

112

return 8;

/ain返回,停止程序

13

14

输决方减资管理器:更或属性

输出来源:生

列璃编出

图1.2VS2019开发C+程序界面

(1)创建、配置项目或打开已有项目。首先点击“文件”→“新建”→“项目”,选择“控制台应用”(如图1.3所示);下一步是确定项目名称、储存位置等,然后创建项目,之后就可以打开该项目来执行大多数程序,而不用再创建新项目。

4

第1章概述

0

创建新项目

最近使用的项目棋板®)

所有通套

所有平台心

所有冷相共型)

芍加山异不精攻的装袋eRa:网aor

G件m整制

囚子山R山文白6如n

c6知amg制金

省山

G小离里检制金集

窗行面P用利a。

-Gm高国

下-*m

图1.3创建控制台应用

接下来是设置该项目的语言版本,即点击菜单中的“项目”→“x属性”(x是前面确定的项

目名)→“配置属性”→“常规”→“C+语言标准”,然后选择“预览-最新C+工作草案中的功

能(/std:c+latest)”(如图1.4所示)。

图性的到

用序)

10.0最童安的面本)4:adst。2019(142)

预面一最新C种工作草离中的功能Uatd:e+1atst)

四c4+14标t41

I0C+17标重Uat士c+17)项自.

铺译器将强肽行的GH通言标准,建议尽可餐使用量断所本。Utdc+14小/a1d:e+1T7,/at4+1atat)

旋寸消门应用

图1.4选择C+语言标准

注意:VS2019默认标准为C+14,这也是最低标准,不能再选择I旧标准(如C++11)。我

们所选择的/std:c+latest目前指的是C+20标准。

(2)加入源文件。点击项目中的“源文件”,右键点击“添加”→“新建项”或“现有项”,即可新建源文件或加入已有源文件。也可用鼠标从文件管理器中选择一个或多个文件拖入。

(3)编码。打开源文件,即可修改或编写源文件代码。

.5.

新标准C+程序设计(第2版)】

(4)构建。在菜单栏依次选择“生成”→“生成解决方案”(Ctrl+Shift+B),就是编译和连接(即构建)。如果有错,则返回第(2)步或第(3)步;如果成功,就生成exe可执行文件。

(5)运行。在菜单栏依次选择“调试”→“开始执行(不调试)”(Ctl+F5),启动控制台窗口交互。

(6)如果运行有错,返回第(2)步或第(3)步,直到运行无错。

(7)关闭项目。在菜单栏依次选择“文件”→“关闭解决方案”,即关闭所有源代码窗口。

注意:VS2019不能先打开一个源文件再启动构建,而是要求先创建或打开一个项目,再加

入源文件,然后才能构建运行。建议先创建一个项目,以后每次都先打开该项目,然后添加或移除源文件。大部分程序都运行在x86的Dbug模式下,除非特别说明。

1.4.2DevC+

本书DevC+采用的是老版本5.11(含编译器TDM-GCC4.9.2)和新版本6.7.5(含编译

器TDM-GCC10.3.0)。

DvC+5.11的优点如下:①安装运行简单快捷,适合初学者完成C+14之前的练习和

在线测验:②支持32位和64位编译:③可直接打开源文件处理,对当前源文件编译按F9,运

行按F10。在编译前应设置编译器选项,以支持C+14,否则默认为旧标准。设置过程为点击

“工具”→“编译器选项”,然后输入编译器选项:-std=c+1y(如图1.5所示)。

编译器达项

设定编译器置

TDM-GCC 4.9.2 32-bit Debug

编泽器代码生成/优化目录程序反编泽时加入以下命令:

-std=c++ly

图1.5DevC+5.11编译设置支持C+14

DevC+5.11的缺点如下:①需要人工添加编译器选项来支持新的标准,例如C+11为

-std=c+11,C+14为-std=c+1y;②C+语言标准较低,仅支持C+11和C++14的部

分标准,不支持C++17与C+20;③代码编辑器不支持界面即时编译、类型推导与常量计

算等。

DevC+6.7.5的优点是支持从C++11到C++20新标准的大部分特征,如概念、协程(尚不支持模块),支持非char字符的中文字符串处理(但不完整),能支持线程;缺点是仅支持64位编译,不支持界面即时编译、类型推导与常量计算等。

DvC+6.7.5选择语言标准可以不用添加编译器选项,而是在“编译器配置”页面中选择

“代码生成/优化”,然后选择“代码生成”,再在“语言标准”中下拉选择“IS0C+20”即可(如

图1.6所示)。

·6·

···试读结束···

  • 声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,以上内容仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站内容来自网络收集整理或网友投稿,所提供的下载链接也是站外链接,版权争议与本站无关。您必须在下载后的24个小时之内,从您的设备中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版!我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!邮箱:121671486@qq.com,微信:diqiuren010101

学习考试资源网-58edu © All Rights Reserved.  湘ICP备12013312号-3 
站点地图| 免责说明| 合作请联系| 友情链接:学习乐园