《C++程序设计技能百练》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:蒋立翔编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2004
  • ISBN:7113055575
  • 页数:333 页
图书介绍:本书以课堂讲解的形式向读者讲述了C++各个方面的使用技巧,每一课利用4~5页的篇幅讲述本章所涉及到的基本知识点,然后以练习的形式逐步深入,以达到融会贯通的目的。

目录 1

第1课 C++基础知识 1

课堂讲解 2

一、从C到C++ 2

二、程序与语言 2

三、结构化程序设计(为处理复杂问题提供了有力的手段) 3

四、面向对象程序设计 4

五、程序开发过程 4

六、C++程序基本框架结构 4

七、结构化程序设计与面向对象的程序设计比较 6

八、编译环境 6

十、Visual C++开发环境概述 8

九、Microsoft Visual C++的帮助 8

上机练习 10

练习1 作者的祝愿 10

练习2 分牛的传说 12

第2课 数据类型和控制结构 15

课堂讲解 16

一、字符集与保留字 16

二、数据类型 16

三、变量定义 17

四、常量 17

五、I/O流控制 18

六、表达式 18

七、算术类型转换 18

十三、if语句 19

十二、逗号运算符 19

十四、while语句 19

八、增量与减量 19

十一、条件运算符 19

十、逻辑运算 19

九、关系运算 19

十五、do...while语句 20

十六、for语句 20

十七、switch语句 20

十八、转向语句 20

上机练习 21

练习3 打印图案 21

练习4 大写金额 24

练习5 证明“素数公式” 28

练习6 牛顿迭代法求方程根 30

练习7 二分法求方程根 32

练习8 杨辉三角的奥妙 34

练习9 判断整除 36

第3课 函数 39

课堂讲解 40

一、函数概述 40

二、函数原型 40

三、全局变量与局部变量 41

四、函数调用机制 42

五、递归(Recursive)函数 42

六、内联函数 42

八、默认参数的函数 43

七、重载函数 43

上机练习 44

练习10 验证“歌德巴赫猜想” 44

练习11 魔方阵 46

练习12 汉诺塔(Tower of Hanoi)的递归解法 48

练习13 八皇后游戏 51

练习14 探询路径 54

练习15 “掷双骰”游戏 56

练习16 “完全数”判别(方法一) 58

练习17 比我疆土 61

练习18 巧填数字 63

练习19 打印螺旋方阵 64

第4课 数组和指针 66

三、向函数传递数组 67

四、二维数组 67

课堂讲解 67

二、数组的使用 67

一、数组定义 67

五、指针的概念 68

六、指针运算 69

七、指针与数组 69

八、堆内存 69

九、const指针 69

十、指针与函数 69

十一、字符指针 70

十二、指针数组 70

十三、函数指针 71

练习20 “完全数”判别(方法二) 72

上机练习 72

练习21 Eratosthenes法求素数 73

练习22 智者生存 75

练习23 矩阵转置 77

练习24 字符串倒序(方法一:指针实现) 80

练习25 姓氏排序 82

练习26 矩阵的马鞍点 84

练习27 动态分配数组的存储空间 86

练习28 寻找最长的单词 88

练习29 const指针 90

练习30 顺序查找 91

练习31 折半查找 93

练习32 编排日历 94

练习33 表白爱之“心” 97

练习34 求定积分(梯形法) 98

第5课 引用与结构 101

课堂讲解 102

一、引用的概念和操作 102

二、用引用传递函数参数 103

三、结构 103

四、链表结构 104

上机练习 106

练习35 求学位课平均分 106

练习36 统计优秀者人数 108

练习37 最大子段和(解法1) 109

练习38 最大子段和(解法2) 111

练习39 最大子段和(解法3) 113

练习40 100米比赛排名(解法1) 116

练习41 100米比赛排名(解法2) 118

练习42 建立我的好友档案 120

练习43 完善我的好友档案(一) 123

练习44 完善我的好友档案(二) 125

