书籍详情

C++程序开发案例课堂

C++程序开发案例课堂

作者:刘春茂,李琪 著

出版社:清华大学出版社

出版时间:2018-12-01

ISBN:9787302515210

定价:¥78.00

购买这本书可以去
内容简介
  《C++程序开发案例课堂》以零基础讲解为宗旨,用实例引导读者深入学习,采取【基础入门→核心技术→高级应用→项目开发实战】的讲解模式,深入浅出地讲解C++的各项技术及实战技能。《C++程序开发案例课堂》第1篇【基础入门】主要讲解C++基本概念、C++的程序结构、数据类型、灵活使用运算符、程序流程控制等;第2篇【核心技术】主要讲解函数的应用、数组与字符串、指针、结构体、共用体和枚举类型、面向对象编程、构造函数和析构函数等;第3篇【高级应用】主要讲解运算符的重载、类的继承、虚函数和抽象类、C++操作文件、异常处理、模板与类型转换、容器和迭代器等;第4篇【项目开发实战】主要讲解开发计算器助手、开发汽车信息管理系统、开发银行交易系统、开发学校职工信息管理系统。《C++程序开发案例课堂》适合任何想学习C++编程语言的人员,无论您是否从事计算机相关行业,无论您是否接触过C++语言,通过本书学习均可快速掌握C++在项目开发中的知识和技巧。
作者简介
  刘春茂,本科毕业于上海复旦大学,硕士毕业于清华大学。曾在美国IBM公司移动产品开发组从事Android平台应用的开发。擅长的核心技术媒体和教育领域个性化信息推荐,网站用户行为数据挖掘,健康领域非结构化数据处理。擅长的其他技术熟悉各种网站和手机(Andorid和iOS)app的开发等,精通Java, C/C++, PHP, Python等流行语言并对Hadoop, MapReduce等大数据框架有深入研究。
目录
目    录
第1篇  基 础 入 门
第1章  揭开C 的神秘面纱——我的个C 程序    3
1.1  认识C     4
1.2  C 的优势    5
1.3  常见的C 开发环境    6
1.4  新手的福音——Visual Studio 2017集成环境    8
1.4.1  安装Visual Studio 2017的条件    8
1.4.2  安装Visual Studio 2017    8
1.5  熟悉Visual Studio 2017开发界面    10
1.5.1  创建项目    10
1.5.2  菜单栏    12
1.5.3  工具栏    13
1.5.4  解决方案资源管理器    13
1.5.5  【属性】面板    14
1.5.6  【错误列表】面板    14
1.5.7  【输出】面板    14
1.6  实战演练——个C 项目    15
1.7  理解C 语言的翻译过程    16
1.8  大神解惑    17
1.9  跟我学上机    18
第2章  零基础开始学习——C 的程序结构    19
2.1  分析C 程序的结构    20
2.1.1  #include指令及头文件    20
2.1.2  main函数    21
2.1.3  变量声明和定义    22
2.1.4  函数的声明    24
2.1.5  关于注释    25
2.2  编译前的预处理    26
2.3  输入和输出数据    29
2.3.1  cout输出数据    29
2.3.2  cin读取输入数据    32
2.4  命名空间    33
2.4.1  命名空间的定义    33
2.4.2  using关键字    34
2.4.3  命名空间std    35
2.5  实战演练——经典的入门程序    36
2.6  大神解惑    38
2.7  跟我学上机    38
第3章  程序中的数据种类——数据类型    39
3.1  标识符    40
3.1.1  保留字    40
3.1.2  标识符命名    41
3.2  变量与常量    41
3.2.1  变量    41
3.2.2  常量    44
3.3  基本变量类型    46
3.3.1  整数类型    46
3.3.2  字符类型    48
3.3.3  浮点数类型    50
3.3.4  布尔类型    51
3.4  查询变量的类型和内存空间大小    52
3.5  自定义数据类型    53
3.6  实战演练——对比不同数据类型的长度    57
3.7  大神解惑    57
3.8  跟我学上机    58
第4章  谁来操作数据——灵活使用运算符    59
4.1  运算符概述    60
4.1.1  赋值运算符    60
4.1.2  算术运算符    61
4.1.3  关系运算符    62
4.1.4  逻辑运算符    64
4.1.5  自增和自减运算符    65
4.1.6  位逻辑运算符    66
4.1.7  移位运算符    68
4.1.8  三元运算符    69
4.1.9  逗号运算符    70
4.1.10  类型转换运算符    71
4.2  运算符优先级和结合性    72
4.2.1  运算符优先级    72
4.2.2  运算符结合性    73
4.3  实战演练——综合运用运算符    75
4.4  大神解惑    76
4.5  跟我学上机    77
第5章  程序的执行方向——程序流程控制    79
5.1  顺序语句    80
5.2  条件判断语句    81
5.2.1  if条件    81
5.2.2  if-else条件    82
5.2.3  条件运算符    83
5.3  循环语句    84
5.3.1  for循环    85
5.3.2  while循环    86
5.3.3  do-while循环    87
5.4  多重选择——switch语句    88
5.5  跳出循环    90
5.5.1  continue语句    90
5.5.2  break语句    90
5.5.3  goto语句    91
5.6  实战演练——流程控制综合应用    92
5.7  大神解惑    95
5.8  跟我学上机    96
  
