简介
书籍
计算机书籍
c++主要包括两部分内容:c和c++的公共子集,c++直接支持的高级技术部分。c++包含四种程序设计风格:过程化程序设计、数据抽象、面向对象程序设计和泛型程序设计。本书从公共子集到高级技术部分逐步讲授,内容涉及:机器语言简介,基本数据类型,运算符和表达式,语句组结构,指针和数组,函数,模块化程序设计,c风格串,结构、联合、枚举,二维数组和指针,顺序表,单向链表,从c到c++的基本内容,从顺序表到顺序表类,从c风格串到string类串,date类,继承和动态绑定,函数模板和向量类模板,链表类模板和适配器,c++的i/o流库,c++综合设计实例,命名空间。
《程序设计:从过程化到面向对象》可以作为高等院校计算机及相关专业本科生以c++作为第一门程序设计课程的教材,也可以作为计算机编程爱好者的自学教材和参考书。
目录
《程序设计:从过程化到面向对象》
出版者的话
编委会
丛书序言
前言
教学建议
第1章 机器语言简介 1
1.1 计算机组成及工作过程 1
1.2 计算机硬件和软件 4
1.3 机器语言程序 5
1.4 汇编语言 7
1.5 深入探讨—存储和算法是一对矛盾体 8
习题 9
第2章 基本数据类型 10
2.1 变量与字面值常量 10
2.2 整型 15
2.3 字符型 16
2.4 实型 19
2.5 布尔型 20
2.6 typedef 名字 20
.2.7 基本数据类型的深入探讨 20
2.7.1 字面值常量的意义 20
2.7.2 左值和右值 21
习题 21
第3章 运算符和表达式 22
3.1 表达式 22
3.2 关系操作符 23
3.3 逻辑操作符 23
3.4 自增自减操作符 24
3.5 赋值和复合赋值操作符 25
3.6 条件操作符 26
3.7 逗号操作符 27
3.8 复合表达式 27
3.9 内部类型转换 27
3.9.1 赋值兼容性 27
3.9.2 表达式计算中的类型转换过程 28
3.9.3 强制类型转换 28
习题 28
第4章 语句组结构 30
4.1 选择结构 30
4.1.1 if-else语句 30
4.1.2 switch语句 34
4.2 循环结构 35
4.2.1 for语句 35
4.2.2 while语句 37
4.2.3 do-while语句 39
4.2.4 循环嵌套 40
4.3 其他流程控制语句 40
4.3.1 break语句 40
4.3.2 continue语句 41
习题 41
第5章 指针和数组 43
5.1 指针 43
5.1.1 指针和间接引用 43
5.1.2 指针定义中“*”的位置 47
5.1.3 指针加减整数的基本运算 47
5.2 数组 48
5.2.1 数组变量和数组指针 48
5.2.2 变量和长度为1的数组 50
5.2.3 数组和指针的关系 51
5.2.4 动态数组 52
5.3 指针和数组的应用设计举例 52
5.3.1 数组元素求和 52
5.3.2 求数组最小元素 53
5.3.3 选择排序 53
5.4 指针和数组的深入讨论 55
5.4.1 指针、数组、表达式和左值 55
5.4.2 数组变量指针和数组指针 55
习题 55
第6章 函数 57
6.1 函数定义与调用 57
6.2 值传递和指针传递 61
6.3 返回值与指针传递 62
6.4 函数声明(原型) 62
6.5 函数应用设计举例 64
6.5.1 选择排序 64
6.5.2 起泡排序 65
6.5.3 数制转换 66
6.5.4 折半查找 66
6.5.5 划分数组元素 67
6.5.6 删除重复数据 68
6.5.7 筛法求素数 69
6.5.8 josephus问题 71
6.6 函数调用与变量的存储类别 71
6.6.1 自动局部变量 72
6.6.2 静态局部变量 74
6.6.3 外部变量 75
6.6.4 寄存器变量 76
6.7 const限定修饰符 77
6.7.1 const型变量 77
6.7.2 间接const型指针 78
6.7.3 const型指针 79
6.7.4 全const型指针 79
6.8 函数指针 80
6.9 递归 81
6.10 函数的深入讨论 83
6.10.1 作为函数退出点的return语句 83
6.10.2 自变量指针不能作为返回值 84
6.10.3 函数表达式和左值 84
6.10.4 移动下标与移动指针 85
6.10.5 数组和指针参数 85
习题 86
第7章 模块化程序设计 87
7.1 全局外部函数 87
7.2 静态外部函数 88
7.3 全局外部变量 89
7.4 静态外部变量 90
7.5 编译预处理 91
7.5.1 无参宏指令 91
7.5.2 带参宏指令 91
7.5.3 条件编译指令 92
7.5.4 文件包含指令 93
7.6 模块化应用设计举例—数组的输入/输出、排序和查找 95
习题 96
第8章 c风格串 97
8.1 字符串常量和字符串赋值 97
8.2 字符串基本操作函数声明 99
8.3 字符串基本操作函数实现 99
8.4 字符串应用设计举例 102
8.4.1 判断回文 102
8.4.2 删除空格字符 104
8.5 字符串的深入讨论 105
8.5.1 特殊字符串 105
8.5.2 再论字符串常量 105
习题 105
第9章 结构、联合、枚举 106
9.1 结构 106
9.1.1 结构定义 106
9.1.2 结构变量 107
9.1.3 结构变量的初始化和赋值 107
9.1.4 结构数组 108
9.1.5 结构的嵌套 109
9.1.6 结构返回值和指针传递 110
9.2 联合 110
9.3 枚举 111
9.4 结构应用设计举例 113
9.4.1 模拟洗牌 113
9.4.2 date结构 114
9.4.3 三天打鱼,两天晒网 118
9.5 结构的深入讨论 118
习题 119
第10章 二维数组和指针 121
10.1 二维数组与二维数组指针 121
10.2 二维数组与一维数组 126
10.3 指针数组与二级指针变量(指针的指针) 129
10.4 指针数组与二维数组 130
10.5 二级指针指向的动态数组空间 132
10.6 二维数组和指针的应用设计举例—马鞍点 133
习题 134
第11章 顺序表 135
11.1 顺序表的定义 135
11.2 顺序表基本运算的实现 137
11.3 删除顺序表重复数据 140
11.4 数据抽象和准封装 141
习题 143
第12章 单向链表 144
12.1 单向链表的定义 144
12.2 单向链表基本运算的实现 146
12.3 逆置 150
习题 151
第13章 从c到c++的基本内容 152
13.1 c语言本身的问题 152
13.2 内联函数 154
13.3 运算符重载 155
13.4 函数重载 156
13.5 引用型 158
13.5.1 引用型概念的由来 158
13.5.2 引用型的定义和应用 160
13.6 提取符和插入符重载 162
13.7 默认参数 164
习题 165
第14章 从顺序表到顺序表类 166
14.1 顺序表和顺序表类 166
14.2 顺序表类基本运算的实现 169
14.3 增加的成员函数 170
14.3.1 复制构造函数 170
14.3.2 复制赋值运算符重载 171
14.3.3 下标运算符重载 172
14.4 构造函数与初始化 173
14.5 类定义 173
习题 174
第15章 从c风格串到string类串 175
15.1 string类的声明 175
15.2 string类基本运算的实现 177
15.2.1 构造函数 177
15.2.2 成员赋值运算符 179
15.2.3 成员转换 180
15.2.4 串连接 181
15.2.5 关系运算 184
15.2.6 求子串 184
15.2.7 子串插入 186
15.2.8 子串删除 188
15.2.9 下标运算符 189
15.2.10字符查找 190
15.2.11输入/输出 190
15.3 模式匹配 191
15.4 深入讨论 193
15.4.1 转换赋值运算符函数的替代 193
15.4.2 成员函数“类串+c串”的替代 193
15.4.3 explicit修饰符 194
习题 195
第16章 date类 196
16.1 date类的声明 196
16.2 data类基本运算的实现 199
16.3 深入讨论 202
16.3.1 转换赋值成员函数的替代 202
16.3.2 静态数据成员和静态函数成员 202
习题 204
第17章 继承和动态绑定 205
17.1 参数初始化表 205
17.2 继承和受保护成员 207
17.2.1 继承 207
17.2.2 受保护成员 209
17.3 多态性和虚函数 209
17.4 虚析构函数 211
17.5 纯虚函数和抽象类 212
习题 215
第18章 函数模板和向量类模板 216
18.1 函数模板 216
18.2 顺序表类模板 218
18.3 向量类模板vector 219
18.3.1 vector定义 220
18.3.2 通用算法和迭代器 223
18.3.3 vector的插入和删除函数 225
18.3.4求素数 226
18.4 函数对象 227
18.5 深入讨论—函数模板实例化中的问题 228
习题 229
第19章 链表类模板和适配器 231
19.1 链表类模板list 231
19.2 适配器 237
19.2.1 链栈 237
19.2.2 链队列 238
19.2.3 优先级链队列 238
习题 239
第20章 c++的i/o流库 240
20.1 类ofstream、ifstream和fstream 241
20.2 流模式标志和流成员函数 242
20.3 文件和流的关联与解除关联 244
20.4 无格式读写 245
20.5 格式化输入/输出 246
20.5.1 设置流的格式化标志 246
20.5.2 格式输出函数 248
20.5.3 操作算子 249
20.6 文件错误处理 250
习题 251
第21章 c++综合设计实例 252
21.1 中缀表达式求值 252
21.2 事件驱动模拟 256
习题 263
第22章 命名空间 264
22.1 命名空间的定义 264
22.2 using namespace语句 265
22.3 命名空间的成员 266
22.4 命名空间的别名 267
习题 268
附录a 命名规则 269
附录b 语言操作符的优先级与结合性 270
参考文献 271
出版者的话
编委会
丛书序言
前言
教学建议
第1章 机器语言简介 1
1.1 计算机组成及工作过程 1
1.2 计算机硬件和软件 4
1.3 机器语言程序 5
1.4 汇编语言 7
1.5 深入探讨—存储和算法是一对矛盾体 8
习题 9
第2章 基本数据类型 10
2.1 变量与字面值常量 10
2.2 整型 15
2.3 字符型 16
2.4 实型 19
2.5 布尔型 20
2.6 typedef 名字 20
.2.7 基本数据类型的深入探讨 20
2.7.1 字面值常量的意义 20
2.7.2 左值和右值 21
习题 21
第3章 运算符和表达式 22
3.1 表达式 22
3.2 关系操作符 23
3.3 逻辑操作符 23
3.4 自增自减操作符 24
3.5 赋值和复合赋值操作符 25
3.6 条件操作符 26
3.7 逗号操作符 27
3.8 复合表达式 27
3.9 内部类型转换 27
3.9.1 赋值兼容性 27
3.9.2 表达式计算中的类型转换过程 28
3.9.3 强制类型转换 28
习题 28
第4章 语句组结构 30
4.1 选择结构 30
4.1.1 if-else语句 30
4.1.2 switch语句 34
4.2 循环结构 35
4.2.1 for语句 35
4.2.2 while语句 37
4.2.3 do-while语句 39
4.2.4 循环嵌套 40
4.3 其他流程控制语句 40
4.3.1 break语句 40
4.3.2 continue语句 41
习题 41
第5章 指针和数组 43
5.1 指针 43
5.1.1 指针和间接引用 43
5.1.2 指针定义中“*”的位置 47
5.1.3 指针加减整数的基本运算 47
5.2 数组 48
5.2.1 数组变量和数组指针 48
5.2.2 变量和长度为1的数组 50
5.2.3 数组和指针的关系 51
5.2.4 动态数组 52
5.3 指针和数组的应用设计举例 52
5.3.1 数组元素求和 52
5.3.2 求数组最小元素 53
5.3.3 选择排序 53
5.4 指针和数组的深入讨论 55
5.4.1 指针、数组、表达式和左值 55
5.4.2 数组变量指针和数组指针 55
习题 55
第6章 函数 57
6.1 函数定义与调用 57
6.2 值传递和指针传递 61
6.3 返回值与指针传递 62
6.4 函数声明(原型) 62
6.5 函数应用设计举例 64
6.5.1 选择排序 64
6.5.2 起泡排序 65
6.5.3 数制转换 66
6.5.4 折半查找 66
6.5.5 划分数组元素 67
6.5.6 删除重复数据 68
6.5.7 筛法求素数 69
6.5.8 josephus问题 71
6.6 函数调用与变量的存储类别 71
6.6.1 自动局部变量 72
6.6.2 静态局部变量 74
6.6.3 外部变量 75
6.6.4 寄存器变量 76
6.7 const限定修饰符 77
6.7.1 const型变量 77
6.7.2 间接const型指针 78
6.7.3 const型指针 79
6.7.4 全const型指针 79
6.8 函数指针 80
6.9 递归 81
6.10 函数的深入讨论 83
6.10.1 作为函数退出点的return语句 83
6.10.2 自变量指针不能作为返回值 84
6.10.3 函数表达式和左值 84
6.10.4 移动下标与移动指针 85
6.10.5 数组和指针参数 85
习题 86
第7章 模块化程序设计 87
7.1 全局外部函数 87
7.2 静态外部函数 88
7.3 全局外部变量 89
7.4 静态外部变量 90
7.5 编译预处理 91
7.5.1 无参宏指令 91
7.5.2 带参宏指令 91
7.5.3 条件编译指令 92
7.5.4 文件包含指令 93
7.6 模块化应用设计举例—数组的输入/输出、排序和查找 95
习题 96
第8章 c风格串 97
8.1 字符串常量和字符串赋值 97
8.2 字符串基本操作函数声明 99
8.3 字符串基本操作函数实现 99
8.4 字符串应用设计举例 102
8.4.1 判断回文 102
8.4.2 删除空格字符 104
8.5 字符串的深入讨论 105
8.5.1 特殊字符串 105
8.5.2 再论字符串常量 105
习题 105
第9章 结构、联合、枚举 106
9.1 结构 106
9.1.1 结构定义 106
9.1.2 结构变量 107
9.1.3 结构变量的初始化和赋值 107
9.1.4 结构数组 108
9.1.5 结构的嵌套 109
9.1.6 结构返回值和指针传递 110
9.2 联合 110
9.3 枚举 111
9.4 结构应用设计举例 113
9.4.1 模拟洗牌 113
9.4.2 date结构 114
9.4.3 三天打鱼,两天晒网 118
9.5 结构的深入讨论 118
习题 119
第10章 二维数组和指针 121
10.1 二维数组与二维数组指针 121
10.2 二维数组与一维数组 126
10.3 指针数组与二级指针变量(指针的指针) 129
10.4 指针数组与二维数组 130
10.5 二级指针指向的动态数组空间 132
10.6 二维数组和指针的应用设计举例—马鞍点 133
习题 134
第11章 顺序表 135
11.1 顺序表的定义 135
11.2 顺序表基本运算的实现 137
11.3 删除顺序表重复数据 140
11.4 数据抽象和准封装 141
习题 143
第12章 单向链表 144
12.1 单向链表的定义 144
12.2 单向链表基本运算的实现 146
12.3 逆置 150
习题 151
第13章 从c到c++的基本内容 152
13.1 c语言本身的问题 152
13.2 内联函数 154
13.3 运算符重载 155
13.4 函数重载 156
13.5 引用型 158
13.5.1 引用型概念的由来 158
13.5.2 引用型的定义和应用 160
13.6 提取符和插入符重载 162
13.7 默认参数 164
习题 165
第14章 从顺序表到顺序表类 166
14.1 顺序表和顺序表类 166
14.2 顺序表类基本运算的实现 169
14.3 增加的成员函数 170
14.3.1 复制构造函数 170
14.3.2 复制赋值运算符重载 171
14.3.3 下标运算符重载 172
14.4 构造函数与初始化 173
14.5 类定义 173
习题 174
第15章 从c风格串到string类串 175
15.1 string类的声明 175
15.2 string类基本运算的实现 177
15.2.1 构造函数 177
15.2.2 成员赋值运算符 179
15.2.3 成员转换 180
15.2.4 串连接 181
15.2.5 关系运算 184
15.2.6 求子串 184
15.2.7 子串插入 186
15.2.8 子串删除 188
15.2.9 下标运算符 189
15.2.10字符查找 190
15.2.11输入/输出 190
15.3 模式匹配 191
15.4 深入讨论 193
15.4.1 转换赋值运算符函数的替代 193
15.4.2 成员函数“类串+c串”的替代 193
15.4.3 explicit修饰符 194
习题 195
第16章 date类 196
16.1 date类的声明 196
16.2 data类基本运算的实现 199
16.3 深入讨论 202
16.3.1 转换赋值成员函数的替代 202
16.3.2 静态数据成员和静态函数成员 202
习题 204
第17章 继承和动态绑定 205
17.1 参数初始化表 205
17.2 继承和受保护成员 207
17.2.1 继承 207
17.2.2 受保护成员 209
17.3 多态性和虚函数 209
17.4 虚析构函数 211
17.5 纯虚函数和抽象类 212
习题 215
第18章 函数模板和向量类模板 216
18.1 函数模板 216
18.2 顺序表类模板 218
18.3 向量类模板vector 219
18.3.1 vector定义 220
18.3.2 通用算法和迭代器 223
18.3.3 vector的插入和删除函数 225
18.3.4求素数 226
18.4 函数对象 227
18.5 深入讨论—函数模板实例化中的问题 228
习题 229
第19章 链表类模板和适配器 231
19.1 链表类模板list 231
19.2 适配器 237
19.2.1 链栈 237
19.2.2 链队列 238
19.2.3 优先级链队列 238
习题 239
第20章 c++的i/o流库 240
20.1 类ofstream、ifstream和fstream 241
20.2 流模式标志和流成员函数 242
20.3 文件和流的关联与解除关联 244
20.4 无格式读写 245
20.5 格式化输入/输出 246
20.5.1 设置流的格式化标志 246
20.5.2 格式输出函数 248
20.5.3 操作算子 249
20.6 文件错误处理 250
习题 251
第21章 c++综合设计实例 252
21.1 中缀表达式求值 252
21.2 事件驱动模拟 256
习题 263
第22章 命名空间 264
22.1 命名空间的定义 264
22.2 using namespace语句 265
22.3 命名空间的成员 266
22.4 命名空间的别名 267
习题 268
附录a 命名规则 269
附录b 语言操作符的优先级与结合性 270
参考文献 271
从过程化到面向对象
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×