图书介绍

C/C++/C#程序员实用大全 C/C++/C#最佳编程指南 精华版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

C/C++/C#程序员实用大全 C/C++/C#最佳编程指南 精华版
  • (美)Kris Jamsa著;张春晖,刘大庆,李越等译 著
  • 出版社: 北京:中国水利水电出版社
  • ISBN:7508428927
  • 出版时间:2005
  • 标注页数:846页
  • 文件大小:258MB
  • 文件页数:871页
  • 主题词:C语言-程序设计-指南

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C/C++/C#程序员实用大全 C/C++/C#最佳编程指南 精华版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

3 帮助编译器查找头文件1

933 重温消息 551

目录1

精华版序1

译者序1

第一章 C语言入门1

1 典型的C程序结构1

2 C语言区分大小写字母1

4 注释程序2

6 给变量赋值3

5 变量3

10 C关键字4

7 变量类型4

8 定义同一类型的多个变量4

9 给变量赋初值4

12 字符型变量5

11 整型变量5

15 给浮点型变量赋值6

13 浮点型变量6

14 双精度型变量6

40 使用ANSI设备驱动器 17

16 类型标识符7

17 联合使用无符号和长类型标识符7

18 寄存器类型标识符7

19 有符号类型标识符8

20 创建用户自己的类型8

42 用ANSI驱动器定位光标 18

21 赋给十六进制或八进制值9

23 赋值为引号或其他字符9

22 溢出9

24 PRINTF入门10

25 打印八进制或十六进制整数10

26 用PRINTF显示无符号整型数值11

27 用PRINTF显示长整型数值11

28 用指数格式显示浮点数12

30 在数值前添加正号和负号12

29 显示浮点数12

31 用PRINTF格式化整数值13

32 0填充整数输出13

33 在八进制和十六进制数前显示前缀14

35 格式化指数输出14

34 用PRINTF格式化浮点数14

36 左对齐PRINTF的输出15

37 显示NEAR和FAR字符15

38 使用PRINTF的转义字符16

39 使用PRINTF的返回值16

41 用ANSI驱动器显示屏幕颜色17

43 在C中作基本的数学运算18

45 运算符的优先级和结合性19

44 模运算(取余运算)19

46 C的自增运算符20

48 按位与运算21

47 按位或运算21

49 按位异或运算22

51 C的条件运算符23

50 “取反”运算23

53 移位运算24

52 C的长度(SIZEOF)运算符24

54 位循环运算25

57 判断是否相等26

55 C如何表示真(TRUE)和假(FALSE)26

56 用if判断条件26

59 用逻辑与判断两个条件27

58 关系判断27

62 将条件结果赋值给变量28

60 用逻辑或来判断两个条件28

61 逻辑非运算28

64 按规定次数执行语句29

63 判断浮点数29

66 在FOR循环中使用逗号运算符30

65 无穷循环30

67 用WHILE循环重复执行一条或多条语句31

68 使用DO重复执行一条或多条语句32

69 C的CONTINUE语句33

71 GOTO语句分支34

70 使用C的BREAK语句来结束循环34

72 判断多个条件35

73 在SWITCH中使用BREAK36

74 使用SWITCH语句的DEFAULTCASE37

76 使用_FILE_预处理器常量39

第二章 宏与常量39

75 在程序中定义常量39

78 改变预处理器的行计数40

77 使用_LINE_预处理器常量40

81 判断是C++还是C41

79 记录预处理器的日期和时间41

80 判断是否进行ANSI C编译41

85 使用#INCLUDE<FILENAME.H>与#INCLUDE“FILENAME.H”42

82 取消宏或常量42

83 比较宏与函数42

84 编译器PRAGMAS42

87 进行IF-ELSE预处理43

86 判断符号是否被定义43

89 实现IF-ELSE和ELSE-IF预处理44

88 更强大的预处理器条件判断44

91 创建自定义宏45

90 定义需要多行的宏和常量45

94 注意宏定义中的空格46

92 创建MIN和MAX宏46

93 创建SQUARE和CUBE宏46

96 宏是没有类型的47

95 如何使用括号47

98 C是如何存储字符串的49

第三章 字符串49

97 C字符串的形象化49

101 字符串的复制50

99 在字符串常量内表示引号50

100 使用STRLEN函数50

104 判断两个字符串是否相同51

102 字符串的连接51

103 给字符串追加N个字符51

105 比较字符串时忽略大小写52

107 获取字符串中第一次出现的某个字符53

106 将字符串转换成大写或小写53

110 比较两个字符串54

108 搜索字符在字符串中的末次出现54

109 计算字符串中某个字符出现的次数54

112 不考虑大小写比较字符串55

111 比较两个字符串的前N个字符55

114 复制字符串的内容56

113 将字符串转换成数字56

116 计算子字符串出现的次数57

115 在字符串中查找子字符串57

119 用另一个子字符串代替子字符串58

117 获取子字符串的最右端出现58

118 从字符串中删除子字符串58

120 转换数值的ASCII码形式59

124 判断字符是否为控制符60

121 判断字符是否为字母或数字60

122 判断字符是否为字母60

123 判断字符是否包含ASCII值60

128 判断字符是否可打印61

125 判断字符是否为数字61

126 判断字符是否为图形字符61

127 判断字符是大写还是小写61

132 将字符转换成大写形式62

129 判断字符是否为标点符号62

130 判断字符是否包含空白符(whitespace)62

131 判断字符是否为十六进制值62

134 将输出格式写进字符串变量63

