第1章 初识C/C +++程序设计语言 1
1.1程序设计语言概述 1
1.2 C/C++程序设计语言概述 2
1.2.1程序实例 3
1.2.2 C++程序的基本框架 4
1.2.3 C/C++编程流程 4
1.2.4 C/C++语言的特点 5
1.3程序与算法 6
1.4面向过程程序设计 6
1.5面向对象程序设计 8
1.6常用C/C++集成开发环境 9
1.6.1跨平台的开源集成开发环境Code::Blocks 9
1.6.2 Visual C++6.0集成开发环境 10
1.6.3 Visual Studio 2012集成开发环境 10
本章小结 11
习题1 11
第2章 数据类型、运算符与表达式 12
2.1案例剖析 12
2.2数据类型 14
2.3常量和变量 16
2.3.1常量 16
2.3.2变量 19
2.4运算符和表达式 20
2.4.1算术运算符和算术表达式 21
2.4.2赋值运算符和赋值表达式 22
2.4.3逗号运算符和逗号表达式 23
2.4.4 sizeof运算符 24
2.4.5数据类型的转换和运算 25
2.5综合案例:简单的学生成绩管理 26
2.5.1问题的提出 26
2.5.2算法及程序设计分析 27
2.5.3源程序及说明 27
2.5.4程序运行结果 28
本章小结 28
习题2 29
第3章 顺序结构程序设计 31
3.1案例剖析 31
3.2顺序结构的基础 33
3.3数据的输入/输出 33
3.3.1数据的输入/输出概念 33
3.3.2输入/输出简单格式控制 34
3.4综合案例:学生成绩管理——格式控制的应用 42
3.4.1问题的提出 42
3.4.2算法及程序设计分析 42
3.4.3源程序及说明 42
3.4.4程序运行结果 43
本章小结 44
习题3 44
第4章 选择结构程序设计 48
4.1案例剖析 48
4.2条件判断 49
4.2.1条件判断的含义 50
4.2.2关系运算符和关系表达式 50
4.2.3逻辑运算符和逻辑表达式 53
4.3使用if语句实现条件判断 56
4.3.1两种情况的条件判断 56
4.3.2较多情况的条件判断 63
4.4使用switch语句实现条件判断 69
4.5综合案例:学生成绩管理——条件判断的应用 76
4.5.1问题的提出 76
4.5.2算法及程序设计分析 76
4.5.3源程序及说明 77
4.5.4程序运行结果 77
本章小结 78
习题4 78
第5章 循环结构程序设计 81
5.1案例剖析 81
5.2循环控制语句 83
5.2.1 while语句 83
5.2.2 do…while语句 86
5.2.3 for语句 88
5.3循环结构的嵌套 92
5.4循环的提前结束和跳转语句 93
5.4.1用break语句退出循环 93
5.4.2用continue语句提前结束本次循环 95
5.4.3 goto语句 96
5.5几种循环语句的比较 97
5.5.1 while语句和do…while语句的比较 97
5.5.2 for语句与while语句的比较 97
5.6综合案例:学生成绩管理——循环的应用 101
5.6.1问题的提出 101
5.6.2算法及程序设计分析 101
5.6.3源程序及说明 103
5.6.4程序运行结果 104
本章小结 105
习题5 105
第6章 数组 107
6.1案例剖析 107
6.2一维数组的定义和使用 108
6.2.1一维数组的应用场合 108
6.2.2一维数组的定义及初始化 109
6.2.3一维数组元素的引用 110
6.3二维数组的定义和使用 121
6.3.1二维数组的应用场合 122
6.3.2二维数组的定义及初始化 123
6.3.3二维数组元素的引用 125
6.4综合案例:学生成绩管理——数组的应用 130
6.4.1问题的提出 130
6.4.2算法及程序设计分析 131
6.4.3源程序及说明 131
6.4.4程序运行结果 133
本章小结 134
习题6 135
第7章 字符串 139
7.1案例剖析 139
7.2用字符数组存储和处理字符串 141
7.2.1字符数组的定义及初始化 141
7.2.2字符数组元素的引用 143
7.2.3字符数组的输入/输出 144
7.2.4常用字符串处理函数 146
7.3用string类存储和处理字符串 149
7.3.1用string类定义对象 149
7.3.2 string类的常用运算符和函数 149
7.4综合案例:学生成绩管理——字符串的应用 152
7.4.1问题的提出 152
7.4.2算法及程序设计分析 152
7.4.3源程序及说明 153
7.4.4程序运行结果 155
本章小结 156
习题7 156
第8章 指针 157
8.1案例剖析 157
8.2内存空间的访问方式 159
8.3指针变量的定义及初始化 160
8.4用指针处理数组 162
8.4.1指向数组的指针 162
8.4.2指针变量的运算 162
8.5动态存储分配内存空间 163
8.5.1分配存储空间 163
8.5.2释放存储空间 164
8.6用指针处理字符串 166
8.7指针数组和二维指针 167
8.8引用 169
8.9综合案例:学生成绩管理——指针的应用 169
8.9.1问题的提出 169
8.9.2算法及程序设计分析 170
8.9.3源程序及说明 170
8.9.4程序运行结果 173
本章小结 174
习题8 174
第9章 函数 175
9.1案例剖析 175
9.2常用系统函数 178
9.3自定义函数 181
9.3.1为什么使用自定义函数 181
9.3.2函数的定义及调用 182
9.3.3函数的参数传递 190
9.3.4函数的默认参数 194
9.3.5函数的声明 196
9.4内联函数 198
9.5函数重载 199
9.6函数模板 201
9.7变量的作用域、生存期和存储类别 203
9.7.1变量的作用域 203
9.7.2变量的生存期与存储类别 206
9.8多文件组织结构及编译预处理 210
9.8.1多文件组织结构 210
9.8.2编译预处理 211
9.9名空间 214
9.10综合案例:学生成绩管理——函数的应用 218
9.10.1问题的提出 218
9.10.2算法及程序设计分析 219
9.10.3源程序及说明 219
9.10.4程序运行结果 222
本章小结 222
习题9 223
第10章 自定义数据类型 228
10.1案例剖析 228
10.2结构体 230
10.2.1结构体类型的声明 230
10.2.2结构体类型变量 232
10.2.3结构体类型变量的初始化 233
10.2.4结构体类型变量的引用 234
10.2.5结构体类型数组 236
10.2.6指向结构体类型数据的指针 240
10.2.7结构体与函数 243
10.3共用体 247
10.3.1共用体定义 247
10.3.2共用体类型变量、数组和指针变量的定义 248
10.3.3共用体类型变量、数组和指针变量的引用 249
10.3.4共用体应用举例 249
10.4枚举类型 252
10.5用typedef定义类型 254
10.6综合案例:学生成绩管理——结构体的应用 254
10.6.1问题的提出 254
10.6.2算法及程序设计分析 254
10.6.3源程序及说明 255
10.6.4程序运行结果 257
本章小结 257
习题10 258
第11章 类与对象 262
11.1案例剖析 262
11.2面向对象程序设计的基本特征 264
11.3类的图形标识UML 264
11.3.1 UML简介 265
11.3.2类图的概念 265
11.3.3类图的组成 265
11.3.4类图中类之间的关系 267
11.4类的声明和使用 269
11.4.1类的声明 269
11.4.2类成员的访问控制 271
11.4.3类的成员函数 274
11.5对象的定义和对象成员的引用 276
11.5.1对象的定义 277
11.5.2对象成员的引用 277
11.5.3对象的初始化 281
11.6 this指针 290
11.6.1什么是this指针 290
11.6.2成员函数声明中隐含this 292
11.6.3 this指针的使用 292
11.7类模板 293
11.8综合案例:学生成绩管理——类模板的应用 297
11.8.1问题的提出 297
11.8.2类的设计 297
11.8.3源程序及说明 297
11.8.4程序运行结果 300
本章小结 300
习题11 300
第12章 继承与多态 305
12.1案例剖析 305
12.2继承与派生 306
12.2.1派生类的定义与访问控制 306
12.2.2派生类的生成过程 308
12.2.3派生类的构造函数和析构函数 309
12.2.4作用域分辨 314
12.2.5虚基类 316
12.2.6赋值兼容规则 318
12.3多态性 318
12.3.1运算符重载 319
12.3.2虚函数 320
12.3.3纯虚函数和抽象类 324
12.4综合案例:人员信息管理 327
12.4.1问题的提出 327
12.4.2算法及程序设计分析 327
12.4.3源程序及说明 328
12.4.4程序运行结果 335
本章小结 337
习题12 337
第13章 C++输入/输出流类库 338
13.1案例剖析 338
13.2 C++输入/输出流概述 341
13.2.1输入/输出流的结构 341
13.2.2预定义的流类对象与通用流运算符 342
13.3文件输出流 346
13.3.1定义文件输出流对象 347
13.3.2输出流的常用成员函数 349
13.4文件输入流 351
13.4.1定义文件输入流对象 351
13.4.2输入流的常用成员函数 352
13.5 I/O操作状态控制函数 355
13.6综合案例:用文件存储学生成绩 357
13.6.1问题的提出 357
13.6.2算法及程序设计分析 357
13.6.3源程序及说明 357
13.6.4程序运行结果 359
本章小结 360
习题13 360
第14章 异常处理 361
14.1案例剖析 361
14.2异常处理的意义 363
14.3异常处理的实现 364
14.3.1异常处理的语法 364
14.3.2异常接口声明 366
14.4 C++标准库的异常处理 366
本章小结 368
习题14 368
第15章 图形界面编程简介 369
15.1案例剖析 369
15.2 Windows编程 370
15.2.1 Windows API与MFC概述 370
15.2.2 MFC编程 370
15.3基于对话框的应用程序 371
15.3.1对话框应用程序实例 371
15.3.2对话框应用程序控件 377
15.4文档/视图结构应用程序实例 377
本章小结 379
习题15 380
附录 381
附录A运算符的优先级与结合性 381
附录B常用字符与ASCⅡ值对照表 383
参考文献 384