1.1 C++的起源 1
2.4.2算术运算符和算术表达式 3 1
目 录 1
第1章C++概述 1
1.2 C++的特点 2
1.2.1对面向对象开发的支持 2
1.2.2 C++与C的比较 3
1.3 简单的C++程序 5
1.4 C++上机操作 7
综合练习一 9
一、选择题 9
小结 9
二、简答题 10
三、上机题 10
第2章数据类型和表达式 11
2.1 常量和变量 11
2.1.1常量 11
2.1.2变量 12
2.2关键字和标识符 16
2.3数据类型 20
2.3.1整数类型 22
2.3.2浮点类型 26
2.3.3类型转换 27
2.4运算符和表达式 30
2.4.1运算符优先级 30
2.4.3赋值运算符和赋值表达式 33
2.4.4关系运算符和关系表达式 34
2.4.5逻辑运算符和逻辑表达式 35
2.4.6逗号运算符和逗号表达式 36
2.4.7按位逻辑运算符 38
2.5简单的输入/输出 40
2.5.1输入cin 40
2.5.2输出cout 41
三、上机题 42
二、简答题 42
小结 42
一、选择题 42
综合练习二 42
第3章程序结构和流程控制语句 44
3.1 C++语言的语句 44
3.1.1 C++程序的3种基本结构 45
3.1.2顺序流程的流程图 45
3.2分支语句 46
3.2.1 if语句 46
3.2.2条件运算符和条件表达式 49
3.2.3 switch语句 50
3.3循环语句 53
3.3.1 while语句 53
3.3.2 do…while语句 55
3.3.3 for语句 56
3.4.2 continue语句 58
3.4.1 break语句 58
3.4控制执行顺序的语句 58
3.4.3 goto语句 59
小结 60
综合练习三 60
一、选择题 60
二、简答题 61
三、上机题 62
第4章数组 63
4.1数组的概念 63
4.2一维数组的定义和使用 63
4.2.1一维数组的定义 64
4.2.2一维数组的初始化 65
4.2.3一维数组元素的使用 66
4.2.4一维数组程序举例 66
4.3.2二维数组的初始化 68
4.3二维数组的定义和使用 68
4.3.1二维数组的定义 68
4.3.3二维数组元素的使用 69
4.3.4二维数组程序举例 69
4.4字符数组的定义和使用 71
4.4.1字符数组 71
4.4.2字符数组的定义 71
4.4.3字符数组的初始化 71
4.4.4字符数组应用举例 72
4.5字符串 73
4.5.1字符串结束标志 73
4.5.2字符串处理函数 73
小结 73
综合练习四 74
一、选择题 74
二、简答题 75
三、上机题 76
第5章函数 78
5.1 函数的概述 78
5.1.1 函数的定义和调用 78
5.1.2函数的参数传递 83
5.1.3函数的返回值 84
5.2 函数的嵌套调用和递归调用 86
5.3模块 95
5.4作用域 97
5.5内联函数 99
5.6函数的重载 101
5.6.1用返回值重载 103
5.6.2安全类型连接 103
小结 105
综合练习五 105
一、选择题 105
二、简答题 105
三、上机题 106
第6章编译预处理 107
6.1宏(Macro) 107
6.1.1不带参数的宏 107
6.1.2带参数的宏 109
6.2文件包含(#include) 110
6.3 条件编译 111
6.3.1#ifdef 111
6.3.2#ifndef 112
6.3.3#if 112
小结 113
综合练习六 113
一、选择题 113
二、简答题 113
三、上机题 113
7.1指针的概念 114
第7章指针 114
7.2指针变量 116
7.2.1指针变量的定义 116
7.2.2指针变量的引用 117
7.2.3指针变量作为函数参数 119
7.3数组与指针 123
7.4指针数组和指向指针的指针 123
7.5 new和delete运算符 124
7.5.2运算符delete的用法 125
7.5.1运算符new的用法 125
小结 128
综合练习七 128
一、选择题 128
二、简答题 129
三、上机题 131
8.2.1 类 134
8.2类与对象 134
8.1 概述 134
第8章类和对象 134
8.2.2对象 136
8.3构造函数和析构函数 138
8.3.1构造函数和析构函数的特点 138
8.3.2拷贝构造函数 140
8.4工程的使用 142
8.5内联函数和外联函数 150
8.6对象指针 150
8.6.1 对象指针作函数的参数 152
8.6.2对象引用作函数参数 153
8.7 this指针 154
8.8类的作用域 155
8.9对象数组 155
8.9.1 对象数组的定义 155
8.9.2对象数组的赋值 155
8.9.3指向数组的指针和指针数组 156
8.10对象的生存期 159
小结 159
综合练习八 159
一、选掸题 159
二、简答题 160
三、上机题 163
第9章枚举类型、结构类型和类型别名 164
9.1 枚举类型 164
9.2结构类型 166
9.3类型别名 171
小结 172
综合练习九 172
一、选择题 172
二、简答题 173
三、上机题 173
10.1.1继承与派生类的概念 174
10.1 继承与派生 174
第10章继承和派生类 174
10.1.2基类与派生类的关系 178
10.1.3派生类的构造函数和析构函数 180
10.1.4子类型化 183
10.1.5类型适应 183
10.2多重继承 184
10.2.1 多继承的构造函数 184
10.2.2二义性问题 186
10.3 虚基类 191
10.3.1虚基类的声明 191
10.3.2虚基类的构造函数 193
10.4 静态成员 194
10.4.1静态数据成员 194
10.4.2静态成员函数 196
综合练习十 197
一、选择题 197
小结 197
二、简答题 198
三、上机题 201
第11章友元与运算符重载 204
11.1 友元 204
11.1.1友元函数 204
11.1.2友元类 205
11.2.1 运算符重载的概念 206
1 1.2运算符重载 206
11.2.2运算符重载的参数和返回值 207
11.2.3可以重载的运算符 209
11.2.4重载+、-、*、\运算符 213
11.2.5重载下标运算符[] 213
11.2.6重载++和运算符 214
12.2.7重载函数调用运算符() 216
11.2.8不能重载的运算符 216
11.3.1 虚函数 217
11.3多态性与虚函数 217
11.3.2多态性 220
11.3.3纯虚函数和抽象类 221
小结 223
综合练习十一 224
一、选择题 224
二、简答题 224
三、上机题 227
第12章流类体系与文件操作 228
12.1 C++的流类体系 228
12.1.1流 228
12.1.2基本流类体系 228
12.1.3标准输入输出流 229
12.1.4流的格式控制 231
12.1.5数据输入输出成员函数 238
12.1.6重载提取与插入运算符 239
12.2.3文件的使用方法 244
12.2.2 C++文件流类体系 244
12.2文件操作 244
12.2.1 C++文件概述 244
小结 247
综合练习十二 247
一、选择题 247
二、简答题 248
三、上机题 249
第13章综合应用实例 250
13.1银行存储系统设计 250
13.1.1编程目的 250
13.1.2系统简介 250
13.1.3编程思路 250
13.1.4程序代码 251
13.1.5程序演示 254
13.2.4程序代码 256
13.2.3编程思路 256
13.2无穷大整数设计 256
13.2.2系统简介 256
13.2.1编程目的 256
13.2.5程序演示 261
13.3最短路径问题 261
13.3.1编程目的 261
13.3.2系统简介 261
13.3.3编程思路 262
13.3.4程序代码 262
13.3.5程序演示 284
13.4五子棋程序 285
13.4.1编程目的 285
13.4.2系统简介 285
13.4.3编程思路 286
13.4.4程序代码 292
13.4.5程序演示 339
附录C++关键字 340
参考答案 341
第1章 341
第2章 342
第3章 343
第4章 347
第5章 348
第6章 351
第7章 352
第8章 355
第9章 360
第10章 362
第11章 363
第12章 365
参考文献 368