133 使用ASCII字符63

137 初始化字符串64

135 从字符串中读输入64

136 标志字符串以节省空间64

139 把MAIN当作函数66

第四章 函数66

138 函数66

140 函数返回值67

143 局部变量68

141 形参和实参68

142 解决名称冲突68

146 声明全局变量69

144 函数如何使用堆栈69

145 C如何存储局部变量69

147 传值调用70

149 传址调用71

148 使用传值调用防止参数值变化71

151 使用变量的地址72

150 获取地址72

152 改变参数的值73

154 使用堆栈进行传址调用74

153 只改变指定参数74

155 记住函数变量的值75

158 PASCAL关键字的影响76

156 C是如何初始化静态变量的76

157 使用PASCAL调用顺序76

160 CDECL关键字77

159 混合编程示例77

161 判断是否要使用递归78

163 形式参数中的CONST79

162 如何消除递归79

165 无界字符串的声明80

164 使用CONST不会阻止参数值的修改80

167 外部变量81

166 C是如何使用堆栈处理字符串参数的81

168 外部静态变量82

171 调用汇编语言函数83

169 VOLATILE关键字83

170 调用结构和基指针83

172 从汇编语言函数中返回值84

174 支持参数个数可变的函数85

173 AUTO关键字85

175 VA START、VA ARG和VA END是如何工作的86

176 创建支持多参数多类型的函数87

179 将键盘输入赋给字符串89

第五章 键盘操作89

177 从键盘读入字符89

178 显示字符输出89

181 不显示字符的直接键盘输入90

180 使用直接I/O读入字符90

182 直接输出91

184 使用CPRINTF快速格式化输出92

183 将按键放回键盘缓存92

186 写字符串93

185 快速格式化键盘输入93

187 使用直接I/O实现更快的字符串输出94

190 清除屏幕显示95

188 从键盘读入字符串95

189 以更快的速度从键盘输入字符串95

193 定位光标进行屏幕输出96

191 删除当前行到行尾的内容96

192 删除屏幕上的当前行96

196 将屏幕上的文本拷贝到缓冲区97

194 判断行与列的位置97

195 在屏幕上插入空行97

197 将缓冲区中的文本拷贝到屏幕的指定位置98

199 控制屏幕颜色99

198 判断文本模式设置99

200 指定背景色100

201 使用TEXTCOLOR设置前景色101

203 控制文本的明暗度102

202 使用TEXTBACKGROUND设置背景色102

205 在屏幕上移动文本103

204 决定当前文本模式103

206 定义文本窗口104

209 使用ARCSINE(反正弦)105

第六章 数学105

207 使用整型表达式的绝对值105

208 使用ARCCOSINE(反余弦)105

211 求复数的绝对值106

210 使用ARCTANGENT(反正切)106

214 使用角的正弦107

212 对浮点值进位舍入107

213 使用角的余弦107

216 使用角的正切108

215 使用角的双曲正弦108

219 使用指数109

217 使用角的双曲正切109

218 整数相除109

222 使用浮点值的尾数和指数110

220 使用浮点型表达式的绝对值110

221 使用浮点余数110

224 判断最大值与最小值111

223 计算自然对数111

226 计算xn的结果112

225 把浮点值分解成整数和小数部分112

228 将随机值映射到指定范围113

227 生成随机数113

230 计算数值的平方根114

229 给随机数生成器赋初值114

231 创建定制的数学错误处理程序115

234 判断可用的盘空间117

第七章 文件、目录和磁盘117

232 判断当前盘驱动器117

233 选择当前驱动器117

235 读入文件分配表(FAT)信息118

237 进行BIOS磁盘I/O119

236 绝对扇区读写操作119

239 应用FOPEN打开文件121

238 测试软驱是否准备好121

241 关闭一个打开的文件122

240 FILE结构122

243 文件指针的位置指针123

242 每次读/写文件信息的一个字符123

246 文件句柄(FILE HANDLES)124

244 判断当前文件位置124

245 文件翻译124

248 重命名文件125

247 从流指针中导出文件句柄125

250 判断程序如何访问文件126

249 删除文件126

251 设置文件的访问模式127

252 检测文件流错误128

254 刷新I/O流129

253 判断文件的长度129

257 使用TMP或TEMP创建临时文件名130

255 一次关闭所有被打开的文件130

256 使用P TMPDIR创建临时文件名130

260 为文件搜索命令路径131

258 创建真正的临时文件131

259 删除临时文件131

262 打开TEMP目录中的文件132

261 为文件搜索环境入口的子目录132

263 最小化文件I/O操作133

266 删除目录134

264 改变当前目录134

265 创建目录134

269 分解目录路径135

267 删除目录树135

268 建立完全路径名135

270 建立路径名136

271 使用低级函数打开和关闭文件137

272 创建文件138

275 利用LSEEK定位文件指针139

273 进行低级读写操作139

274 为文件句柄翻译指定模式139

276 使用DOS文件服务140

277 获取文件的日期和时间标记141

278 设置文件的日期与时间标记142

280 每次读写一个字143

279 把文件日期和时间设置成当前日期和时间143

281 改变文件的长度144

282 控制文件打开操作的读写模式145

284 分配文件缓冲区146

283 将缓冲区赋给文件146

285 利用MKTEMP创建惟一文件名147

286 读写结构148

287 从文件流中读取结构数据149

289 强制文件句柄设置150

288 复制文件句柄150

291 文件共享151

290 把文件句柄和文件流联系起来151

293 锁定文件内容152

292 打开文件进行共享访问152