第II篇  核 心 技 术
第6章  C 的灵魂——函数的应用    99
6.1  函数的基本结构    100
6.1.1  函数的声明、定义和调用    100
6.1.2  参数的传递方式    101
6.1.3  函数的默认参数    103
6.1.4  函数的返回值    104
6.2  变量的作用域    105
6.2.1  局部变量    105
6.2.2  静态局部变量    106
6.2.3  外部变量    107
6.2.4  寄存器变量    108
6.3  特殊函数调用方式——递归调用    108
6.4  内联函数    109
6.5  预处理器    110
6.5.1  #define预处理器    110
6.5.2  #define的作用    111
6.5.3  const修饰符    112
6.6  函数的重载    113
6.7  实战演练——汉诺塔问题函数    114
6.8  大神解惑    116
6.9  跟我学上机    116
第7章  特殊的元素集合——数组与字符串    117
7.1  一维数组    118
7.1.1  一维数组的声明    118
7.1.2  数组初始化    119
7.1.3  数组的操作    120
7.2  二维数组和多维数组    121
7.2.1  二维数组的声明    121
7.2.2  二维数组的使用和存取    122
7.2.3  多维数组    123
7.3  数组与函数    125
7.3.1  一维数组作为函数的参数    125
7.3.2  传送多维数组到函数    126
7.4  字符串类    127
7.4.1  字符串的声明    127
7.4.2  字符串的输入和输出    128
7.4.3  字符串处理    129
7.5  实战演练1——判断字符串回文    132
7.6  实战演练2——输出斐波那契数列    134
7.7  大神解惑    135
7.8  跟我学上机    136
第8章  灵活调用内存地址——指针    137
8.1  指针概述    138
8.1.1  什么是指针    138
8.1.2  为什么要用指针    138
8.1.3  指针的地址    139
8.2  指针变量    139
8.2.1  指针变量的声明    139
8.2.2  指针变量的使用    140
8.3  指针与函数    141
8.3.1  指针传送到函数中    141
8.3.2  返回值为指针的函数    142
8.3.3  函数指针    143
8.4  指针与数组    144
8.4.1  指针的算术运算    145
8.4.2  利用指针存储一维数组的元素    146
8.4.3  利用指针传递一维数组到函数中    147
8.5  指针与字符串    147
8.6  const指针    148
8.7  void指针    149
8.8  指向指针的指针    149
8.9  动态内存配置    150
8.9.1  使用基本数据类型做动态配置    151
8.9.2  使用数组做动态配置    152
8.10  实战演练——判断字符串中有多少个整数    153
8.11  大神解惑    155
8.12  跟我学上机    156
第9章  灵活定义数据类型——结构体、共用体和枚举类型    157
9.1  结构体    158
9.1.1  结构体的声明    158
9.1.2  结构体变量的初始化与使用    159
9.1.3  结构体数组初始化    161
9.2  将结构体变量作为函数参数    162
9.2.1  将整个结构体传送到函数    162
9.2.2  传送结构体的地址到函数    163
9.3  共用体    164
9.3.1  共用体的定义和声明    164
9.3.2  共用体类型的初始化和使用    165
9.3.3  struct和union的差异    166
9.4  枚举类型    167
9.4.1  枚举类型的定义和声明    167
9.4.2  枚举类型的初始化和使用    168
9.5  实战演练——学生信息登记表    169
9.6  大神解惑    172
9.7  跟我学上机    172
第10章  主流的编程思想——认识面向对象编程    173
10.1  面向对象编程概述    174
10.1.1  面向对象编程的几个概念    174
10.1.2  面向对象编程与面向过程编程的区别    175
10.2  认识类    175
10.2.1  类的基本概念    175
10.2.2  类的定义    175
10.2.3  类对象的生成    177
10.2.4  类对象指针    178
10.3  成员函数    180
10.4  嵌套类    182
10.5  const成员函数    182
10.6  类成员的访问控制    184
10.6.1  私有成员    184
10.6.2  公有成员    185
10.6.3  保护成员    186
10.7  静态成员    187
10.7.1  静态数据成员    187
10.7.2  静态成员函数    189
10.8  友元函数    190
10.9  实战演练——栈类的实现    191
10.10  大神解惑    193
10.11  跟我学上机    194
第11章  类的特殊函数——构造函数和析构函数    195
11.1  构造函数初始化类对象    196
11.1.1  什么是构造函数    196
11.1.2  使用构造函数    196
11.2  析构函数清除类对象    198
11.2.1  析构函数的概念    198
11.2.2  析构函数的调用    198
11.3  默认构造函数    200
11.4  重载构造函数    201
11.4.1  重载构造函数的作用    201
11.4.2  重载构造函数的调用    201
11.5  类对象数组的初始化    202
11.5.1  类对象数组调用    203
11.5.2  类对象数组和默认构造函数    204
11.5.3  类对象数组和析构函数    206
11.6  拷贝构造函数    207
11.6.1  拷贝构造函数的概念    207
11.6.2  深拷贝和浅拷贝    208
11.7  实战演练——构造函数和析构函数的应用    210
11.8  大神解惑    212
11.9  跟我学上机    212
  
