第1章 计算机基础知识 1
1.1 计算机的概况 1
1.1.1 计算机的发展 1
1.1.2 计算机的分类和特点 3
1.1.3 计算机的特点与性能指标 5
1.1.4 计算机的应用领域 7
1.2 计算机中的信息表示 10
1.2.1 信息编码与数制的基本概念 10
1.2.2 数制之间的相互转换 12
1.2.3 计算机中的数据表示 14
1.3 计算机系统的组成及其工作原理 19
1.3.1 计算机硬件组成 19
1.3.2 计算机软件组成 22
1.3.3 计算机硬件与软件协同工作 23
1.4 计算机程序设计与算法基础 24
1.4.1 程序设计与程序设计语言 25
1.4.2 语言处理程序 26
1.4.3 计算机程序的执行过程 27
1.4.4 算法的概念 29
1.4.5 算法设计举例 30
1.4.6 算法的表示 31
1.4.7 算法的结构化描述 33
1.5 综合应用——配置自己的计算机 34
1.6 本章小结 40
1.7 习题 41
第2章 C++程序设计概述 42
2.1 简单的C++程序实例 42
2.1.1 一个简单的程序结构 42
2.1.2 C++程序的编辑和实现 44
2.2 C++语言规则 47
2.2.1 C++的字符集 47
2.2.2 关键字 48
2.2.3 标识符 48
2.2.4 标点符号 48
2.3 C++的数据类型 49
2.3.1 基本数据类型 49
2.3.2 其他数据类型 54
2.4 运算符和表达式 58
2.4.1 基本运算符及其表达式 58
2.4.2 C++的运算符、优先级和结合性 64
2.4.3 语句 66
2.5 简单的输入/输出 67
2.5.1 数据的输入/输出 67
2.5.2 输出格式控制 69
2.6 本章小结 72
2.7 习题 73
第3章 分支结构 74
3.1 if分支结构 74
3.1.1 单分支结构 75
3.1.2 双分支结构 77
3.1.3 多分支结构语句 79
3.1.4 分支结构中的if嵌套问题 81
3.2 switch开关语句 83
3.2.1 switch开关语句 83
3.2.2 switch应用实例 87
3.3 综合应用 89
3.4 本章小结 92
3.5 习题 92
第4章 循环控制结构 94
4.1 循环语句 94
4.1.1 for语句 95
4.1.2 while语句 96
4.1.3 do-while语句 98
4.1.4 三种语句的共性和区别 99
4.1.5 多重循环 101
4.2 break语句与continue语句 105
4.2.1 break语句 105
4.2.2 continue语句 107
4.3 常用算法应用举例 109
4.3.1 穷举法 109
4.3.2 迭代法 110
4.3.3 递推法 111
4.4 输入/输出文件简介 112
4.5 综合应用 115
4.6 本章小结 121
4.7 习题 121
第5章 数组与指针 122
5.1 一维数组 122
5.1.1 一维数组的定义与初始化 122
5.1.2 一维数组的应用 126
5.2 字符数组与字符串 129
5.3 二维数组 132
5.3.1 二维数组的定义与初始化 134
5.3.2 二维数组的访问 135
5.3.3 二维数组的应用 136
5.4 指针 138
5.4.1 内存空间的访问方式 138
5.4.2 指针变量的声明与运算 139
5.4.3 指针与数组的关系 142
5.4.4 多级指针与多维数组 144
5.4.5 指针数组 146
5.5 动态内存分配 147
5.5.1 动态内存的申请和释放 147
5.5.2 动态数组 149
5.5.3 动态数组应用举例 151
5.6 综合应用 152
5.6.1 查找算法 152
5.6.2 排序算法 154
5.6.3 约瑟夫问题 157
5.6.4 贪心算法——装船问题 158
5.7 本章小结 160
5.8 习题 161
第6章 函数 162
6.1 函数基本概念 162
6.1.1 理解函数 162
6.1.2 C++语言中的函数 163
6.2 函数的声明、定义与调用 164
6.2.1 函数声明 164
6.2.2 函数定义 166
6.2.3 函数调用 168
6.2.4 程序实例 170
6.3 变量的存储方式和生存期 172
6.3.1 存储特性与作用域 172
6.3.2 变量的生存期 175
6.4 函数参数传递 177
6.4.1 值传递 178
6.4.2 指针传递 179
6.4.3 引用传递 181
6.4.4 数组参数 182
6.4.5 程序实例 185
6.5 函数嵌套与递归调用 189
6.5.1 嵌套调用 189
6.5.2 递归调用 190
6.5.3 程序实例 192
6.6 函数重载及参数默认值设置 194
6.6.1 函数重载 194
6.6.2 带默认形参值的函数 196
6.7 多文件程序结构 197
6.7.1 多文件结构 198
6.7.2 预处理功能 198
6.7.3 多文件应用实例 199
6.8 综合应用 201
6.9 本章小结 206
6.10 习题 207
第7章 类与对象 208
7.1 从面向过程到面向对象 208
7.2 类和对象 211
7.2.1 类的定义 211
7.2.2 对象的定义与使用 214
7.2.3 构造函数与析构函数 217
7.2.4 UML类图 225
7.2.5 程序实例 226
7.3 类的高级应用 234
7.3.1 类的组合 234
7.3.2 友元 238
7.3.3 运算符重载 240
7.3.4 静态成员 243
7.4 本章小结 246
7.5 习题 246
第8章 继承与多态 249
8.1 继承与派生 249
8.1.1 派生类的定义 250
8.1.2 同名覆盖与新成员的派生 254
8.1.3 类型兼容 255
8.1.4 程序实例 256
8.2 多态与虚函数 258
8.2.1 虚函数的定义 258
8.2.2 纯虚函数 261
8.3 本章小结 263
8.4 习题 263
附录A 库函数集锦 264
参考文献 266