294 获取更精细的文件锁定控制154

297 递归读取磁盘文件155

295 使用DOS目录155

296 打开目录155

298 判断当前文件位置156

300 在指定目录中创建惟一文件157

299 打开共享文件流157

301 创建新文件158

304 按行写文本159

302 强制二进制或文本文件打开159

303 按行读文本159

307 判断文件结尾160

305 应用FGETS和FPUTS160

306 强制二进制文件翻译160

309 读取格式化的文件数据161

308 舍弃字符161

311 获取文件句柄信息162

310 根据当前位置定位文件指针162

312 重新打开文件流163

315 使用常量定义数组164

第八章 数组、指针和结构164

313 声明数组164

314 初始化数组164

316 为大数组使用HUGE内存模式165

319 把多维数组当作一维数组166

317 多维数组166

318 给二维数组元素赋初值166

320 联合167

322 使用REGS——一种典型的联合168

321 使用联合节省内存168

323 应用REGS联合169

324 位字段结构170

325 在数组中查找指定的值171

326 冒泡排序法172

328 SHELL(希尔)排序法173

327 选择排序法173

329 快速排序法175

330 利用LFIND搜索字符串176

332 利用BSEARCH搜索已排序数组177

331 利用LSEARCH搜索数值177

333 利用QSORT对数组排序178

335 判断变量的地址179

334 判断数组元素的个数179

337 间接访问指针180

336 声明指针变量180

340 指针的增值与减值181

338 指针与函数参数的使用181

339 指针运算181

343 创建返回值为指针的函数182

341 利用指针遍历数组182

342 使用返回值为指针的函数182

345 遍历字符串数组183

344 指针数组183

348 利用指针声明字符串常量184

346 把字符串数组当成指针184

347 使用指向一个指向字符串的指针的指针184

351 使用指向函数的指针185

349 VOID类型指针185

350 创建指向函数的指针185

353 结构186

352 使用三级指针186

356 形象表示结构187

354 用不同的方式声明结构187

355 结构成员187

358 把结构传递给函数188

357 应用结构188

360 (*POINT).MEMBER间接引用189

359 在函数内部改变结构189

361 使用POINTER→MEMBER格式190

364 包含数组的结构191

362 初始化结构191

363 使用嵌套结构191

365 创建结构数组192

367 BIOS服务193

第九章 DOS和BIOS服务193

366 DOS系统服务193

368 寄存器194

369 标志寄存器195

371 利用BIOS访问指针196

370 软件中断196

373 可能的DOS副作用198

372 CONTROL+BREAK信息198

375 控制声音199

374 暂时挂起程序199

376 获取国家专用的信息200

378 访问和控制磁盘传输区201

377 磁盘传输地址201

379 BIOS键盘服务202

380 获取BIOS设备列表203

381 控制串行口I/O204

382 利用BDOS访问DOS服务206

383 获取扩展DOS错误信息207

385 创建远指针(FAR PRINTER)208

384 判断BIOS常规内存数量208

388 读段寄存器设置209

386 把远端地址分解为段地址和偏移地址209

387 判断自由核心内存209

391 常规内存的分布211

第十章 内存管理211

389 内存的类型211

390 常规内存211

393 从段和偏移量中产生地址212

392 为什么PC和DOS限制于1MB212

395 使用扩充内存213

394 扩充内存213

397 访问扩展内存214

396 实模式和保护模式214

400 各种堆栈配置215

398 高端内存区215

399 堆栈215

402 使用STKLEN控制堆栈空间216

401 判断程序的当前堆栈大小216

405 拷贝内存区域直到某指定字节217

403 给内存区域赋值217

404 拷贝内存区域217

407 交换两个相邻字符串字节218

406 比较两个无符号字符数组218

408 分配动态内存219

411 利用CALLOC函数分配内存220

409 再谈类型转换220

410 释放内存220

412 堆221

413 解决64Kb堆限制222

414 从堆栈中分配内存223

416 改变被分配内存区域的大小224

415 分配巨型数据224

418 快速堆检测225

417 BRK函数225

419 填充自由堆空间226

421 遍历堆入口227

420 检测特定的堆入口227

422 访问指定内存单元228

424 PC端口229

423 向内存中置数229

426 CMOS230

425 访问端口值230

428 微型内存模式231

427 内存模式231

430 中型内存模式232

429 小型内存模式232

431 压缩内存模式233

432 大型内存模式234

434 判断当前的内存模式235

433 巨型内存模式235

437 判断程序的耗时236

第十一章 日期和时间236

435 获取当前日期与时间236

436 延迟若干毫秒236

439 获取日期数据串237

438 比较两个时间237

441 读BIOS计时器238

440 获取时间串238

443 使用格林威治平时239

442 使用当地时间239

445 获取系统日期240

444 获取DOS系统时间240

448 把DOS日期转换为UNIX格式241

446 设置DOS系统时间241

447 设置DOS系统日期241

451 利用TZSET设置时区区域242

449 利用TIMEZONE计算时差242

450 判断当前时区242

454 获取时区信息243

452 利用TZ环境入口243

453 从用户程序中设置TZ环境入口243

456 把日期转换成自1/1/1970以来的秒数244

455 以秒钟的形式设置自1/1/1970午夜以来的系统时间244

457 判断日期的儒略历日期245

458 创建格式化日期和时间串246

459 PC时钟类型247

462 自己编写密码函数248

第十二章 重定向I/O和进程命令行248

460 等候按键248

461 提醒用户输入密码248

463 输出重定向249