第III篇  高 级 应 用
第12章  赋予新功能——运算符的重载    215
12.1  什么是运算符重载    216
12.1.1  运算符重载的形式    216
12.1.2  可重载的运算符    218
12.2  重载前置运算符和后置运算符    219
12.2.1  重载前置运算符    219
12.2.2  重载后置运算符    221
12.3  插入运算符和析取运算符的重载    222
12.3.1  插入运算符重载    222
12.3.2  析取运算符重载    223
12.4  常用运算符的重载    225
12.4.1  “
12.4.2  “ ”运算符的重载    226
12.4.3  “=”赋值运算符重载    227
12.5  实战演练——重载运算符综合 应用    230
12.6  大神解惑    231
12.7  跟我学上机    232
第13章  实现代码重用——类的继承    233
13.1  继承的基本概念    234
13.1.1  基类和继承类    234
13.1.2  简单的基础实例    235
13.2  调用父类中的构造函数    240
13.3  子类存取父类成员    243
13.3.1  私有成员的存取    243
13.3.2  继承与静态成员    244
13.4  多继承    246
13.5  实战演练——继承的综合应用    248
13.6  大神解惑    250
13.7  跟我学上机    250
第14章  实现多态性——虚函数和抽象类    251
14.1  什么是虚函数    252
14.1.1  虚函数的作用    252
14.1.2  动态绑定和静态绑定    253
14.2  抽象类与纯虚函数    255
14.2.1  定义纯虚函数    255
14.2.2  抽象类的作用    256
14.2.3  虚析构函数    257
14.3  抽象类的多重继承    259
14.4  虚函数表    260
14.4.1  什么是虚函数表    260
14.4.2  继承关系的虚函数表    262
14.5  实战演练——抽象类的综合应用    263
14.6  大神解惑    266
14.7  跟我学上机    266
第15章  数据存储——C 操作文件    267
15.1  文件的基本概念    268
15.1.1  文件I/O    268
15.1.2  文件顺序读写    271
15.1.3  随机文件读写    271
15.2  文件的打开与关闭    273
15.2.1  文件的打开    273
15.2.2  文件的关闭    275
15.3  文本文件的处理    275
15.3.1  将变量写入文件    275
15.3.2  将变量写入文件尾部    276
15.3.3  从文本文件中读入变量    277
15.3.4  使用get()、getline()和 put()函数    278
15.4  处理二进制文件    280
15.5  实战演练——文件操作    282
15.6  大神解惑    284
15.7  跟我学上机    285
第16章  解决问题的法宝——异常处理    287
16.1  异常的基本概念    288
16.2  异常处理机制    288
16.3  抛出异常    289
16.4  重新抛出异常    291
16.5  捕获所有异常    292
16.6  未捕捉到的异常    293
16.7  标准异常    294
16.8  异常规范    294
16.9  异常与继承    295
16.10  自定义异常类    296
16.11  捕获多个异常    298
16.12  实战演练——异常处理应用    299
16.13  大神解惑    301
16.14  跟我学上机    302
第17章  C 的高级技能——模板与类型转换    303
17.1  模板    304
17.1.1  函数模板    304
17.1.2  类模板    305
17.1.3  模板参数    307
17.1.4  模板的特殊化    308
17.1.5  重载和函数模板    309
17.2  类型识别和强制转换运算符    311
17.2.1  运行时类型识别    311
17.2.2  强制类型转换运算符    314
17.3  实战演练——模板的综合应用    316
17.4  大神解惑    318
17.5  跟我学上机    318
第18章  控制元素的存储和访问——容器和迭代器    321
18.1  STL    322
18.2  迭代器    322
18.3  顺序容器    323
18.3.1  向量    323
18.3.2  双端队列    325
18.3.3  列表    326
18.4  关联容器    327
18.4.1  集合和多集    327
18.4.2  映射和多重映射    329
18.5  容器适配器    330
18.5.1  栈    330
18.5.2  队列    331
18.5.3  优先级队列    332
18.6  实战演练——容器的综合操作    333
18.7  大神解惑    338
18.8  跟我学上机    338
  
