《C++程序设计经典300例》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:侯晓琴编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2014
  • ISBN:9787121230653
  • 页数:362 页
图书介绍:本书针对C++语言的各个应用方向,分为3篇共16章,一共收集了300个典型实例。第1篇涉及C++语言的基础语法、数组、字符串、内存、指针、函数及类的应用等基础知识。第2篇涵盖泛型编程技术、输入/输出系统及如何解决各类经典出错案例。第3篇重点针对各类应用展开介绍,如一些基础技术的复杂应用实例、Socket网络及进程间通信、算法、多线程、动态链接库技术的应用等,最后还通过实例演示了数字图像处理技术和三维仿真技术的相关应用。

第1篇 C++入门案例 1

第1章 从最简单的案例讲述C++ 1

实例001 在屏幕上输出内容 1

实例002 规格不同的箱子(变量) 2

实例003 物品存放(变量) 3

实例004 交换物品(变量) 4

实例005 消失的重量(隐式类型转换) 4

实例006 游泳池的容量 5

实例007 显式转换(类型转换) 6

实例008 单片机应用(位操作) 7

实例009 房间面积(*) 8

实例010 平分物品(/) 9

实例011 取余数(%) 10

实例012 公司组织看电影(综合) 11

实例013 称水果(比较) 12

实例014 简单算术(优先级) 13

实例015 输出Huffman编码(结构+算法) 14

第2章 C++入门基础 19

实例016 计算年份是否为闰年(各种运算符结合) 19

实例017 打印ASCⅡ码表 20

实例018 求完数 21

实例019 密码验证(if...else) 23

实例020 图书管理(if...else if...else) 24

实例021 信号灯(++--) 25

实例022 简单地获取变量的字节大小(sizeof) 26

实例023 求余下的物品数(%) 27

实例024 输入符合条件的整数(跳出循环) 27

实例025 命令响应(开关) 28

实例026 买水果小游戏(开关结构综合) 30

实例027 各类常量的使用示例(各种常量) 32

实例028 用循环计算9的9次方(for) 33

实例029 寻找出口小游戏(dowhile) 34

实例030 一个简单的数据统计系统(综合) 35

实例031 投骰子游戏(随机) 36

第3章 数组 39

实例032 推箱子(数组元素移动) 39

实例033 数据复制(复制一组数组到另一组数组) 40

实例034 内存输出(打印数据) 41

实例035 一维数组的应用 42

实例036 整数从大到小排序(比较法) 42

实例037 查找二维坐标点 43

实例038 查找矩阵最大的元素 44

实例039 二分法查找 45

实例040 查找三维坐标点 46

实例041 获取数组大小(sizeof) 47

实例042 按位数排列 48

实例043 统计班上男生和女生的人数(数组随机访问) 49

实例044 内存指令表(数组+开关) 51

实例045 模拟栈空间(数组+算法) 52

实例046 同学姓名册(字符数组) 53

实例047 图书管理系统(字符数组综合) 55

实例048 约瑟问题(把异教徒投入海中排法) 58

实例049 数组转置 60

第4章 C++字符串 62

实例050 输出字符串的每个字符(for访问数组) 62

实例051 循环改写一段字符串(for访问数组) 63

实例052 把一个字符串截断(\0) 63

实例053 使用getchar()函数吸收缓冲区垃圾 64

实例054 字符串输入(getline()) 65

实例055 复制一个字符串(strcpy()) 65

实例056 获得字符串长度(strlen()) 66

实例057 字符串的比较(strcmp()) 67

实例058 连接两个字符串(strcat()) 68

实例059 将小写字符转换为大写(strupr()) 69

实例060 使用C++字符串类string打印字符串 69

实例061 string与C风格字符串转换 70

实例062 比较两个string字符串 71

实例063 查找string的某个元素 72

实例064 使用成员函数检测string字符串是否非空 73

实例065 获取string字符串的长度 74

实例066 提取string字符串的子串 74

实例067 把两个string字符串相加 75

实例068 string字符串与C风格字符串相加 76

实例069 string字符串与单字符相加 77

实例070 string字符串替换 78

第5章 内存与指针 79

实例071 坐标指针(数组+指针) 79

实例072 强制修改常量的值 80

实例073 通信录(动态申请内存) 81

实例074 万能箱子(void*) 83

实例075 指向结构体变量的指针 84

实例076 打印内存数据(char打印1字节) 85

实例077 错误地释放指针导致程序崩溃 86

实例078 防止野指针的代码 87

实例079 统计数据(综合) 88

实例080 指针应用常见问题(传送的是地址还是值) 89

实例081 将A段内存复制到B段内存(指针内存复制) 90

实例082 将内存的数据倒转过来(指针内存复制+算法) 91

实例083 将数据隐藏于内存(自定义数据访问规则) 92

实例084 输出本机内存数据排列顺序(高端先存还是低端先存) 93

实例085 寻找地址(指针加减法) 94

实例086 利用指针删除数组中的指定元素(指针移动) 95

第6章 函数 96

实例087 格式打印(设计函数) 96

实例088 指令接收器(字符串形参) 98