466 利用STDOUT和STDIN250

464 输入重定向250

465 联合使用INPUT和OUTPUT重定向250

469 确保信息出现在屏幕上251

467 管道(pipe)运算符251

468 GETCHAR和PUTCHAR251

470 自定义MORE命令252

471 防止I/O重定向253

473 把重定向输出分割到一个文件中254

472 应用STDPRN文件句柄254

475 命令行变元255

474 应用STDAUX文件句柄255

477 把ARGV当作指针256

476 从命令行中显示文件内容256

479 环境257

478 C是如何知道命令行的257

482 出口状态值258

480 把ENV当作一个指针258

481 使用命令行数字258

483 为出口状态过程使用RETURN259

485 DOS是如何对待环境的260

484 在环境中搜索特定入口260

486 应用ENVIRON全局变量261

488 给DOS环境添加元素262

487 给当前环境添加入口262

490 定义在程序结束时执行的函数263

489 退出当前程序263

492 重复使用目标代码264

第十三章 编程工具264

491 库264

496 库管理程序的其他功能265

493 创建库文件265

494 常用的库操作265

495 列出库文件中的子例行程序265

499 使用连接映像266

497 连接器266

498 连接器的功能266

501 使用MAKE命令简化应用程序的创建267

500 使用连接器响应文件267

503 通过MAKE使用多依赖性文件268

502 生成一个简单的MAKE文件268

505 MAKE和命令行269

504 说明用户的MAKE文件269

508 使用MAKE宏270

506 在MAKE文件中放置多个依赖性270

507 显现的和隐含的MAKE法则270

510 用MAKE执行条件进程271

509 预定义MAKE宏271

513 使用MAKE的宏修饰符272

511 验证一个MAKE宏272

512 再次包含一个MAKE文件272

518 同时激活和改变一个宏273

514 因错误结束MAKE文件273

515 关闭命令显示273

516 使用文件BUILTINS.MAK273

517 在MAKE中执行出口状态进程273

519 为多个依赖文件执行一个MAKE命令274

521 理解CTYPE.H,ISTYPE宏275

第十四章 高级C语言编程275

520 判断是否有数学协处理器275

522 检查系统和路径错误276

525 执行一个非本地的GOTO277

523 显示预定义的错误信息277

524 决定操作系统版本277

527 激活一个内部的DOS命令278

526 获得进程ID(PID)278

528 使用PSP全局变量279

530 使用枚举类型280

529 在变量声明中使用CONST修饰符280

533 动态列表简介281

531 分配一个特殊的值给枚举类型281

532 保存和恢复寄存器281

534 声明一个链接的列表结构282

537 从一个列表中删除一个元素283

535 增加一个列表入口283

536 插入一个列表入口283

538 使用一个双向链表284

540 理解NODE->PREVIOUS->NEXT285

539 创建一个简单的双向链表285

541 从一个双向链表中移走一个元素286

542 在一个双向链表中插入一个元素287

544 派生一个子进程288

543 理解子进程288

545 使用其他的SPAWNLXX函数289

546 使用SPAWNVXX函数290

547 执行一个子进程291

549 使用EXECVXX函数292

548 使用其他的EXECLXX函数292

551 理解中断293

550 理解覆盖293

552 PC机的中断294

554 判断一个中断向量295

553 使用中断关键字295

557 生成简单的中断处理器296

555 设置一个中断向量296

556 使能与禁止中断296

558 链接一个二次中断297

560 捕获PC机时钟298

559 生成一个中断298

561 C语言中的致命错误处理299

562 一个更完全的致命错误处理器300

564 生成一个Ctrl+Break处理器301

563 恢复改变过的中断301

566 直接插入内联函数302

565 在用户的致命错误处理器中使用DOS服务302

568 理解快速函数调用303

567 使能和禁止内联函数303

571 理解初始化值304

569 FASTCALL参数传递的法则304

570 消除普通的子表达式304

573 理解左值(LVALUE)305

572 理解连接305

576 谨慎使用远指针306

574 理解右值(RVALUE)306

575 使用段寄存器关键字306

579 防止循环包含307

577 数学协处理器语句307

578 理解变量中的CDECL和PASCAL307

582 使用COUT输出值和变量308

第十五章 C++入门308

580 C++介绍308

581 理解COUT I/O流308

586 使用CLOG实现输出309

583 显示十六进制和八进制数值309

584 输出到CERR309

585 用CIN得到输入309

590 分辨全局范围310

587 CIN、COUT、CERR和CLOG是类的实例310

588 使用FLUSH操纵符快速输出310

589 C++增加的新关键字310

593 使用SETW设置COUT宽度311

591 提供缺省参数值311

592 控制COUT的输出宽度311

595 左对齐和右对齐COUT的输出312

594 指定COUT的填充字符312

596 控制COUT显示浮点数字的数目313

599 设置输入输出基数314

597  以小数或科学记数格式显示数值314

598 恢复COUT至默认值314

601 在函数原型中放置默认参数值315

600 在需要的地方定义变量315

605 使用FAR指针和NEW运算符316

602 使用按位运算符及COUT316

603 在C++中使用ENUM关键字316

604 用NEW分配内存316

607 理解C++中的引用317

606 释放内存至自由空间317

610 用三种方法传递参数318

608 给函数传递引用318

609 防止隐藏对象318

612 函数可返回引用319

611 使用引用的规则319

613 使用INLINE关键字320

616 用COUT写字符321

614 使用C++的ASM关键字321

615 用CIN读字符321

