C++程序设计:思想与方法
1推荐 收藏
5.1K阅读
高等院校计算机教材系列

C++程序设计:思想与方法

翁惠玉 (作者)
终止销售
本书以C++ 为语言环境,重点讲授程序设计的思想和方法,涉及过程化程序设计和面向对象程序设计。本书分为两大部分:第一部分主要介绍一些基本的程序设计思想、概念、技术、良好的程序设计风格以及过程化程序设计,包括数据类型、控制结构、数组、指针、数据封装、过程封装以及各种常用的算法;第二部分重点介绍面向对象的思想,包括类的设计与使用、运算符的重载、继承、多态性、输入/输出、异常处理、容器和迭代器等。
本书旨在使读者通过学习,并经过一定的训练和实践,能够掌握程序设计的方法,并具备良好的程序设计风格。本书可作为各大专院校计算机专业程序设计课程的教材,也可供从事计算机软件开发的科研人员作为参考资料。
纸质书
¥35.00

其他购买方式?

出版信息

  • 书  名C++程序设计:思想与方法
  • 系列书名高等院校计算机教材系列
  • 执行编辑关于本书的内容有任何问题,请联系 傅志红
  • 出版日期2008-07-25
  • 书  号978-7-115-18309-5
  • 定  价35.00 元
  • 页  数312
  • 开  本16开
  • 出版状态终止销售
  • 原书名程序设计教程
  • 原书号翁惠玉-01

同系列书

  • 数据结构:基于C++模板类的实现

    余腊生  

    本书采用能够自然体现抽象数据类型概念的C++ 语言作为算法描述语言,把数据结构的原理和算法分析技术有机...

  • 新编实用算法分析与程序设计

    王建德   吴永辉  

    本书是一部程序设计竞赛教程。书中首先讲述了算法的基本概念、各种排序与解题的方法及策略,然后论述了初等数...

  • C++程序设计:思想与方法(第2版)

    翁惠玉  

    本书以C++ 为语言环境,重点讲授程序设计的思想和方法,涉及过程化程序设计和面向对象程序设计,内容包括数据类型...

  • Java语言程序设计

    徐保民   陈旭东   李春艳  

    Java是当今最流行的程序设计语言之一。本书以 Java最新版本 Java SE 6.0为基础,全面介...

  • 数字逻辑

    吴继娟  

    本书系统地讲述了数字逻辑电路的基本概念、分析方法和设计原理。全书共分7章,重点讨论了组合逻辑电路和各类...

目录