第IV篇  项目开发实战
第19章  项目实训1——开发计算器助手    341
19.1  需求分析    342
19.2  功能分析    342
19.3  开发前的准备工作    343
19.4  系统代码编写    343
19.4.1  CalculatorAssistant.h和 CalculatorAssistant.cpp文件    344
19.4.2  Complex.h和Complex.cpp 文件    347
19.4.3  Fraction.h和Fraction.cpp 文件    351
19.4.4  main.cpp文件    356
19.5  系统运行    356
19.6  项目总结    358
第20章  项目实训2——开发汽车信息管理系统    359
20.1  需求分析    360
20.2  功能分析    360
20.3  开发前的准备工作    362
20.4  系统代码编写    362
20.4.1  Date.h文件    362
20.4.2  DateException.h文件    363
20.4.3  Vehicle.h和Vehicle.cpp 文件    364
20.4.4  VehicleManage.h和 VehicleManage.cpp文件    366
20.4.5  Main.cpp文件    373
20.5  系统运行    376
20.6  项目总结    378
  
第21章  项目实训3——开发银行交易系统    379
21.1  需求分析    380
21.2  功能分析    380
21.3  开发前的准备工作    381
21.4  系统代码编写    382
21.4.1  交易流程处理、余额查询、存款和取款等功能    382
21.4.2  相关设备模拟    388
21.4.3  交易设备、数据库和账户等 具体实现    390
21.4.4  设备处理、交易处理、操作 处理和验证处理等功能    394
21.4.5  主程序运行入口    398
21.5  系统运行    398
21.6  项目总结    399
第22章  项目实训4——开发学校职工信息管理系统    401
22.1  需求分析    402
22.2  功能分析    402
22.3  开发前的准备工作    404
22.4  系统代码编写    404
22.4.1  职工信息的数据结构的基类属性和成员方法    404
22.4.2  各人员类的声明、定义 和实现    407
22.4.3  系统职工信息增删改查功能的 声明、定义    413
22.4.4  系统增删改查以及菜单功能的 实现    416
22.4.5  主程序运行入口    432
22.5  系统运行    432
22.6  项目总结    434
猜您喜欢

读书导航