619 理解连接规范322

617 文件结束测试322

618 用ENDL产生新行322

621 重载函数323

620 理解重载323

623 避免不明确的重载324

622 重载函数的第二个例子324

625 改变NEW运算符的缺省处理器325

624 使用CIN每次读一行325

627 判断C++编译326

626 用SET_NEW_HANDLER函数设置NEW处理器326

629 结构中定义函数成员327

628 理解C++中的结构327

632 给成员函数传递参数328

630 在结构内定义成员函数328

631 在结构外定义成员函数328

634 同名成员不同函数329

633 不同结构具有同名函数成员329

636 把程序分解成对象331

第十六章 对象331

635 对象331

637 理解C++的类333

641 类和结构的选择334

638 理解封装334

639 理解多态性334

640 理解继承334

643 实现简单类的程序335

642 创建简单类模型335

644 定义类构件336

647 理解PUBLIC:标志337

645 理解作用域分辨符337

646 在声明中使用或省略类名337

650 公有方法常称为接口函数338

648 理解PRIVATE:标志338

649 理解PROTECTED:标志338

653 类初始化339

651 对象实例共享代码339

652 全局分辨符339

655 理解静态类成员340

654 另一种类初始化方法340

656 静态数据成员341

658 成员函数声明342

657 静态成员函数342

660 决定内联和非内联函数的使用343

659 内联函数声明343

662 匿名联合344

661 类和联合344

663 友元函数345

665 使用构造函数346

第十七章 常见的类函数346

664 构造函数346

666 构造函数的缺省参数347

667 重载构造函数348

669 析构函数349

668 获得重载函数的地址349

670 程序何时调用析构函数350

671 使用复制构造函数352

673 局部类353

672 显式构造函数353

675 运算符重载354

674 构造函数和类数组354

677 重载加运算符355

676 创建运算符成员函数355

678 重载前置和后置增量运算符356

679 用友元函数重载运算符357

680 用友元函数重载++或--运算符358

681 用友元函数重载运算符的原因359

683 重载DELETE运算符360

682 重载NEW运算符360

684 重载数组下标运算符[]362

685 重载函数调用运算符()363

687 重载逗号运算符364

686 重载指针运算符->364

690 创建初始化的类数组366

688 取消输入前的空格366

689 在头文件中定义类366

691 内联类代码允许改变367

692 静态存储区368

694 用IOS成员格式化输入和输出369

第十八章 用C++输入输出369

693 I/O流操作和STDIO同步369

697 重载SETF函数370

695 设置格式标志370

696 清除格式标志370

698 检测当前格式标志371

700 使用FILL函数372

699 使用PRECISION函数372

702 用操纵算子格式化I/O373

701 理解操纵算子373

703 重载抽取运算符374

705 打开文件流375

704 重载COUT的插入运算符的另一种方法375

707 把文件流操作放到一起376

706 读和写文件流数据376

708 执行二进制拷贝操作377

710 用READ读二进制数据378

709 流缓冲类378

711 用WRITE写二进制数据379

712 使用GCOUNT成员函数380

714 使用GETLINE方法381

713 使用重载的GET函数381

715 文件结束的检测382

716 使用IGNORE函数383

720 控制文件流指针384

717 使用PEEK函数384

718 使用PUTBACK函数384

719 获得文件流的当前位置384

722 在文件内操纵文件指针位置385

721 用SEEKG和SEEKP实现随机访问385

723 判断I/O流的当前状态386

725 用ISTRSTREAM写字符串387

724 字符串流387

727 用IOS成员函数操纵流数组388

726 对输出数组使用PCOUNT388

729 随机访问流数组389

728 使用STRSTREAM389

731 为字符串数组定制插入运算符390

730 对流数组使用操纵符390

732 I/O流中使用动态数组392

734 对象调用另一对象393

733 ENDS操纵符393

736 声明READER类为友元394

735 重温友元394

738 限制友元访问395

737 消除CLASS类名语句395

739 名字冲突及友元396

740  C++中的继承397

第十九章 继承及多态性397

743 基类及派生类的构造函数398

741 基类和派生类398

742 派生类398

744 使用受保护的成员399

745 公有的和私有的基类继承400

746 受保护的基类继承401

747 多重继承402

748 构造函数的顺序和基类403

749 声明私有基类404

751 如何为基类构造函数传递参数405

750 解决类及其基类名字的冲突405

753 用虚拟基类避免混淆407

752 派生类内的访问声明407

754 虚拟基类408

755 派生类使用保护成员409

756 定义静态类数据410

757 初始化静态数据成员411

759 静态私有数据成员412

758 直接访问静态数据成员412

761 公有静态函数的直接访问413

760 静态成员函数413

762 嵌套类414

764 类成员可递归415

763 在方法函数中插入汇编语句415

765 THIS指针416

766 指向类的指针417

768 使用指针时基类和派生类名字的冲突418

767 对不同的类使用相同的指针418

769 继承虚拟属性419

770 虚拟函数是分层的420

771 实现多态性421

773 使用虚拟函数422

772 纯虚函数422

774 先期和迟后联编演示424

776 对类使用SIZEOF425

775 定义输出流操纵符425

778 友元转换函数426

777  PRIVATE、PUBLIC、PROTECTED也能用于结构426

779 判断运算符提高还是降低可读性427

781 使用简单模板428

第二十章 通用函数及模板428

780 模板428

782 支持多种类型的模板429

784 通用函数的限制430

783 显式重载通用函数430

785 使用通用函数431

786 通用冒泡排序函数432

