第一章 C++编程简介 1
第一讲 C++基础知识 1
一、计算机程序设计语言概述 1
二、C++概述 4
三、C++程序的开发过程 5
四、一个C++程序实例 6
五、名字空间 11
六、无格式的输入/输出流 12
练一练 13
想一想 14
本章小结 14
课后习题一 14
第二章 数据类型与表达式 16
第二讲 C++的数据类型、常量与变量 16
一、C++的数据类型 16
二、变量和常量 18
练一练 23
本讲小结 24
想一想 24
第三讲 运算符与表达式 24
一、算术、关系、逻辑及赋值运算符及其表达式 24
二、其他运算符 28
三、类型转换 34
练一练 35
本讲小结 35
想一想 36
本章小结 36
课后习题二 36
第三章 C++的控制结构 38
第四讲 顺序结构 38
一、表达式语句及复合语句 38
二、输入/输出流的格式控制 39
练一练 43
本讲小结 44
想一想 44
第五讲 选择结构 44
一、标准if语句 44
二、复合if语句 46
三、if语句的嵌套 48
四、switch语句 48
练一练 50
本讲小结 51
想一想 51
第六讲 循环语句 51
一、while循环 51
二、do-while语句 52
三、for循环语句 54
练一练 55
本讲小结 56
想一想 56
第七讲 嵌套循环及流程转向语句 56
一、循环语句的嵌套 57
二、goto语句 58
三、break语句 59
四、continue语句 60
练一练 61
本讲小结 62
想一想 62
本章小结 62
课后习题三 62
第四章 函数 67
第八讲 函数的定义、调用、返回语句及函数声明 67
一、函数的定义和调用 67
二、函数参数的按值传递 72
练一练 73
本讲小结 75
想一想 75
第九讲 函数的嵌套调用和递归调用 75
一、嵌套调用 75
二、递归调用 76
练一练 78
本讲小结 80
想一想 80
第十讲 内联函数、带默认形参的函数、函数重载及函数模板 81
一、内联函数 81
二、带默认形参值的函数 83
三、函数重载 85
四、函数模板 87
五、C++系统函数 89
练一练 90
本讲小结 91
想一想 91
本章小结 91
课后习题四 91
第五章 构造数据类型 94
第十一讲 数组 94
一、一维数组的定义、初始化、数据赋值、数组越界 94
二、二维数组 97
三、数组作为函数参数 99
练一练 101
本讲小结 101
想一想 102
第十二讲 指针基础知识 102
一、指针的定义、初始化、运算及const指针 102
二、一维、二维数组中的指针使用 106
三、指向一维数组的指针 109
练一练 110
本讲小结 111
想一想 111
第十三讲 字符指针、指针数组、指向指针的指针和常片字符串处理函数 111
一、字符指针和字符串 111
二、指针数组和指向指针的指针 113
三、常用字符串处理函数 115
练一练 117
本讲小结 118
想一想 118
第十四讲 指针和函数 118
一、指针作为函数参数 118
二、返回指针的函数 120
三、指向函数的指针 121
练一练 123
本讲小结 124
想一想 124
第十五讲 动态存储分配、void指针和引用 124
一、动态存储分配和void指针 124
二、引用 127
练一练 130
本讲小结 131
想一想 132
第十六讲 结构、联合与枚举类型 132
一、结构类型 132
二、联合类型 138
三、枚举类型 140
练一练 141
本讲小结 142
想一想 142
本章小结 142
课后习题五 143
第六章 C++程序的结构 147
第十七讲 作用域与存储类型 147
一、全局变量与局部变量 147
二、变量的作用域 151
三、域运算符 153
四、名字空间的定义与使用 153
练一练 155
本讲小结 156
想一想 156
第十八讲 程序的文件结构与编译预处理命令 156
一、文件包含命令 157
二、宏定义 158
三、条件编译 161
练一练 163
本讲小结 164
想一想 164
本章小结 164
课后习题六 164
第七章 类和对象 168
第十九讲 类和对象基础知识 168
一、类的声明、成员函数及访问权限,对象的定义和引用及对象的赋值 168
练一练 173
本讲小结 174
想一想 175
第二十讲 构造函数和析构函数 175
一、构造函数和析构函数 175
练一练 182
本讲小结 184
想一想 184
第二十一讲 对象的使用 184
一、对象指针和动态对象 184
二、对象数组 187
三、this指针 189
练一练 191
本讲小结 192
想一想 192
第二十二讲 静态成员和友元 192
一、静态数据成员 192
二、静态成员函数 194
三、友元函数 196
四、友元类 198
练一练 200
本讲小结 201
想一想 202
本章小结 202
课后习题七 202
第八章 继承和派生 207
第二十三讲 基类和派生类 207
一、继承的概念和定义 207
二、派生类的三种继承方式 211
练一练 215
本讲小结 217
想一想 217
第二十四讲 派生类的构造函数和析构函数 217
一、派生类的构造函数和析构函数 217
练一练 222
本讲小结 223
想一想 223
第二十五讲 二义性和虚基类 224
一、二义性及解决方法 224
二、虚基类和虚继承 226
三、虚基类的构造函数 228
练一练 230
本讲小结 232
想一想 232
本章小结 232
课后习题八 233
第九章 多态和虚函数 234
第二十六讲 虚函数 234
一、使用基类对象访问派生类对象的成员 234
二、虚函数 238
练一练 241
本讲小结 243
想一想 243
第二十七讲 运算符重载 243
一、运算符重载 243
二、运算符重载为类的成员函数 245
三、重载为类的友元函数 247
练一练 249
本讲小结 251
想一想 251
第二十八讲 典型运算符重载 251
一、单目运算符重载 251
二、赋值运算符重载 254
三、下标运算符重载 256
练一练 257
本讲小结 259
想一想 259
本章小结 259
课后习题九 259
第十章 C++输入/输出流 261
第二十九讲 C++输入/输出概述 261
一、C++中流的概念 261
二、C++中标准输入/输出流 264
三、ios类中控制输出格式的成员函数 266
四、格式控制操作符 271
练一练 272
本讲小结 273
想一想 274
第三十讲 文件系统概述 274
一、文件系统基础知识及数据流的错误检测 274
二、文件的打开/关闭操作 276
练一练 281
本讲小结 282
想一想 282
第三十一讲 文件输入/输出 282
一、文本文件的读写 282
二、二进制文件的读写 285
三、文件指针 287
练一练 291
本讲小结 292
想一想 293
本章小结 293
课后习题十 293
第十一章 异常处理 295
第三十二讲 异常处理基础知识 295
一、异常处理机制 295
二、异常类的定义 300
练一练 304
本讲小结 305
想一想 305
本章小结 305
课后习题十一 306
第十二章 C++程序设计综合实例 307
第三十三讲 实例讲述 307
一、问题描述 307
二、算法分析 307
三、数据说明 308
四、功能说明 309
五、主函数的完整程序 313
附录A 课后习题参考答案 315
课后习题一参考答案 315
课后习题二参考答案 315
课后习题三参考答案 317
课后习题四参考答案 320
课后习题五参考答案 322
课后习题六参考答案 327
课后习题七参考答案 328
课后习题八参考答案 332
课后习题九参考答案 337
课后习题十参考答案 339
课后习题十一参考答案 342
附录B 常用字符与ASCII码对照表 344
附录C 运算符的优先级、结合性 346
参考文献 347