练习45 公正的计票器 129

练习46 汉诺塔(TowerofHanoi)的非递归解法 132

练习47 Huffman编码——建立Huffman树 134

练习48 Huffman编码——Huffman树编码 138

练习49 农夫、狼、羊与白菜问题——图的存储 140

练习50 农夫、狼、羊与白菜问题——图的遍历 143

第6课 类和对象 148

二、成员函数的定义 149

一、类的定义 149

课堂讲解 149

三、对象的定义及其成员的访问 151

四、静态成员 152

五、对象的作用域和生存期 152

六、类成员的访问控制说明符 152

七、屏蔽类的内部实现的好处 152

上机练习 153

练习51 斐波那契数列的计算 153

练习52 计算两点的距离 156

练习53 计算圆柱体体积与表面积(结构实现) 159

练习54 计算圆柱体体积与表面积(类实现) 161

练习55 建立学生成绩管理系统 163

练习56 字符串倒序(方法二:栈实现) 168

练习57 判断字符串是否回文 170

练习58 求学位课平均分(嵌套类实现) 173

练习59 计算π值(随机投点法) 177

练习60 模拟抛硬币所得正面的频率图 180

第7课 堆、构造函数与拷贝构造函数 182

课堂讲解 183

一、构造函数 183

二、析构函数 184

三、拷贝构造函数 184

四、类的聚集(组合) 185

五、初始化表对常量数据成员或常量引用成员提供初值 185

六、动态存储 186

练习61 复数的运算(成员函数实现) 188

上机练习 188

练习62 100米比赛排名(解法3) 191

练习63 设计我的计算器 194

练习64 学生信息的管理 199

练习65 this指针的应用 202

练习66 类成员初始化的困惑 204

练习67 避免缺省参数构造函数的二义性 208

练习68 常数据成员的初始化 211

练习69 拷贝构造函数(一) 213

练习70 拷贝构造函数(二) 217

第8课 静态成员、友元与模板 220

课堂讲解 221

一、静态成员 221

二、友元 222

三、模板 223

上机练习 226

练习71 金卡账目管理 226

练习72 复数的运算(友元函数实现) 229

练习73 求两直线的交点 231

练习74 快速排序算法 234

练习75 二分查找算法 236

第9课 继承与派生 239

课堂讲解 240

一、基类和派生类 240

二、子类型 242

三、虚基类 242

练习76 长途电话计费程序 244

上机练习 244

练习77 一个小公司的工资管理系统 247

练习78 学生成绩管理系统(类继承) 251

练习79 大学人员管理系统 254

练习80 子随父姓 258

第10课 多态性和虚函数 261

课堂讲解 262

一、函数重载 262

二、运算符重载 263

三、静态联编和动态联编 264

四、虚函数 264

五、纯虚函数和抽象类 265

上机练习 266

练习81 重载实现有理数的各种运算 266

六、虚析构函数 266

练习82 点对象间的各种运算 270

练习83 比较同学的年龄 273

练习84 矩阵的基本运算 276

练习85 检查数组是否越界 279

练习86 计算三角形面积之和 281

练习87 链表指针对集合的各项操作 283

练习88 抽象类求图形面积和周长 288

练习89 虚重载运算符函数 290

练习90 一个小公司的工资管理系统(虚函数实现) 293

第11课 I/O流类库和异常处理 298

一、I/O流的概念 299

二、输出流 299

课堂讲解 299

三、输入流 301

四、I/O运算符重载 302

五、异常处理 302

上机练习 304

练习91 显示九九乘法表 304

练习92 浏览文本文件 306

练习93 文本文件复制 308

练习94 有理数的四则运算(重载“<<”、“>>”) 311

练习95 我的朋友信息管理(一) 315

练习96 我的朋友信息管理(二) 318

练习97 我的朋友信息管理(三) 322

练习98 异常处理应用 327

练习99 显示文件大小 330

练习100 异常处理中的构造与析构 331