787 用通用函数压缩数组433

788 模板同样消除类复制434

789 通用类435

790 创建含两个通用数据类型的通用类436

791 创建含有参数的操纵符437

792 通用数组类438

795 简单的异常处理器440

第二十一章 异常处理及类型转换440

793 异常处理440

794 基本的异常处理形式440

797 异常具有特定类型441

796 THROW语句441

799 函数内的局部TRY块442

798 TRY块内的函数抛出异常442

800 程序何时执行CATCH443

801 对单个TRY块使用多个CATCH语句444

803 捕获单个TRY块的所有异常445

802 对异常使用省略符(…)445

804 捕获单个TRY块的显式和通用异常446

805 异常的限制447

806 重新抛出异常448

808 使用缺省的函数参数449

807 异常处理的应用449

810 缺省参数和函数重载450

809 用缺省函数参数避免错误450

811 创建转换函数451

812 使用转换函数提高类型的可移植性452

814 CONST CAST运算符453

813 C++中新的强制转换运算符453

815 DYNAMIC CAST运算符454

816 REINTERPRET CAST运算符455

818 名字空间456

817 STATIC CAST运算符456

822 为运行时类型标识使用TYPEID457

819 使用名字空间457

820 对名字空间用Using语句457

821 运行时类型标识457

823 TYPE INFO类459

825 在类内使用MUTABLE关键字460

824 MUTABLE关键字460

826 布尔数据类型461

828 创建STRINGS类463

第二十二章 创建可重用的类463

827 定义字符串类型的特性463

829 编写STRINGS类的构造函数464

831 编写STRINGS类的赋值函数465

830 STRINGS类执行I/O操作465

832 重载+运算符以连接字符串对象466

835 把STRINGS对象转换成字符数组468

833 重载关系运算符468

834 判断STRINGS对象的大小468

837 双向链表类成员469

836 用C++的类创建双向链表469

839 运算符重载函数470

838 GETNEXT和GETPREVIOUS函数470

841 LINKED LIST类471

840 继承LIST OBJECT类471

842 LINKED LIST的STORE函数472

843 LINK LIST的REMOVE函数473

846 以反向顺序显示LINKED LIST474

844 GETSTART和GETEND函数474

845 以前向的顺序显示LINKED LIST474

848 实现LINKED LIST的简单程序475

847 查找链表475

850 通用LIST OBJECT类成员477

849 创建通用的双向链表类477

853 通用类用于结构479

851 通用LINKED LIST类479

852 通用类用作字符链表479

854 重载?比较运算符480

856 对象用于STORE函数481

855 通用链表的其他实现481

857 编写判断链表长度的函数482

858 标准模板库介绍483

第二十三章 标准模板库483

860 容器484

859 标准模板库头文件484

861 使用容器的例子485

862 标准模板库的容器介绍486

863 前向和可逆容器487

864 标准模板库的序列容器488

866 标准模板库的关联容器489

865 理解USING NAMESPACE STD语句489

867 迭代器491

868 迭代器演示492

870 STL的其他迭代器493

869 更好地理解STL的输入和输出迭代器493

871 理解定则494

873 STL包含的算法描述495

872 理解模式495

874 STL的FOR EACH算法496

875 STL的GENERATE N算法497

876 STL的RANDOM SHUFFLE算法498

877 PARTIAL SORT COPY算法500

878 MERGE算法501

879 向量503

881 简单BVECTOR演示505

880 BIT VECTOR序列容器505

882 LIST类型506

883 构造LIST对象507

886 REMOVE和EMPTY成员函数508

884 往链表中插入对象508

885 使用ASSIGN成员函数508

887 遍历L0ST对象509

890 DEQUE容器510

888 SLIST类型510

889 往SLIST序列容器中插入元素510

891 使用DEQUE容器511

893 对DEQUE用REVERSE迭代器512

892 ERASE和CLEAR成员函数512

894 管理DEQUE的大小513

895 MAP对象514

896 用成员函数管理MAP515

897 控制MAP的大小及内容516

898 理解SET(集合)517

899 简单的SET演示518

901 线程介绍520

第二十四章 Windows编程入门520

900 WIN32编程介绍520

902 理解消息521

903 父窗口和子窗口522

904 创建一般的W0NDOWS程序523

905 资源文件525

906 WINDOWS句柄527

908 GENERIC的头文件528

907 定义WINDOWS的句柄类型528

911 更精细地查看GENERIC.CPP程序529

909 回调函数529

910 WINDOWS应用程序编程接口529

912 WINMAIN函数530

913 窗口的创建531

915 SHOWWINDOW函数532

914 CREATEWINDOW函数532

916 REGISTERCLASS函数533

917 学习更多有关消息的知识535

918 用TRANSLATEMESSAGE处理消息536

920 LPCTSTR类型537

919 用DISPATCHMESSAGE处理消息537

922 WINDOWS预定义的类538

921 DWORD类型538

924 创建窗口时WINDOWS发送WM CREATE消息540

923 用预定义的类创建简单的窗口540

925 窗口及控件的格式541

926 用扩展的格式创建窗口543

928 REGISTERCLASSEX API函数545

927 销毁窗口545

929 用SETPROP为窗口附加信息546

930 用ENUMPROPS列出窗口的属性547

931 回调函数548

932 MESSAGEBOX函数549

934 消息的流动551

第二十五章 消息及菜单551

936 PEEKMESSAGE函数553

935 MSG结构的构件553

937 POSTMESSAGE函数554

939 REPLYMESSAGE函数555

