内容简介 · · · · · ·
《21天学通C++(第5版)》从初学者的角度较全面地介绍了C++的相关知识,较系统地介绍了C++语言的基础内容。《21天学通C++(第5版)》包括6 篇共21 章的内容。其中,第1 篇是C++数据表达篇,包括C++入门、变量和数据类型、运算符和 表达式以及程序控制结构等;第2 篇是C++面向过程设计篇,包括函数、编译预处理、数组、指针和构 造数据类型等内容;第3 篇是C++面向对象编程篇,主要包括类和对象、继承、多态、运算符重载和输 入/输出流等内容;第4 篇主要介绍了C++高级特性,内容包括文件、命名空间和引用与内存管理;第5 篇的内容主要是C++编程实践,主要分析了标准模板库STL、模板与C++标准库和异常处理等;最后一篇结合学生成绩管理系统开发实例,讲解如何使用C++进行实际开发。《21天学通C++(第5版)》适合没有编程基础的C++语言初学者...
《21天学通C++(第5版)》从初学者的角度较全面地介绍了C++的相关知识,较系统地介绍了C++语言的基础内容。《21天学通C++(第5版)》包括6 篇共21 章的内容。其中,第1 篇是C++数据表达篇,包括C++入门、变量和数据类型、运算符和 表达式以及程序控制结构等;第2 篇是C++面向过程设计篇,包括函数、编译预处理、数组、指针和构 造数据类型等内容;第3 篇是C++面向对象编程篇,主要包括类和对象、继承、多态、运算符重载和输 入/输出流等内容;第4 篇主要介绍了C++高级特性,内容包括文件、命名空间和引用与内存管理;第5 篇的内容主要是C++编程实践,主要分析了标准模板库STL、模板与C++标准库和异常处理等;最后一篇结合学生成绩管理系统开发实例,讲解如何使用C++进行实际开发。《21天学通C++(第5版)》适合没有编程基础的C++语言初学者作为入门教程,也可作为大中专院校师生和培训班的教材, 对于C++语言开发的爱好者,《21天学通C++(第5版)》也有较大的参考价值。
作者简介 · · · · · ·
刘蕾,长期从事C、VC程序设计语言的教学工作,并使用C和VC开发了大量的程序,主要有:学校食堂IC卡管理系统;学校信息管理系统(使用VC和MS SQL 2000);达州军分区点对点视频会议系统;市民政局局域网即时通信软件;健身俱乐部会员管理系统;某钻探公司图形矢量化系统。
目录 · · · · · ·
第1 章 C++入门 1
1.1 C++概述 1
1.1.1 C++的历史沿革 1
1.1.2 C++与面向对象 1
1.1.3 从C 语言到C++ 2
· · · · · · (更多)
第1 章 C++入门 1
1.1 C++概述 1
1.1.1 C++的历史沿革 1
1.1.2 C++与面向对象 1
1.1.3 从C 语言到C++ 2
1.2 程序设计方法 3
1.2.1 结构化程序设计 3
1.2.2 面向对象程序设计 4
1.2.3 程序设计方法比较 4
1.3 C++开发环境——Visual C++ 6.0 5
1.3.1 工作区 .. 5
1.3.2 编辑区(Editor Area) 6
1.3.3 输出窗口(Output Window) 6
1.3.4 菜单栏、工具栏、状态栏 7
1.4 第一个C++程序——Hello World 7
1.4.1 创建源程序 7
1.4.2 编译连接 9
1.4.3 调试运行 9
1.5 C++源程序组成元素 10
1.5.1 基本组成 10
1.5.2 基本符号 11
1.5.3 标识符 11
1.5.4 保留字 11
1.5.5 分隔符 12
1.6 小结 12
1.7 习题 12
第2 章 变量和数据类型 16
2.1 常量 16
2.1.1 声明常量 16
2.1.2 常量的应用 17
2.2 变量 19
2.2.1 声明变量 19
2.2.2 变量的命名规则 .. 19
2.2.3 变量的作用范围 20
2.2.4 变量的应用 .. 21
2.3 基本数据类型 .. 22
2.3.1 整型 23
2.3.2 字符型 24
2.3.3 浮点型 26
2.3.4 布尔型 26
2.4 类型转换 27
2.4.1 隐式转换 27
2.4.2 显式转换 28
2.5 小结 29
2.6 习题 29
第3 章 运算符和表达式 32
3.1 运算符 .. 32
3.1.1 算术运算符 32
3.1.2 赋值运算符 34
3.1.3 关系运算符 35
3.1.4 逻辑运算符 35
3.1.5 条件运算符 36
3.1.6 逗号运算符 37
3.1.7 位运算符 .. 37
3.1.8 sizeof 运算符 38
3.1.9 运算符的优先级 38
3.2 表达式 .. 39
3.2.1 算术表达式 40
3.2.2 关系表达式 40
3.2.3 逻辑表达式 .. 41
3.2.4 条件表达式 42
3.2.5 赋值表达式 43
3.2.6 逗号表达式 .. 43
3.3 语句 44
3.3.1 语句中的空格 44
3.3.2 空语句 45
3.3.3 声明语句 45
3.3.4 赋值语句 46
3.4 小结 46
3.5 习题 46
第4 章 程序控制结构 50
4.1 顺序结构 50
4.1.1 表达式语句 50
4.1.2 输入语句 51
4.1.3 输出语句 51
4.1.4 格式控制符 .. 52
4.1.5 应用示例 55
4.2 选择结构 56
4.2.1 if 语句 56
4.2.2 ifelse 语句 57
4.2.3 多重if…else 语句 .. 58
4.2.4 switch 语句 60
4.2.5 应用示例 62
4.3 循环结构 64
4.3.1 for 语句 64
4.3.2 while 语句 65
4.3.3 dowhile 语句 66
4.3.4 多重循环 66
4.3.5 应用示例 68
4.4 转向语句 68
4.5 小结 70
4.6 习题 70
第2 篇 C++面向过程设计篇
第5 章 函数 74
5.1 函数简介 74
5.1.1 函数概述 .. 74
5.1.2 定义函数 .. 75
5.1.3 应用示例 76
5.2 函数参数及原型 77
5.2.1 函数的参数及返回值 .. 77
5.2.2 函数原型 78
5.2.3 main()函数 78
5.2.4 带参数的main()函数 80
5.3 调用函数 81
5.3.1 函数调用格式 81
5.3.2 传值调用 .. 82
5.3.3 引用调用 83
5.3.4 嵌套调用 84
5.3.5 递归调用 84
5.3.6 带默认形参值的函数 86
5.4 变量的作用域 .. 86
5.4.1 局部变量 87
5.4.2 全局变量 88
5.5 函数的作用域 .. 89
5.6 函数重载 90
5.6.1 函数重载的定义 91
5.6.2 参数类型不同的函数重载 91
5.6.3 参数个数不同的重载函数 92
5.7 小结 93
5.8 习题 93
第6 章 编译预处理 96
6.1 预处理命令 96
6.2 宏 96
6.2.1 宏概述 96
6.2.2 不带参数的宏定义 .. 97
6.2.3 取消宏 98
6.2.4 宏嵌套 100
6.2.5 带参数的宏定义 100
6.2.6 内联函数 104
6.2.7 宏与函数的区别 105
6.3 文件包含 .. 106
6.3.1 #include 命令 106
6.3.2 合理使用文件包含 107
6.4 条件编译 .. 108
6.4.1 #ifdef 形式 108
6.4.2 #ifndef 形式 .. 110
6.4.3 #if 形式 110
6.5 其他命令 111
6.5.1 #error 命令 111
6.5.2 #line 命令 .. 112
6.6 小结 112
6.7 习题 112
第7 章 数组 115
7.1 声明数组 .. 115
7.1.1 声明一维数组 115
7.1.2 声明多维数组 116
7.2 引用数组 .. 117
7.2.1 引用一维数组 117
7.2.2 引用多维数组 118
7.3 数组的赋值 119
7.3.1 初始化数组 .. 119
7.3.2 通过赋值表达式赋值 121
7.3.3 通过输入语句赋值 122
7.3.4 通过循环语句赋值 .. 122
7.3.5 多维数组的赋值 124
7.4 字符串 124
7.4.1 传统字符串 .. 125
7.4.2 字符数组 .. 127
7.5 数组与函数 128
7.6 数组应用 .. 130
7.6.1 顺序查找 130
7.6.2 折半查找 131
7.6.3 排序 .. 134
7.7 小结 136
7.8 习题 136
第8 章 指针 139
8.1 指针概述 .. 139
8.1.1 指针是什么 139
8.1.2 定义指针 140
8.1.3 指针的初始化 140
8.2 指针的运算 142
8.2.1 取地址与取值运算 142
8.2.2 指针的算术运算 143
8.2.3 指针的关系运算 145
8.2.4 指针的赋值运算 146
8.2.5 void 指针和const 指针 146
8.3 指针与数组 148
8.3.1 访问数组元素的方法 148
8.3.2 多维数组元素的访问 150
8.3.3 数组指针与指针数组 151
8.4 指针与函数 152
8.4.1 指针作为函数参数 152
8.4.2 指针型函数 154
8.4.3 函数指针 155
8.5 指针与字符串 156
8.6 二级指针 .. 157
8.7 小结 158
8.8 习题 159
第9 章 构造数据类型 162
9.1 结构体 162
9.1.1 结构体概述 162
9.1.2 结构体类型说明 163
9.1.3 定义结构体类型变量 164
9.1.4 初始化结构体变量 165
9.1.5 引用结构体成员变量 167
9.1.6 结构体作为函数参数 169
9.2 共用体 170
9.2.1 共用体类型说明 170
9.2.2 定义共用体类型变量 171
9.2.3 引用共用体成员变量 171
9.3 枚举 173
9.3.1 定义枚举类型 173
9.3.2 定义枚举类型变量 175
9.3.3 引用枚举类型变量 176
9.4 类型重定义typedef 177
9.5 位域 179
9.5.1 定义位域变量 179
9.5.2 使用位域 180
9.6 小结 181
9.7 习题 182
第3 篇 C++面向对象编程篇
第10 章 类和对象 185
10.1 类 185
10.1.1 什么是类 185
10.1.2 从结构到类 186
10.1.3 类的声明 188
10.1.4 类的访问控制 189
10.1.5 类的定义 191
10.2 对象 .. 193
10.2.1 对象概述 193
10.2.2 对象数组 194
10.3 构造函数 196
10.3.1 构造函数的概念 196
10.3.2 构造函数的声明和定义 196
10.3.3 构造函数的调用 198
10.3.4 不带参数的构造函数 198
10.3.5 带有默认参数的构造函数 199
10.3.6 构造函数的重载 201
10.4 拷贝构造函数 202
10.4.1 定义拷贝构造函数 202
10.4.2 调用拷贝构造函数 203
10.4.3 默认拷贝构造函数 .. 205
10.5 析构函数 206
10.6 友元 .. 207
10.6.1 友元函数 207
10.6.2 友元成员 209
10.6.3 友元类 .. 210
10.7 小结 .. 212
10.8 习题 .. 212
第11 章 继承 .. 216
11.1 继承与派生 .. 216
11.1.1 继承与派生概述 216
11.1.2 声明派生类 217
11.2 访问控制 217
11.2.1 公有继承 218
11.2.2 私有派生 220
11.2.3 保护继承 221
11.3 派生类的构造函数和析构函数 225
11.3.1 执行顺序和构建原则 225
11.3.2 派生类的构造函数 225
11.3.3 派生类析构函数的构建 226
11.4 多重继承 228
11.4.1 二义性问题 228
11.4.2 声明多重继承 230
11.4.3 多重继承的构造函数和析构函数 .. 232
11.5 虚基类 234
11.5.1 虚基类的引入 234
11.5.2 定义虚基类 235
11.5.3 虚基类的构造函数和初始化 237
11.6 小结 .. 238
11.7 习题 .. 238
第12 多态 243
12.1 多态简介 243
12.1.1 什么是多态 243
12.1.2 多态的作用 244
12.1.3 多态的引入 244
12.2 函数重载 246
12.3 虚函数 247
12.3.1 虚函数的引入 247
12.3.2 定义虚函数 249
12.3.3 使用虚函数 250
12.3.4 多重继承和虚函数 .. 251
12.3.5 使用虚函数的注意事项 253
12.4 抽象类 253
12.4.1 纯虚函数 253
12.4.2 抽象类 255
12.5 小结 .. 256
12.6 习题 .. 257
第13 章 运算符重载 .. 260
13.1 运算符重载简介 260
13.1.1 运算符重载的定义 260
13.1.2 运算符重载的特点 261
13.1.3 运算符重载的规则 262
13.2 运算符重载的形式 .. 263
13.2.1 重载为类的成员函数 263
13.2.2 双目运算符重载为成员函数 263
13.2.3 单目运算符重载为成员函数 264
13.2.4 运算符重载为类的友元函数 266
13.2.5 双目运算符重载为友元函数 266
13.2.6 单目运算符重载为友元函数 267
13.2.7 成员运算符函数与友元运算符函数的比较 269
13.3 特殊运算符的重载 .. 269
13.3.1 “++”和“”的重载 269
13.3.2 赋值运算符“=”的重载 271
13.3.3 下标运算符“[ ]”的重载 273
13.4 类类型转换 .. 274
13.5 小结 .. 276
13.6 习题 276
第14 章 输入/输出流 280
14.1 输入/输出流的引入 280
14.1.1 printf 与scanf 的缺陷 280
14.1.2 输入/输出流简介 281
14.1.3 输入/输出流类层次 282
14.2 标准输入/输出流 283
14.2.1 标准输出流对象 283
14.2.2 标准输入流对象 284
14.2.3 标准错误输出流对象 285
14.3 输入/输出流成员函数 286
14.3.1 get()函数:输出字符串 286
14.3.2 getline()函数:获取字符串 288
14.4 输入/输出的格式控制 288
14.4.1 用ios 类的成员函数进行格式控制 288
14.4.2 使用格式控制符进行格式控制 291
14.5 用户自定义数据类型的输入/输出 293
14.5.1 重载输出运算符“<<” 293
14.5.2 重载输入运算符“>>” 294
14.6 小结 .. 296
14.7 习题 296
第4 篇 C++高级特性篇
第15 章 文件 .. 299
15.1 文件和流 299
15.1.1 文件概述 299
15.1.2 文件流类 300
15.2 文件的打开与关闭 301
15.2.1 打开文件 301
15.2.2 关闭文件 303
15.3 文件的顺序读写 304
15.3.1 读写文本文件 304
15.3.2 文本文件应用示例 305
15.3.3 二进制文件概述 307
15.3.4 读写二进制文件 307
15.4 文件的随机读写 310
15.5 小结 .. 312
15.6 习题 .. 312
第16 章 命名空间 315
16.1 命名空间简介 315
16.1.1 什么是命名空间 315
16.1.2 定义命名空间 316
16.2 使用命名空间 318
16.2.1 使用作用域运算符引用成员 318
16.2.2 使用using 指令 319
16.2.3 使用using 声明 320
16.2.4 using 指令与using 声明的比较 321
16.3 类的作用域 321
16.3.1 静态数据成员 321
16.3.2 静态成员函数 323
16.4 作用域 324
16.4.1 局部作用域 324
16.4.2 全局作用域 326
16.4.3 作用域嵌套 327
16.5 this 指针 328
16.6 小结 330
16.7 习题 330
第17 章 引用与内存管理 333
17.1 引用 333
17.1.1 引用概述 333
17.1.2 引用的使用 334
17.2 引用的操作 335
17.2.1 引用作为函数参数 .. 335
17.2.2 引用作为返回值 336
17.3 动态内存分配 337
17.3.1 申请动态内存 337
17.3.2 释放空间 338
17.3.3 malloc 和free 库函数 340
17.4 const 引用 341
17.5 指针与引用的区别 343
17.6 小结 344
17.7 习题 344
第5 篇 C++编程实践篇
第18 章 标准模板库STL 347
18.1 标准模板库 347
18.1.1 STL 概述 347
18.1.2 STL 的引入 347
18.1.3 STL 的组成 348
18.2 算法 349
18.3 容器 351
18.3.1 什么是容器 351
18.3.2 向量 351
18.3.3 列表 353
18.3.4 集合 355
18.3.5 双端队列 356
18.3.6 栈 357
18.3.7 映射和多重映射 358
18.4 迭代器 359
18.5 小结 361
18.6 习题 361
第19 章 模板与C++标准库 364
19.1 模板概述 .. 364
19.1.1 模板简介 364
19.1.2 模板的引入 365
19.2 函数模板 .. 366
19.2.1 定义函数模板 366
19.2.2 生成函数模板 367
19.2.3 函数模板的异常处理 368
19.3 类模板 369
19.3.1 定义类模板 369
19.3.2 模板类 370
19.4 C++标准库概述 372
19.5 字符串库 .. 373
19.5.1 读写字符串 373
19.5.2 字符串赋值 373
19.5.3 字符串比较 .. 374
19.5.4 字符串长度和空字符串 375
19.6 小结 377
19.7 习题 .. 377
第20 章 异常处理 380
20.1 错误与异常 .. 380
20.1.1 什么是异常 380
20.1.2 异常处理的基本思想 380
20.2 异常处理的实现 382
20.2.1 使用try/catch 捕获异常 382
20.2.2 使用throw 抛出异常 383
20.2.3 应用示例 384
20.3 类和结构的异常处理 385
20.3.1 异常处理中的构造和析构 .. 386
20.3.2 处理结构类型的异常 387
20.4 异常处理机制 388
20.5 小结 .. 390
20.6 习题 .. 390
第6 篇 实例篇
第21 章 简单的学生成绩管理系统开发实例 393
21.1 需求分析 393
21.2 总体设计 393
21.3 功能模块的实现 394
21.3.1 成绩录入模块 .. 395
21.3.2 成绩统计模块 395
21.3.3 成绩排名模块 396
21.3.4 成绩查询模块 398
21.3.5 输出模块 399
21.4 系统集成 399
21.5 系统实现 401
21.5.1 结构和变量定义部分 402
21.5.2 功能函数定义部分 .. 403
21.5.3 主函数部分 404
21.6 小结 .. 406
· · · · · · (收起)
0 有用 C乔 2021-02-21 17:53:14
非常基础