第1章 绪论 1
1.1 计算机硬件 1
1.2 计算机软件 2
1.3 算法与程序设计 3
1.4 程序的编译和调试 3
小结  5
习题  5
第2章 通过例子学习 6
2.1 第一个程序:输出Hello world. 6
2.1.1 注释 6
2.1.2 编译预处理 7
2.1.3 主程序 8
2.1.4 名字空间 9
2.2 程序示例:计算圆的面积和周长 9
2.3 变量定义 11
2.4 数据类型 12
2.4.1 整型 12
2.4.2 实型 14
2.4.3 字符型 15
2.4.4 布尔型 19
2.4.5 枚举类型 19
2.4.6 用typedef重新命名类型名 21
2.4.7 定义新的类型 21
2.4.8 变量赋初值 21
2.4.9 用sizeof了解占用的内存量 22
2.5 符号常量 22
2.6 算术运算 22
2.6.1 主要的算术运算符 23
2.6.2 各种类型的数值间的混合运算 23
2.6.3 整数除法和取模运算符 23
2.6.4 优先级 24
2.6.5 数学函数库 24
2.7 赋值运算 25
2.7.1 赋值运算符 25
2.7.2 赋值时的自动类型转换 25
2.7.3 赋值的嵌套 26
2.7.4 多重赋值 26
2.7.5 复合赋值运算 27
2.8 自增和自减运算符 28
2.9 强制类型转换 29
2.10 数据的输入/输出 29
2.10.1 数据的输入 29
2.10.2 数据的输出 30
2.11 构思一个程序 31
2.11.1 程序设计风格 31
2.11.2 设计将来的修改 32
小结  32
习题  32
第3章 逻辑思维及分支程序设计 35
3.1 关系运算 35
3.1.1 关系运算符 35
3.1.2 关系表达式 35
3.2 逻辑运算 36
3.3 if语句 39
3.3.1 if语句的形式 39
3.3.2 if语句的嵌套 40
3.3.3 if语句的应用 40
3.3.4 条件表达式 42
3.4 switch语句及其应用 43
小结  48
习题  49
第4章 循环控制 50
4.1 for循环 50
4.1.1 重复n次操作 50
4.1.2 for语句的进一步讨论 52
4.1.3 for循环的嵌套 53
4.2 while循环 53
4.3 do-while循环 57
4.4 循环的中途退出 57
4.5 枚举法 58
4.6 贪婪法 60
小结  62
习题  62
第5章 批量数据处理——数组 64
5.1 一维数组 64
5.1.1 一维数组的定义 64
5.1.2 数组元素的引用 64
5.1.3 一维数组的初始化 65
5.1.4 一维数组在内存中的表示 65
5.1.5 一维数组的应用 66
5.2 查找和排序 67
5.2.1 查找 67
5.2.2 排序 72
5.3 二维数组 75
5.3.1 二维数组的定义 75
5.3.2 二维数组的初始化 75
5.3.3 二维数组在内存中的表示 76
5.3.4 二维数组的应用 76
5.4 字符串 79
5.4.1 字符串的存储及初始化 79
5.4.2 字符串的输入/输出 80
5.4.3 字符串处理函数 80
5.4.4 字符串的应用 81
小结  82
习题  82
第6章 过程封装——函数 84
6.1 自己编写一个函数 84
6.1.1 return语句 85
6.1.2 函数示例 85
6.2 函数的使用 87
6.2.1 函数原型的声明 87
6.2.2 函数的调用 88
6.2.3 将函数与主程序放在一起 89
6.2.4 函数调用过程 90
6.3 数组作为函数的参数 92
6.4 带默认值的函数 95
6.5 内联函数 96
6.6 重载函数 97
6.7 函数模板 99
6.8 变量的作用域 100
6.9 变量的存储类别 101
6.9.1 自动变量 102
6.9.2 静态变量 102
6.9.3 寄存器变量 103
6.9.4 外部变量 104
6.10 递归函数 106
6.10.1 递归函数的基本概念 106
6.10.2 递归函数的应用 108
6.11 基于递归的算法 113
6.11.1 回溯法 113
6.11.2 分治法 116
6.11.3 动态规划 119
小结  122
习题  122
第7章 间接访问——指针 124
7.1 指针的概念 124
7.1.1 指针变量的定义 125
7.1.2 指针的基本操作 125
7.2 指针与数组 128
7.2.1 指针运算 129
7.2.2 用指针访问数组 131
7.2.3 数组名作为函数的参数 132
7.3 指针与动态分配 133
7.3.1 动态变量的创建 134
7.3.2 动态变量的回收 134
7.3.3 内存泄漏 135
7.3.4 查找new操作的失误 135
7.4 字符串再讨论 136
7.5 指针与函数 137
7.5.1 指针作为形式参数 137
7.5.2 返回指针的函数 140
7.5.3 引用与引用传递 141
7.5.4 返回引用的函数 143
7.6 指针数组与多级指针 144
7.6.1 指针数组 144
7.6.2 main函数的参数 145
7.6.3 多级指针 146
7.7 多维数组和指向数组的指针 147
7.8 指向函数的指针 148
小结  152
习题  152
第8章 数据封装——结构体 154
8.1 记录的概念 154
8.2 C++语言中记录的使用 155
8.2.1 结构体类型的定义 155
8.2.2 结构体类型的变量的定义 156
8.2.3 结构体变量的使用 157
8.2.4 结构体数组 158
8.3 结构体作为函数的参数 160
8.4 链表 162
8.4.1 链表的概念 162
8.4.2 单链表的存储 163
8.4.3 单链表的操作 164
小结  169
习题  169
第9章 模块化开发 171
9.1 自顶向下分解 171
9.1.1 顶层分解 172
9.1.2 prn_instruction的实现 172
9.1.3 play函数的实现 173
9.1.4 get_call_from_user的实现 173
9.2 模块划分 174
9.3 设计自己的库 180
小结  185
习题  185
第10章 创建功能更强的类型——类的定义与使用 187
10.1 从过程化到面向对象 187
10.1.1 抽象的过程 187
10.1.2 面向对象程序设计的特点 188
10.1.3 库和类 189
10.2 类的定义 195
10.3 对象的使用 198
10.3.1 对象的定义 198
10.3.2 对象的操作 199
10.3.3 this指针 201
10.3.4 对象的构造与析构 201
10.4 常量对象与常量成员函数 207
10.5 常量数据成员 208
10.6 静态数据成员与静态成员函数 208
10.6.1 静态数据成员的定义 209
10.6.2 静态成员函数 209
10.6.3 静态常量成员 212
10.7 友元 213
小结  215
习题  215
第11章 运算符重载 216
11.1 什么是运算符重载 216
11.2 运算符重载的方法 216
11.3 几个特殊运算符的重载 219
11.3.1 赋值运算符的重载 219
11.3.2 下标运算符的重载 221
11.3.3 ++和--运算符的重载 221
11.3.4 重载函数的原型设计考虑 223
11.3.5 输入/输出运算符的重载 224
11.4 自定义类型转换函数 225
11.5 运算符重载的应用 226
11.5.1 完整的Rational类的定义和使用 226
11.5.2 完整的IntArray类的定义和使用 228
小结  231
习题  231
第12章 组合与继承 232
12.1 组合 232
12.2 继承 234
12.2.1 单继承 235
12.2.2 基类成员在派生类中的访问特性 235
12.2.3 派生类对象的构造、析构与赋值操作 237
12.2.4 重定义基类的函数 241
12.2.5 派生类作为基类 243
12.2.6 将派生类对象隐式转换为基类对象 244
12.3 多态性与虚函数 246
12.3.1 多态性 246
12.3.2 虚函数 246
12.3.3 虚析构函数 249
12.4 纯虚函数和抽象类 249
12.4.1 纯虚函数 249
12.4.2 抽象类 250
12.5 多继承 250
12.5.1 多继承的格式 250
12.5.2 名字冲突 251
12.5.3 虚基类 252
小结  252
习题  253
第13章 泛型机制——模板 254
13.1 类模板的定义 254
13.2 类模板的实例化 256
13.3 模板的编译 256
13.4 非类型参数和参数的默认值 257
13.5 类模板的友元 258
13.5.1 普通友元 258
13.5.2 模板的特定实例的友元 258
13.5.3 声明的依赖性 259
13.6 类模板作为基类 262
小结  263
习题  263
第14章 输入/输出与文件 264
14.1 流与标准库 264
14.2 输入/输出缓冲 265
14.3 基于控制台的输入/输出 266
14.3.1 输出流 266
14.3.2 输入流 268
14.3.3 格式化的输入/输出 271
14.4 基于文件的输入/输出 275
14.4.1 文件的概念 275
14.4.2 文件和流 275
14.4.3 文件的顺序访问 278
14.4.4 文件的随机处理 280
14.4.5 用流式文件处理含有记录的文件 282
14.5 基于字符串的输入/输出 287
小结  288
习题  288
第15章 异常处理 289
15.1 传统的异常处理方法 289
15.2 异常处理机制 289
15.2.1 异常抛出 290
15.2.2 异常捕获 291
15.3 异常规格说明 293
小结  294
习题  295
第16章 容器和迭代器 296
16.1 容器 296
16.2 迭代器 296
16.3 容器和迭代器的设计示例 296
16.3.1 用数组实现的容器 297
16.3.2 用链表实现的容器 299
小结  302
习题  302
附录  303
参考文献  304

  • 要是能提供书后习题参考代码就更好了~
    messisp  发表于 2011-11-12 22:57:56
    推荐
  • 习题参考代码可见《C++程序设计:题解与拓展》 清华大学出版社
    hyweng  发表于 2014-09-30 16:26:30
    推荐