938 SENDMESSAGE函数555

941 SETWINDOWSHOOKEX函数556

940 钩子消息556

942 EXITWINDOWSEX函数557

943 菜单的类型558

944 菜单的结构559

947 为应用程序的窗口增加菜单560

946 POPUP和MENUITEM描述符560

945 在资源文件中创建菜单560

949 菜单产生的消息561

948 在应用程序中改变菜单561

950 LOADMENU函数562

951 MODIFYMENU函数563

952 用ENABLEMENUITEM控制菜单564

953 用APPENDMENU扩充菜单565

954 用DELETEMENU删除指定的菜单567

955 在菜单项中使用加速键568

956 简单的加速表569

957 更好地理解资源文件的结构570

959 定制的资源571

958 字符串表571

961 列出资源文件的内容572

960 用LOADSTRING把字符串表装入程序572

962 对资源文件用ENUMRESOURCETYPES574

963 用FINDRESOURCE把资源装入程序575

965 定义对话框类型578

964 对话框578

第二十六章 对话框578

967 对话框模板的构件579

966 对话框使用键盘579

969 对话框定义的构件580

968 创建特定的对话框模板580

971 用DIALOGBOX宏显示对话框581

970 定义对话框的控件581

972 对话框的消息循环583

974 CREATEDIALOG宏584

973 深入控件的处理584

975 CREATEDIALOGPARAM函数585

976 对话框的缺省消息处理程序586

977 用DLGDIRLIST函数创建对话列表框587

978 响应用户在列表框中的选择589

979 关闭对话框590

981 响应鼠标事件591

980 用户输入591

982 WM MOUSEMOVE消息592

984 响应键盘事件593

983 读取鼠标按键593

985 虚键594

987 进一步使用WM KEYDOWN消息596

986 使用虚键596

988 设置和返回鼠标的双击时间597

989 交换鼠标按键598

991 滚动条介绍599

990 判断用户是否按了一个键599

992 SHOWSCROLLBAR函数600

994 滚动条消息601

993 滚动条的位置及范围601

995 获取滚动条的当前设置602

996 滚动窗口内容603

997 WM SIZE消息605

998 WM PAINT消息606

999 程序必须捕获的其他滚动条消息607

1000 使滚动条有效和无效608

1001 使用SCROLLDC函数609

1003 全局及局部内存611

1002 WIN32的内存模型611

第二十七章 WINDOWS的内存管理611

1004 虚拟内存612

1006 从全局堆中分配内存块613

1005 重温堆613

1007 用GLOBALREALLOC动态改变堆的大小615

1008 丢弃已分配的内存块616

1010 GLOBALLOCK和GLOBALHANDLE617

1009 使用GLOBALFREE函数617

1011 检查计算机的内存618

1012 在进程中创建堆619

1013 用堆函数管理进程指定的内存621

1015 分配虚拟内存块622

1014 检查从堆中分配的内存大小622

1016 更好地理解虚拟内存块625

1017 释放虚拟内存626

1018 管理虚拟内存页627

1019 更好地理解进程628

第二十八章 进程及线程628

1020 创建进程629

1021 结束进程634

1023 运行独立的子进程635

1022 产生子进程635

1025 创建简单线程的函数636

1024 更好地理解线程636

1026 确定线程堆栈的大小638

1028 处理线程的执行时间639

1027 获得当前线程或进程的句柄639

1029 管理多个线程的处理时间640

1030 处理无句柄的异常641

1031 结束线程642

1033 理解WINDOWS的优先级类643

1032 确定线程或进程的ID643

1034 改变进程的优先级类644

1035 设置线程的相对优先级645

1037 获取线程的上下文646

1036 获取线程的当前优先级646

1039 定义五个主要的同步对象647

1038 线程的暂停及继续647

1040 创建临界区648

1042 用WAITFORSINGLEOBJECT同步两个线程649

1041 使用简单的临界区649

1043 用WAITFORMULTIPLEOBJECTS同步多个线程651

1044 创建互斥体652

1045 使用信号量653

1046 简单的事件处理程序655

1048 更好地理解设备描述表657

1047 理解图形设备接口657

第二十九章 图形设备接口657

1049 获取窗口的设备描述表658

1050 为打印机创建设备描述表659

1051 用CREATECOMPATIBLEDC创建内存设备描述表662

1052 使用CREATEFONT函数663

1053 使用ENUMFONTFAMILIES函数667

1054 用CREATEFONTINDIRECT显示多个字体668

1055 获取设备的能力669

1056 用GETSYSTEMMETRICS函数分析窗口673

1057 获取整个窗口的设备描述符676

1058 释放设备描述表677

1060 创建位图678

1059 由设备描述表获得窗口的句柄678

第三十章 位图、图元文件及图标678

1061 显示位图679

1062 创建DIB位图680

1063 用某种模式填充矩形682

1064 使用SETDIBITS683

1065 用SETDIBITSTODEVICE在指定的设备上输出位图684

1066 创建并显示图元文件685

1067 枚举增强型图元文件686

1068 使用GETWINMETAFILEBITS函数688

1069 创建图标689

1070 从资源中创建图标690

1072 使用LOADICON函数691

1071 使用CREATEICONINDIRECT函数691

1073 用LOADIMAGE装入多种图形类型692

1075 用CREATEFILE函数打开文件695

1074 管道、资源、设备及文件的介绍695

第三十一章 WINDOWS的输入及输出695

1076 用WRITEFILE写文件699

1077 用READFILE读文件701