实例089 汽车行驶里程(函数实现) 99

实例090 求班级男女生的人数 100

实例091 定义函数求N的N次方 101

实例092 内存整理(函数实现把0内存删除) 102

实例093 分水果(使函数一次性返回N个值) 103

实例094 图书名整理系统(按开头字母重新排列) 104

实例095 姓名测试(根据首字母开头+算法) 106

实例096 宝宝改名(函数参数直接引用变量(形参引用)) 107

实例097 求最长字符串 108

实例098 补充代码并保证变量A的值等于10 110

实例099 头文件重定义错误案例 110

实例100 更简便的命令解释器(函数重载) 111

实例101 函数重载陷阱案例 113

实例102 main()后执行代码 114

实例103 阶乘计算1到100的积(递归) 115

实例104 验证码(函数实现) 116

实例105 DOS命令解释器(使main函数接收参数) 118

实例106 补充代码使输出结果成立 119

实例107 互动式程序的基本框架 120

实例108 设计一个数据查询系统 121

实例109 学生成绩统计 124

第7章 C++类基本应用 126

实例110 产量统计(计算A村各类农作物的产量) 126

实例111 乡村生产总值(同类对象数据统计) 127

实例112 求圆的面积和周长 129

实例113 动物对象进化(继承) 130

实例114 员工月薪发放(多态) 131

实例115 家族性格遗传(纯虚函数) 132

实例116 比谁跑得快(类+算法) 134

实例117 错误的模糊引用(类继承问题) 135

实例118 实现类自动化管理内存 136

实例119 入学登记系统(类+算法+综合) 137

实例120 矩形范围(判断一个点是否超出矩形范围) 140

实例121 学生的假期生活(接口) 141

实例122 判断一个矩形是否成立 143

实例123 类的静态成员变量应用(对象间数据共享) 145

实例124 获取系统时间 147

实例125 内联函数应用于计算两点间的距离 148

实例126 this指针的应用 150

实例127 复制构造函数的应用(复制矩阵) 151

实例128 走出迷宫(类+算法) 153

第2篇 C++进阶案例 156

第8章 泛型编程技术 156

实例129 绕过形参限制(最简单的模板例程) 156

实例130 万能计算器(支持各类数据的加法函数) 157

实例131 输出浮点型数据和整型数据(隐式和显式实例化) 157

实例132 使用模板特化判断结构体的最大值 158

实例133 模板函数的重载例程 159

实例134 补充代码使输出结果成立 160

实例135 求N×N的值 161

实例136 判断参数为字符串类型就输出字符串 162

实例137 求AB对象的和(类参数) 163

实例138 输出内存区域的各类型数据(void*) 164

实例139 变幻的对象——使用template定义一个类模板 165

实例140 分离类模板的声明和定义(求最大值) 166

实例141 类模板含有多个类型参数 167

实例142 类模板的静态成员变量 168

实例143 应用类模板的静态函数 169

实例144 类模板的友元应用 171

实例145 类模板的继承 172

实例146 使用STL库创建容器 173

实例147 打印容器元素的值 175

实例148 队列镜像 176

实例149 获取队列头尾 177

实例150 插队(在容器中部插入元素) 178

实例151 裁员计划——获取容器元素的个数、删除和清空容器元素 179

实例152 图书印刷——复制元素并自动输出 180

实例153 利用容器适配器实现栈功能 181

第9章 C++输入/输出系统 183

实例154 使用流类库输出一个文件 183

实例155 读写二进制文件 184

实例156 读写记事本 185

实例157 如何获得文件长度 186

实例158 移动文件指针在文件中部写入数据 186

实例159 输出高精度浮点数(cout高级应用案例) 187

实例160 使用get和getline函数读取C风格字符串 188

实例161 读取流状态 189

实例162 设置状态字 190

实例163 设置输出域宽 191

实例164 设计一个简单的学生数据库类 191

实例165 实现程序退出自动保存数据库内容到磁盘文件 194

实例166 实现程序启动时自动读取数据库 195

实例167 开发一个完整的学生数据管理系统V1.0 196

实例168 开发一个完整的学生数据管理系统V2.0 200

第10章 各类经典案例与解决方法 204

实例169 错误释放指针导致程序崩溃 204

实例170 栈溢出的经典案例 205

实例171 判断语句经典错误案例(if) 206

实例172 使用指针引用问题 207

实例173 显式调用析构函数案例 208

实例174 cin输入队列错误案例 209

实例175 数组越界访问案例 210

实例176 sizeof产生错误实例 211

实例177 使用类自动管理指针 212

实例178 自定义DLL库导出函数 213

实例179 调用DLL导出函数 214

实例180 释放字符串常量内存错误案例 214

实例181 隐式转换错误案例 215

实例182 指示灯颜色(static变量) 216

实例183 编写一个堆内存管理类 218

实例184 超出作用域错误案例 219

实例185 作用域的相互屏蔽例程 219

实例186 使用数组名作为函数参数 220

实例187 让函数一次返回多个值 221

实例188 数组错用sizeof案例 222

实例189 类型改名——使用typedef定义类型 223

