《C++程式设计(第3版)》是2015年清华大学出版社出版的计算机专业书籍。
基本介绍
- 书名:C++程式设计(第3版)
- ISBN:9787302393481
- 类别:计算机专业书籍
- 定价:49元
- 出版社:清华大学出版社
- 出版时间:2015-3-5
- 装帧:平装
- 印次:3-2
图书简介
本书参照ACM和IEEE CS CC2013以及教育部高等学校计算机类专业教学指导委员会编制的《高等学校计算机科学与技术专业发展战略研究报告暨专业规範(试行)》的要求,面向大学计算机专业本科教学的需要,系统地介绍C++程式设计语言的语法、语义和语用,使读者掌握结构化程式设计方法和面向对象程式设计方法。
全书分为程式设计基础和面向对象程式设计两大部分。
第一部分主要介绍类型、运算符与表达式、输入与输出、控制结构、函式、数组、指针、结构、联合、枚举、鍊表等程式设计的基本概念和结构化程式设计方法;第二部分主要介绍类与对象、类和对象的使用、操作符重载、继承、多态性、档案和流、异常和模板等面向对象程式设计的基本概念和程式设计方法。
本书注重知识的系统性和连贯性,在内容上注意与后续课程的衔接,强调严密的逻辑思维,突出程式设计方法的教学。
本书适合作为高等学校“程式设计基础”或者“高级语言程式设计”课程的教材,也可供广大自学人员学习参考。
图书目录
第1章计算机与程式设计1
1.1计算机系统概述1
1.1.1什幺是计算机系统1
1.1.2计算机硬体2
1.1.3计算机软体2
1.2程式设计基本概念3
1.2.1问题求解过程3
1.2.2算法与程式4
1.2.3程式设计语言7
1.3程式设计方法8
1.3.1结构化程式设计8
1.3.2面向对象程式设计9
1.4C语言与C++语言10
1.4.1C语言10
1.4.2C++语言11
1.5C++编程简介12
1.5.1C++编程的典型过程12
1.5.2一个简单的C++程式13
1.6程式设计风格14
习题115
第2章数据类型、运算符与表达式17
2.1C++的字元集和关键字17
2.1.1字元集17
2.1.2标识符18
2.1.3关键字18
2.2基本数据类型19
2.2.1整型19
2.2.2浮点型数据20
2.2.3字元型数据20
2.2.4布尔类型21
目录C++程式设计(第3版)2.3常量与变数21
2.3.1常量21
2.3.2变数24
2.3.3符号常量25
2.4类型转换26
2.5运算符和表达式27
2.5.1算术运算28
2.5.2关係运算30
2.5.3逻辑运算30
2.5.4位运算31
2.5.5逗号运算33
2.5.6赋值运算34
2.5.7特殊运算符35
习题235
第3章输入和输出37
3.1C++的输入和输出37
3.2标準输入输出函式38
3.2.1字元输入函式getchar38
3.2.2字元输出函式putchar38
3.3格式化输入输出函式39
3.3.1格式化输入函式scanf39
3.3.2格式化输出函式printf41
3.3.3格式化输入/输出函式套用举例44
3.4用流进行输入/输出49
3.4.1通过cout流输出数据50
3.4.2通过cin流输入数据51
3.5流操纵运算元52
3.5.1设定整数基数的流操纵运算元52
3.5.2设定浮点数精度的流操纵运算元53
3.5.3设定域宽的流操纵运算元54
习题355
第4章控制结构57
4.1程式的语句和基本控制结构57
4.2表达式语句58
4.3顺序结构——複合语句58
4.4选择结构60
4.4.1if选择结构60
4.4.2ifelse选择结构61
4.4.3switch选择结构66
4.5循环结构70
4.5.1while循环语句70
4.5.2dowhile循环语句73
4.5.3for循环语句74
4.6控制转移语句78
4.6.1break语句78
4.6.2continue语句80
4.6.3goto语句81
4.6.4return语句82
4.7结构化程式设计方法83
4.7.1结构化程式设计思想83
4.7.2结构化程式设计原则85
4.7.3结构化程式设计示例86
4.7.4再谈程式设计风格90
习题491
第5章函式95
5.1模组化程式设计95
5.2预定义函式的使用96
5.3函式定义与函式原型97
5.3.1函式定义97
5.3.2函式原型98
5.4函式的调用99
5.4.1函式调用的概念99
5.4.2参数传递102
5.4.3默认参数104
5.4.4内联函式105
5.5函式重载106
5.6存储类别108
5.6.1变数的存储特性108
5.6.2自动变数109
5.6.3暂存器变数109
5.6.4外部变数110
5.6.5静态变数110
5.7作用域112
5.8递归函式114
5.8.1递归的概念115
5.8.2递归函式套用举例117
5.9预处理指令120
5.9.1#include指令121
5.9.2#define指令121
5.9.3#if、#else、#endif、#ifdef、#ifndef指令123
习题5124
第6章数组127
6.1一维数组128
6.1.1一维数组的声明与初始化128
6.1.2数组的套用129
6.1.3数组作为函式参数132
6.2多维数组137
6.2.1多维数组的定义与初始化137
6.2.2套用示例139
6.3字元串142
6.3.1字元与字元串概念142
6.3.2字元串与字元数组143
6.3.3字元串的输入和输出145
习题6146
第7章指针148
7.1指针的定义148
7.2指针的运算149
7.3指针与数组154
7.4字元指针与字元数组157
7.4.1字元串函式157
7.4.2字元串函式的套用163
7.5指针与const限定符166
7.5.1基本概念166
7.5.2用const限定指针166
7.6指针和引用170
7.7动态记忆体分配171
7.7.1基本概念171
7.7.2动态分配记忆体的套用173
7.8函式指针176
7.8.1函式指针的定义176
7.8.2函式指针的使用177
习题7179
第8章结构、联合、枚举182
8.1结构182
8.1.1结构的定义183
8.1.2结构变数成员的引用184
8.2结构的使用185
8.2.1结构与函式185
8.2.2结构与数组190
8.2.3结构与指针193
8.2.4位段196
8.3联合198
8.3.1联合和联合变数定义199
8.3.2联合的使用200
8.4枚举201
8.4.1枚举和枚举型变数的定义202
8.4.2枚举类型变数的赋值和使用203
习题8204
第9章鍊表205
9.1鍊表的基本概念205
9.2单向鍊表206
9.2.1单向鍊表的定义206
9.2.2单向鍊表的操作207
9.3双向鍊表216
9.3.1双向鍊表的定义216
9.3.2双向鍊表的操作217
习题9224
第10章面向对象程式设计基本概念226
10.1面向对象语言和面向对象方法226
10.2类、对象和讯息228
10.2.1类和对象228
10.2.2讯息230
10.3面向对象程式设计的特点231
10.4面向对象程式的结构233
习题10235
第11章类与对象237
11.1数据抽象的概念238
11.2抽象数据类型239
11.2.1封装与信息隐藏240
11.2.2接口与实现的分离240
11.2.3用结构实现用户定义类型栈241
11.2.4用类实现抽象数据类型栈245
11.3类和对象的定义249
11.3.1数据成员250
11.3.2成员函式251
11.3.3访问控制252
11.3.4静态成员253
11.3.5对象的建立257
11.4构造函式258
11.4.1构造函式的作用258
11.4.2构造函式执行的时机259
11.4.3构造函式重载260
11.4.4默认构造函式261
11.4.5複製构造函式262
11.5析构函式264
11.5.1析构函式的作用264
11.5.2析构函式执行的时机264
习题11266
第12章类和对象的使用268
12.1类的複合268
12.2this指针276
12.3const特性279
12.4友元函式和友元类283
12.4.1友元函式283
12.4.2友元类285
习题12286
第13章运算符重载288
13.1运算符重载的概念288
13.1.1运算符重载的意义289
13.1.2运算符重载的限制292
13.2运算符成员函式与友元函式293
13.3单目运算符重载294
13.4重载流插入和流提取运算符299
13.5双目运算符重载302
13.6赋值运算符重载305
13.7类型之间的转换309
习题13317
第14章继承319
14.1继承和派生的概念319
14.2继承的定义320
14.2.1派生类和基类320
14.2.2继承的方式322
14.2.3类的层次323
14.2.4在派生类中重定义基类的函式324
14.2.5派生类和基类的转换329
14.3类指针329
14.4继承中的构造函式和析构函式336
14.5多重继承339
14.6软体渐增式开发343
14.6.1複合与继承344
14.6.2示例344
习题14355
第15章多态性356
15.1多态性的概念356
15.1.1静态绑定和动态绑定357
15.1.2多态性的意义357
15.2虚函式358
15.3抽象基类和纯虚函式364
15.3.1纯虚函式365
15.3.2抽象类和具体类365
15.4虚析构函式369
15.5软体渐增式开发374
习题15382
第16章档案和流383
16.1基本概念383
16.2通过FILE结构进行档案操作384
16.2.1建立、打开和关闭档案385
16.2.2写档案387
16.2.3读档案389
16.3通过档案流进行档案操作396
16.3.1打开和建立档案396
16.3.2写档案398
16.3.3读档案399
习题16405
第17章异常407
17.1异常处理的意义407
17.2异常处理基础408
17.3异常的抛出和传播411
17.4异常的捕获和处理415
习题17418
第18章模板419
18.1类属机制419
18.2函式模板420
18.2.1函式模板的定义420
18.2.2使用函式模板421
18.3类模板425
18.3.1类模板的定义426
18.3.2使用类模板427
习题18429附录AC++运算符的优先权和结合性431附录BASCII字元集434参考文献436