1079 把文件映射成虚拟内存702

1078 关闭文件702

1080 把文件的视图映射到当前的进程中705

1082 获取并改变文件的属性706

1081 打开有名的文件映射对象706

1083 获取文件的大小707

1084 获取文件的时间标志708

1086 获取并设置当前的目录709

1085 创建目录709

1087 获取WINDOWS及系统的目录710

1089 拷贝文件711

1088 删除目录711

1091 删除文件712

1090 移动及重命名文件712

1093 创建临时文件713

1092 获取临时路径713

1094 CREATENAMEDPIPE函数714

1095 连接命名管道717

1096 调用命名管道719

1097 断开与命名管道的连接720

1099 OVERLAPPED结构721

1098 使用异步输入及输出721

1101 GETLASTERROR函数722

1100 使用设备内核对象的异步I/O722

1102 用FORMATMESSAGE格式化错误消息723

1104 WAITFORMULTIPLEOBJECTS用于异步I/O725

1103 使用事件内核对象的异步I/O725

1105 I/O结束端口介绍726

1107 警报I/O仅用于WINDOWS NT727

1106 警报I/O用于异步处理727

1108 READFILEEX及WRITEFILEEX728

1110 .NET环境的其他优势730

1109 .NET环境730

第三十二章 .NET环境730

1113 中间语言731

1112 元数据731

1111 公共语言运行时间731

1115 集合732

1114 .NET通用类型732

1117 反射733

1116 引用和变量类型733

1118 交互管理数据734

1119 .NET类架构735

1120 创建和编译第一个C#程序736

1122 在Console.WriteLine中使用转义序列737

1121 使用Console.WriteLine函数737

1123 使用Console.WriteLine显示数值738

1124 使用占位符格式化输出739

1125 在输出格式中指定精度740

1126 使用###和000格式化输出741

1128 访问命令行变量742

1127 C#的Main函数742

1129 C#关键字743

1131 使用未赋值变量作为参数744

1130 必须给变量赋值744

1133 定义只读变量745

1132 C#不支持#define和#include命令745

1135 类型转换746

1134 在C#中创建枚举746

1137 在C#中进行判断747

1136 转换函数747

1138 在C#中判断变量的值748

1140 使用foreach遍历数组元素749

1139 C#程序中的循环语句749

1141 使用Console.ReadLine读取键盘输入750

1142 使用Console.Read函数每次读取一个字符751

1143 使用内部和外部参数752

1144 处理可变的参数数量753

1145 在C#中使用数组754

1147 在C#中使用字符串755

1146 改变数组的长度755

1149 插入和删除子字符串757

1148 使用格式说明符来格式化字符串数据757

1150 判断字符串的开始与结束758

1152 在函数内改变字符串和数组759

1151 分割定界字符串759

1153 创建自己的名字空间760

1154 名字空间的嵌套761

1156 在C#中重载函数763

1155 C#不需要在参数列表中使用void763

1157 C#的结构与类不同764

1158 定义C#类765

1159 使用new创建类实例766

1161 使用C#的private访问说明符767

1160 使用C#公共访问说明符767

1162 强调变量的取值范围768

1163 使用public和internal控制类的访问769

1164 使用internal访问控制说明符770

1165 使用构造器函数初始化成员770

1166 使用this关键字771

1167 C#支持静态类成员772

1168 创建私有构造器773

1169 使用static构造器方法773

1170 重载类构造器函数774

1171 使用解构器函数清除对象775

1172 Finalize方法775

1173 判断在堆中分配的空间776

1174 强制垃圾收集器进行收集777

1175 垃圾收集代778

1176 调用基类构造器函数779

1177 与C++不同,C#不支持多重继承780

1178 构造器和解构器的执行780

1179 使用密封类防止继承781

1180 使用虚拟函数781

1181 在C#中使用抽象类783

1182 C#不支持友类783

1183 使用反射查询类784

1184 利用反射接收类域785

1185 C#的重载运算符786

1186 包装C#变量787

1187 解包C#变量787

1188 使用Stack类788

1189 创建名字空间别名789

1190 C#预处理789

1191 预处理器区域790

1192 使用is运算符790

1193 类转换和as运算符791

1194 C#不支持缺省参数值793

1195 fixed关键字794

1196 授权794

1197 合成授权795

1198 处理多点授权的返回值796

1199 类属性797

1200 继承属性799

1201 使用多重属性801

1202 创建只读属性803

1203 C#索引804

1204 System.Exception对象806

1205 派生定制异常806

1206 使用System.Exception类StackTrace方法807

1207 C#接口808

1208 实现接口809

1209 实现多接口810

1210 重新实现接口811

1211 使用反射和接口813

1212 .NET环境定义的关键接口815

1213 判断类是否实现接口815

1214 C#事件816

1215 定义事件和事件授权817

1216 事件处理817

1217 创建多线程C#程序819

1218 创建简单的多线程例子819

1219 让线程休眠820

1220 挂起、重启、终止线程执行822

1221 线程竞争环境823

1222 使用C#的lock语句保护资源825

1223 使用Monitor类同步化线程827

1224 使用Monitor.TryEnter防止线程中断828

1225 控制线程优先权830

1226 C#属性831

1227 创建属性832

1228 查询类属性信息832

1229 使用多个属性833

1230 使用基于XML的注释835

1231 使用XML标签扩展程序的注释836

1232 创建简单的Windows程序837

1233 定制通用控件838

1234 使用通用控件840

1235 使用通用对话框842

1236 回顾C#反射844

热门推荐