实例190 错误检查——使用assert宏进行检测 223

实例191 使用exit()函数结束程序 224

实例192 程序异常退出(使用abort()函数进行异常退出) 225

实例193 自定义异常对象 226

实例194 使用set_terminate()函数设置terminate()函数指针 227

实例195 auto_ptr类智能指针 228

实例196 auto_ptr智能指针指向的内存类型 228

第3篇 C++高级案例 230

第11章 C++高级应用例程 230

实例197 用C++实现定时器功能 230

实例198 使用atoi()函数把字符串转换为整数 231

实例199 使用itoa()函数把整数转换为字符串 232

实例200 编写一个屏幕小时钟程序 232

实例201 使用system()函数使屏幕停止 233

实例202 屏幕变色效果——使用system()函数改变屏幕颜色 234

实例203 清空屏幕——清屏的实现 234

实例204 七彩文字——改变文字色 235

实例205 屏幕背景闪动效果的实现 236

实例206 文字闪动效果的实现 237

实例207 定时关机 238

实例208 设置Win32窗口 239

实例209 设计一个动态指令接收程序 241

实例210 编写指令响应程序 241

实例211 自定义函数生成一段随机数据 242

实例212 一个简单加密算法的实现 244

实例213 解密算法的实现 245

实例214 模拟打字软件 246

实例215 计算算法耗时 247

实例216 插入排序算法 248

实例217 冒泡排序 250

实例218 选择排序法 251

实例219 猜数字 252

实例220 数字小写变大写 254

实例221 计算三位数字的水仙花数 255

实例222 杨辉三角形示例 255

实例223 剪刀石头布单机版小游戏 257

实例224 编写一个进制数转换器 261

实例225 建立链表 263

实例226 插入元素到链表 264

第12章 Socket网络及进程间通信 266

实例227 网络客户端开发(TCP) 266

实例228 网络服务器端开发(TCP) 267

实例229 网络服务器端开发(UDP) 268

实例230 网络客户端开发(UDP) 270

实例231 Windows剪贴板通信之A端 271

实例232 Windows剪贴板通信之B端 272

实例233 邮槽通信之A端 272

实例234 邮槽通信之B端 273

实例235 命名管道之客户端 274

实例236 命名管道之服务器 276

实例237 匿名管道通信之父进程 278

实例238 匿名管道通信之子进程 280

实例239 基于TCP的木马程序——服务器端 281

实例240 基于TCP的木马程序——客户端 282

第13章 算法 284

实例241 反转整数(%) 284

实例242 古典问题——兔子繁殖 285

实例243 逆时针旋转方阵90° 285

实例244 判断回文字符串 287

实例245 求最大公约和最小公倍数 288

实例246 图形输出算法 289

实例247 八皇后位置放置问题 290

实例248 百鸡百钱问题 291

实例249 求被3整除的数(%+算法) 292

实例250 鸡兔同笼问题 293

实例251 求素数 294

实例252 0-1背包问题(古老数学问题) 295

实例253 扫雷游戏1 297

实例254 扫雷游戏2 299

实例255 因式分解 301

实例256 爱因斯坦台阶问题 302

实例257 巧算24点问题 303

第14章 多线程、动态链接库 306

实例258 创建多线程 306

实例259 设置线程的优先级 307

实例260 悬挂和恢复线程 308

实例261 利用临界区实现线程同步 309

实例262 预防单个线程霸占资源 311

实例263 利用事件实现线程同步 312

实例264 解析事件实现线程同步的原理 313

实例265 利用互斥量实现线程同步 314

实例266 利用信号量实现线程同步 315

实例267 自定义消息实现线程间通信 317

实例268 利用_declspec(dllexport)导出类 319

实例269 调用_declspec(dllexport)导出类 320

实例270 利用.def文件导出函数 320

实例271 隐式调用.def导出的函数 321

实例272 显式调用.def导出函数问题 322

实例273 对应显式调用解决方法 323

第15章 数字图像处理专题 324

实例274 载入并显示图像 324

实例275 图像灰度化 325

实例276 图像灰度均衡化 326

实例277 自适应化获取图像二值化阈值 328

实例278 二值化源图像 330

实例279 保存目标图像 331

实例280 去除图像噪声(形态学开运算) 332

实例281 去除图像噪声(形态学闭运算) 333

实例282 获取图像内物体轮廓(Canny检测) 334

实例283 物体轮廓直线化(Hough变换) 336

实例284 绘制图像灰度直方图 337

实例285 缩放图像 339

实例286 图像格式转换 340

实例287 播放视频 342

第16章 三维仿真技术专题 344

实例288 OSG语言应用的环境设置 344

实例289 加载和显示三维资源 345

实例290 绘制长方体 345

实例291 模型贴图 346

实例292 Shader着色器 347

实例293 虚拟场景漫游 348

实例294 HUD应用(显示二维文字) 351

实例295 显示三维文字 354

实例296 添加光源 355

实例297 缩放模型 356

实例298 利用粒子系统制作火焰 358

实例299 模拟雾效 360

实例300 响应回调事件 361