注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计.NETC/C++/C#程序员实用大全:C/C++/C#最佳编程指南

C/C++/C#程序员实用大全:C/C++/C#最佳编程指南

C/C++/C#程序员实用大全:C/C++/C#最佳编程指南

定 价:¥78.00

作 者: (美)Kris Jamsa著;张春晖,刘大庆,李越等译;张春晖译
出版社: 中国水利水电出版社
丛编项: 万水计算机技术实用大全系列
标 签: 暂缺

ISBN: 9787508428925 出版时间: 2005-05-01 包装: 胶版纸
开本: 26cm 页数: 846 字数:  

内容简介

  本书通过对大量程序实例的分析,深入浅出地讲解了C/C++/C#语言基本知识、编译方法和程序设计技术,并给出了众多的编程技巧与应用。全书首先介绍了C语言的基本知识,对C语言编程的实际方法、技巧,以及常见的问题和难点进行了详细阐述和解答;然后逐步过渡到C++编程与Windows编程,用较大的篇幅对它们进行了深入地剖析:最后介绍了基于.NET环境的C#编程。无论是C/C++/C#的初学者还是资深程序员都能从中受益匪浅。本书是广大程序员、编程自学者学习和掌握C/C++/C#编程的优秀指南。

作者简介

暂缺《C/C++/C#程序员实用大全:C/C++/C#最佳编程指南》作者简介

图书目录

精华版序
译者序
第一章 C语言入门
1 典型的C程序结构
2 C语言区分大小写字母
3 帮助编译器查找头文件
4 注释程序
5 变量
6 给变量赋值
7 变量类型
8 定义同一类型的多个变量
9 给变量赋初值
10 C关键字
11 整型变量
12 字符型变量
13 浮点型变量
14 双精度型变量
15 给浮点型变量赋值
16 类型标识符
17 联合使用无符号和长类型标识符
18 寄存器类型标识符
19 有符号类型标识符
20 创建用户自己的类型
21 赋给十六进制或八进制值
22 溢出
23 赋值为引号或其他字符
24 PRINTF入门
25 打印八进制或十六进制整数
26 用PRINTF显示无符号整型数值
27 用PRlNTF显示长整型数值
28 用指数格式显示浮点数
29 显示浮点数
30 在数值前添加正号和负号
31 用PRlNTF格式化整数值
32 O填充整数输出
33 在八进制和十六进制数前显示前缀.
34 用PRINTF格式化浮点数
35 格式化指数输出
36 左对齐PRINTF的输出
37 显示NEAR和FAR字符
38 使用PRINTF的转义字符
39 使用PRINTF的返回值
40 使用ANSI设备驱动器
41 用ANSI驱动器显示屏幕颜色
42 用ANSI驱动器定位光标
43 在C中作基本的数学运算
44 模运算(取余运算)
45 运算符的优先级和结合性
46 C的自增运算符
47 按位或运算
48 按位与运算
49 按位异或运算
50 “取反”运算
51 C的条件运算符
52 C的长度(SIZEOF)运算符
53 移位运算
54 位循环运算
55 C如何表示真(TRUE)和假(FALSE)
56 用if判断条件
57 判断是否相等
58 关系判断
59 用逻辑与判断两个条件
60 用逻辑或来判断两个条件
61 逻辑非运算
62 将条件结果赋值给变量
63 判断浮点数
64 按规定次数执行语句
65 无穷循环
66 在FOR循环中使用逗号运算符
67 用WHILE循环重复执行一条或多条语句
68 使用DO重复执行一条或多条语句
69 C的CONTINUE语句
70 使用C的BREAK语句来结束循环
71 GOTO语句分支
72 判断多个条件
73 在SWITCH中使用BREAK
74 使用SWITCH语句的DEFAULT CASE
第二章 宏与常量
75 在程序中定义常量
76 使用FILE预处理器常量
77 使用LINE预处理器常量
78 改变预处理器的行计数
79 记录预处理器的日期和时间
80 判断是否进行ANSIC编译
81 判断是C++还是C
82 取消宏或常量
83 比较宏与函数
84 编译器PRAGMAS
85 使用#INCLUDE<FILENAME.H>与#INCLUDE“FILENAME.H”
86 判断符号是否被定义
87 进行IF-ELSE预处理
88 更强大的预处理器条件判断
89 实现IF-ELSE和ELSE-IF预处理
90 定义需要多行的宏和常量
91 创建自定义宏
92 创建M1N和MAX宏
93 创建SQUARE和CUBE宏
94 注意宏定义中的空格
95 如何使用括号
96 宏是没有类型的
第三章 字符串
97 C字符串的形象化
98 C是如何存储字符串的
99 在字符串常量内表示引号
100 使用STRLEN函数
101 字符串的复制
102 字符串的连接
103 给字符串追加N个字符
104 判断两个字符串是否相同
105 比较字符串时忽略大小写
106 将字符串转换成大写或小写
107 获取字符串中第一次出现的某个字符
108 搜索字符在字符串中的末次出现
109 计算字符串中某个字符出现的次数
110 比较两个字符串
111 比较两个字符串的前N个字符
112 不考虑大小写比较字符串
113 将字符串转换成数字
114 复制字符串的内容
115 在字符串中查找子字符串
116 计算子字符串出现的次数
117 获取子字符串的最右端出现
118 从字符串中删除子字符串
119 用另一个子字符串代替子字符串
120 转换数值的ASCII码形式
121 判断字符是否为字母或数字
122 判断字符是否为字母
123 判断字符是否包含ASCII值
124 判断字符是否为控制符
125 判断字符是否为数字
126 判断字符是否为图形字符
127 判断字符是大写还是小写
128 判断字符是否可打印
129 判断字符是否为标点符号
130 判断字符是否包含空白符(whitespace)
131 判断字符是否为十六进制值
132 将字符转换成大写形式
133 使用ASCII字符
134 将输出格式写进字符串变量
135 从字符串中读输入
136 标志字符串以节省空间
137 初始化字符串
第四章 函数
138 函数
139 把MAIN当作函数
140 函数返回值
141 形参和实参
142 解决名称冲突
143 局部变量
144 函数如何使用堆栈
145 C如何存储局部变量
146 声明全局变量
147 传值调用
148 使用传值调用防止参数值变化
149 传址调用
150 获取地址
151 使用变量的地址
152 改变参数的值
153 只改变指定参数
154 使用堆栈进行传址调用
155 记住函数变量的值
156 C是如何初始化静态变量的
157 使用PASCAL调用顺序
158 PASCAL关键字的影响
159 混合编程示例
160 CDECL关键字
161 判断是否要使用递归
162 如何消除递归
163 形式参数中的CONST
164 使用CONST不会阻止参数值的修改
165 无界字符串的声明
166 C是如何使用堆栈处理字符串参数的
167 外部变量
168 外部静态变量
169 VOLATILE关键字
170 调用结构和基指针
171 调用汇编语言函数
172 从汇编语言函数中返回值
173 AUTO关键字
174 支持参数个数可变的函数
175 VA START、VA ARG和VA END是如何工作的
176 创建支持多参数多类型的函数
第五章 键盘操作
177 从键盘读入字符
178 显示字符输出
179 将键盘输入赋给字符串
180 使用直接I/O读入字符
181 不显示字符的直接键盘输入
182 直接输出
183 将按键放回键盘缓存
184 使用CPRINTF快速格式化输出
185 快速格式化键盘输入
186 写字符串
187 使用直接I/O实现更快的字符串输出.
188 从键盘读入字符串
189 以更快的速度从键盘输入字符串
190 清除屏幕显示
191 删除当前行到行尾的内容
192 删除屏幕上的当前行
193 定位光标进行屏幕输出
194 判断行与列的位置
195 在屏幕上插入空行
196 将屏幕上的文本拷贝到缓冲区
197 将缓冲区中的文本拷贝到屏幕的指定位置
198 判断文本模式设置
199 控制屏幕颜色
200 指定背景色
201 使用TEXTCOLOR设置前景色
202 使用TEXTBACKGROUND设置背景色
203 控制文本的明暗度
204 决定当前文本模式
205 在屏幕上移动文本
206 定义文本窗口
第六章 数学
207 使用整型表达式的绝对值
208 使用ARCCOSINE(反余弦)
209 使用ARCSINE(反正弦)
210 使用ARCTANGENT(反正切)
211 求复数的绝对值
212 对浮点值进位舍入
213 使用角的余弦
214 使用角的正弦
215 使用角的双曲正弦
216 使用角的正切
217 使用角的双曲正切
218 整数相除
219 使用指数
220 使用浮点型表达式的绝对值
221 使用浮点余数
222 使用浮点值的尾数和指数
223 计算自然对数
224 判断最大值与最小值
225 把浮点值分解成整数和小数部分
226 计算xn的结果
227 生成随机数
228 将随机值映射到指定范围
229 给随机数生成器赋初值
230 计算数值的平方根
231 创建定制的数学错误处理程序
第七章 文件、目录和磁盘
232 判断当前盘驱动器
233 选择当前驱动器
234 判断可用的盘空间
235 读入文件分配表(FAT)信息
236 绝对扇区读写操作
237 进行BIOS磁盘I/O
238 测试软驱是否准备好
239 应用FOPEN打开文件
240 FILE结构
241 关闭一个打开的文件
242 每次读/写文件信息的一个字符
243 文件指针的位置指针
244 判断当前文件位置
245 文件翻译
246 文件句柄(FILE HANDLES)
247 从流指针中导出文件句柄
248 重命名文件
249 删除文件
250 判断程序如何访问文件
251 设置文件的访问模式
252 检测文件流错误
253 判断文件的长度
254 刷新I/O流
255 一次关闭所有被打开的文件
256 使用P TMPDIR创建临时文件名
257 使用TMP或TEMP创建临时文件名
258 创建真正的临时文件
259 删除临时文件
260 为文件搜索命令路径
261 为文件搜索环境入口的子目录
262 打开TEMP目录中的文件
263 最小化文件I/O操作
264 改变当前目录
265 创建目录
266 删除目录
267 删除目录树
268 建立完全路径名
269 分解目录路径
270 建立路径名
271 使用低级函数打开和关闭文件
272 创建文件
273 进行低级读写操作
274 为文件句柄翻译指定模式
275 利用LSEEK定位文件指针
276 使用DOS文件服务
277 获取文件的日期和时间标记
278 设置文件的日期与时问标记
279 把文件日期和时间设置成当前日期和时间
280 每次读写一个字
281 改变文件的长度
282 控制文件打开操作的读写模式
283 将缓冲区赋给文件
284 分配文件缓冲区
285 利用MKTEMP创建惟一文件名
286 读写结构
287 从文件流中读取结构数据
288 复制文件句柄
289 强制文件句柄设置
290 把文件句柄和文件流联系起来
291 文件共享
292 打开文件进行共享访问
293 锁定文件内容
294 获取更精细的文件锁定控制
295 使用DOS目录
296 打开目录
297 递归读取磁盘文件
298 判断当前文件位置
299 打开共享文件流
300 在指定目录中创建惟一文件
301 创建新文件
302 强制二进制或文本文件打开
303 按行读文本
304 按行写文本
305 应用FGETS和FPUTS
306 强制二进制文件翻译
307 判断文件结尾
308 舍弃字符
309 读取格式化的文件数据
310 根据当前位置定位文件指针
311 获取文件句柄信息
312 重新打开文件流
第八章 数组、指针和结构
313 声明数组
314 初始化数组
315 使用常量定义数组
316 为大数组使用HUGE内存模式
317 多维数组
318 给二维数组元素赋初值
319 把多维数组当作一维数组
320 联合
321 使用联合节省内存
322 使用REGS——一种典型的联合
323 应用REGS联合
324 位字段结构
325 在数组中查找指定的值
326 冒泡排序法
327 选择排序法
328 SHELL(希尔)排序法
329 快速排序法
330 利用LFIND搜索字符串
331 利用LSEARCH搜索数值
332 利用BSEARCH搜索已排序数组
333 利用QSORT对数组排序
334 判断数组元素的个数
335 判断变量的地址
336 声明指针变量
337 间接访问指针
338 指针与函数参数的使用
339 指针运算
340 指针的增值与减值
341 利用指针遍历数组
342 使用返回值为指针的函数
343 创建返回值为指针的函数
344 指针数组
345 遍历字符串数组
346 把字符串数组当成指针
347 使用指向一个指向字符串的指针的指针
348 利用指针声明字符串常量
349 VOID类型指针
350 创建指向函数的指针
351 使用指向函数的指针
352 使用三级指针
353 结构
354 用不同的方式声明结构
355 结构成员
356 形象表示结构
357 应用结构
358 把结构传递给函数
359 在函数内部改变结构
360 (*POINT).MEMBER间接引用
361 使用POINTER—MEMBER格式
362 初始化结构
363 使用嵌套结构
364 包含数组的结构
365 创建结构数组
第九章 DOS和BIOS服务
366 DOS系统服务
367 BIOS服务
368 寄存器
369 标志寄存器
370 软件中断
371 利用BIOS访问指针
372 CONTROL+BREAK信息
373 可能的DOS副作用
374 暂时挂起程序
375 控制声音
376 获取国家专用的信息
377 磁盘传输地址
378 访问和控制磁盘传输区
379 BIOS键盘服务
380 获取BIOS设备列表
381 控制串行口 I/O
382 利用BDOS访问DOS服务
383 获取扩展DOS错误信息
384 判断BIOS常规内存数量
385 创建远指针(FAR PRINTER)
386 把远端地址分解为段地址和偏移地址
387 判断自由核心内存
388 读段寄存器设置
第十章 内存管理
389 内存的类型
390 常规内存
391 常规内存的分布
392 为什么PC和DOS限制于1MB
393 从段和偏移量中产生地址
394 扩充内存
395 使用扩充内存
396 实模式和保护模式
397 访问扩展内存
398 高端内存区
399 堆栈
400 各种堆栈配置
401 判断程序的当前堆栈大小
402 使用STKLEN控制堆栈空间
403 给内存区域赋值
404 拷贝内存区域
405 拷贝内存区域直到某指定字节
406 比较两个无符号字符数组
407 交换两个相邻字符串字节
408 分配动态内存
409 再谈类型转换
410 释放内存
411 利用CALLOC函数分配内存
412 堆
413 解决64Kb堆限制
414 从堆栈中分配内存
415 分配巨型数据
416 改变被分配内存区域的大小
417 BRK函数
418 快速堆检测
419 填充自由堆空间
420 检测特定的堆入口
421 遍历堆入口
422 访问指定内存单元
423 向内存中置数
424 PC端口
425 访问端口值
426 CMOS 
427 内存模式
428 微型内存模式
429 小型内存模式
430 中型内存模式
431 压缩内存模式
432 大型内存模式
433 巨型内存模式
434 判断当前的内存模式 
第十一章 日期和时间
435 获取当前日期与时间
436 延迟若干毫秒
437 判断程序的耗时
438 比较两个时间
439 获取日期数据串
440 获取时间串
441 读BIOS计时器
442 使用当地时间
443 使用格林威治平时
444 获取DOS系统时间
445 获取系统日期
446 设置DOS系统时间
447 设置DOS系统日期
448 把DOS日期转换为UNIX格式
449 利用TIMEZONE计算时差
450 判断当前时区
451 利用TZSET设置时区区域
452 利用TZ环境入口 
453 从用户程序中设置TZ环境入口
454 获取时区信息
455 以秒钟的形式设置自1/1/1970午夜以来的系统时间
456 把日期转换成自1/1/1970以来的秒数
457 判断日期的儒略历日期
458 创建格式化日期和时间串
459 PC时钟类型
第十二章 重定向I/O和进程命令行
460 等候按键
461 提醒用户输入密码
462 自己编写密码函数
463 输出重定向
464 输入重定向
465 联合使用INPUT和OUTPUT重定向 
466 利用STDOUT和STDIN
467 管道(pipe)运算符
468 GETCHAR和PUTCHAR
469 确保信息出现在屏幕上
470 自定义MORE命令
471 防止I/0重定向
472 应用STDPRN文件句柄
473 把重定向输出分割到一个文件中
474 应用STDAUX文件句柄
475 命令行变元
476 从命令行中显示文件内容
477 把ARGV当作指针
478 C是如何知道命令行的
479 环境
480 把ENV当作一个指针
481 使用命令行数字
482 出口状态值
483 为出口状态过程使用RETURN
484 在环境中搜索特定入口
485 DOS是如何对待环境的
486 应用ENVIRON全局变量
487 给当前环境添加入口
488 给DOS环境添加元素
489 退出当前程序
490 定义在程序结束时执行的函数 
第十三章 编程工具
491 库
492 重复使用目标代码
493 创建库文件
494 常用的库操作
495 列出库文件中的子例行程序
496 库管理程序的其他功能
497 连接器
498 连接器的功能
499 使用连接映像
500 使用连接器响应文件
501 使用MAKE命令简化应用程序的创建
502 生成一个简单的MAKE文件
503 通过MAKE使用多依赖性文件
504 说明用户的MAKE文件
505 MAKE和命令行
506 在MAKE文件中放置多个依赖性
507 显现的和隐含的MAKE法则
508 使用MAKE宏
509 预定义MAKE宏
510 用MAKE执行条件进程
511 验证一个MAKE宏
512 再次包含一个MAKE文件
513 使用MAKE的宏修饰符
514 因错误结束MAKE文件
515 关闭命令显示
516 使用文件BUILTINS.MAK
517 在MAKE中执行出口状态进程
518 同时激活和改变一个宏
519 为多个依赖文件执行一个MAKE命令
第十四章 高级C语言编程
520 判断是否有数学协处理器
521 理解CTYPE.H,ISTYPE宏
522 检查系统和路径错误
523 显示预定义的错误信息
524 决定操作系统版本
525 执行一个非本地的GOT0
526 获得进程ID(PID)
527 激活一个内部的DOS命令
528 使用PSP全局变量
529 在变量声明中使用CONST修饰符
530 使用枚举类型
531 分配一个特殊的值给枚举类型
532 保存和恢复寄存器
533 动态列表简介
534 声明一个链接的列表结构
535 增加一个列表入口
536 插入一个列表入口
537 从一个列表中删除一个元素
538 使用一个双向链表
539 创建一个简单的双向链表
540 理解NODE->PREVIOUS->NEXT..
541 从一个双向链表中移走一个元素
542 在一个双向链表中插入一个元素
543 理解子进程
544 派生一个子进程
545 使用其他的SPAWNLXX函数
546 使用SPAWNVXX函数
547 执行一个子进程
548 使用其他的EXECLXX函数
549 使用EXECVXX函数
550 理解覆盖
551 理解中断
552 PC机的中断
553 使用中断关键字
554 判断一个中断向量
555 设置一个中断向量
556 使能与禁止中断
557 生成简单的中断处理器
558 链接一个二次中断
559 生成一个中断
560 捕获PC机时钟
561 C语言中的致命错误处理
562 一个更完全的致命错误处理器
563 恢复改变过的中断
564 生成一个Ctrl+Break处理器
565 在用户的致命错误处理器中使用DOS服务
566 直接插入内联函数
567 使能和禁止内联函数
568 理解快速函数调用
569 FASTCALL参数传递的法则
570 消除普通的子表达式
571 理解初始化值
572 理解连接
573 理解左值(LVALUE)
574 理解右值(RVALUE)
575 使用段寄存器关键字
576 谨慎使用远指针
577 数学协处理器语句
578 理解变量中的CDECL和PASCAL
579 防止循环包含
第十五章 C++入门
580 C++介绍
581 理解COUT UO流
582 使用COUT输出值和变量
583 显示十六进制和八进制数值
584 输出到CERR
585 用CIN得到输入
586 使用CLOG实现输出
587 CIN、COUT、CERR CLOG是类的实例
588 使用FLUSH操纵符快速输出
589 C++增加的新关键字
590 分辨全局范围
591 提供缺省参数值
592 控制COUT的输出宽度
593 使用SETW设置COUT宽度
594 指定COUT的填充字符
595 左对齐和右对齐COUT的输出
596 控制COUT显示浮点数字的数目
597 以小数或科学记数格式显示数值
598 恢复COUT至默认值
599 设置输入输出基数
600 在需要的地方定义变量
601 在函数原型中放置默认参数值
602 使用按位运算符及COUT
603 在C++中使用ENUM关键字
604 用NEW分配内存
605 使用FAR指针和NEW运算符
606 释放内存至自由空间
607 理解C++中的引用
608 给函数传递引用
609 防止隐藏对象
610 用三种方法传递参数
611 使用引用的规则
612 函数可返回引用
613 使用INLINE关键字
614 使用C++的ASM关键字
615 用CIN读字符
616 用COUT写字符
617 文件结束测试
618 用ENDL产生新行
619 理解连接规范
620 理解重载
621 重载函数
622 重载函数的第二个例子
623 避免不明确的重载
624 使用C1N每次读一行
625 改变NEW运算符的缺省处理器
626 用SET NEW HANDLER函数设置NEW处理器
627 判断C++编译
628 理解C++中的结构
629 结构中定义函数成员
630 在结构内定义成员函数
631 在结构外定义成员函数
632 给成员函数传递参数
633 不同结构具有同名函数成员
634 同名成员不同函数
第十六章 对象
635 对象
636 把程序分解成对象
637 理解C++的类
638 理解封装
639 理解多态性
640 理解继承
641 类和结构的选择
642 创建简单类模型
643 实现简单类的程序
644 定义类构件
645 理解作用域分辨符
646 在声明中使用或省略类名
647 理解PUBLIC:标志
648 理解PRIVATE:标志
649 理解PROTECTED:标志
650 公有方法常称为接口函数
651 对象实例共享代码
652 全局分辨符
653 类初始化
654 另一种类初始化方法
655 理解静态类成员
656 静态数据成员
657 静态成员函数
658 成员函数声明
659 内联函数声明
660 决定内联和非内联函数的使用
661 类和联合
662 匿名联合
663 友元函数
第十七章 常见的类函数
664 构造函数
665 使用构造函数
666 构造函数的缺省参数
667 重载构造函数
668 获得重载函数的地址
669 析构函数
670 程序何时调用析构函数
671 使用复制构造函数
672 显式构造函数
673 局部类
674 构造函数和类数组
675 运算符重载
676 创建运算符成员函数
677 重载加运算符
678 重载前置和后置增量运算符
679 用友元函数重载运算符
680 用友元函数重载++或--运算符
681 用友元函数重载运算符的原因
682 重载NEW运算符
683 重载DELETE运算符
684 重载数组下标运算符[]
685 重载函数调用运算符()
686 重载指针运算符->
687 重载逗号运算符
688 取消输入前的空格
689 在头文件中定义类
690 创建初始化的类数组
691 内联类代码允许改变
692 静态存储区
第十八章 用C++输入输出
693 I/O流操作和STDIO同步
694 用IOS成员格式化输入和输出
695 设置格式标志
696 清除格式标志
697 重载SETF函数
698 检测当前格式标志
699 使用PRECISION函数
700 使用FILL函数
701 理解操纵算子
702 用操纵算子格式化I/O
703 重载抽取运算符
704 重载COUT的插入运算符的另一种方法
705 打开文件流
706 读和写文件流数据
707 把文件流操作放到一起
708 执行二进制拷贝操作
709 流缓冲类
710 用READ读二进制数据
711 用WRITE写二进制数据
712 使用GCOUNT成员函数
713 使用重载的GET 数
714 使用GETLINE方法
715 文件结束的检测
716 使用IGNORE函数
717 使用PEEK函数
718 使用PUTBACK函数
719 获得文件流的当前位置
720 控制文件流指针
721 用SEEKG和SEEKP实现随机访问
722 在文件内操纵文件指针位置
723 判断I/O流的当前状态
724 字符串流
725 用ISTRSTREAM写字符串
726 对输出数组使用PCOUNT
727 用IOS成员函数操纵流数组
728 使用STRSTREAM
729 随机访问流数组
730 对流数组使用操纵符
731 为字符串数组定制插入运算符
732 I/O流中使用动态数组
733 ENDS操纵符
734 对象调用另一对象
735 重温友元
736 声明READER类为友元
737 消除CLASS类名语句
738 限制友元访问
739 名字冲突及友元
第十九章 继承及多态性
740 C++中的继承
741 基类和派生类
742 派生类
743 基类及派生类的构造函数
744 使用受保护的成员
745 公有的和私有的基类继承
746 受保护的基类继承
747 多重继承
748 构造函数的顺序和基类
749 声明私有基类
750 解决类及其基类名字的冲突
751 如何为基类构造函数传递参数
752 派生类内的访问声明
753 用虚拟基类避免混淆
754 虚拟基类
755 派生类使用保护成员
756 定义静态类数据
757 初始化静态数据成员
758 直接访问静态数据成员
759 静态私有数据成员
760 静态成员函数
761 公有静态函数的直接访问
762 嵌套类
763 在方法函数中插入汇编语句
764 类成员可递归
765 THIS指针
766 指向类的指针
767 对不同的类使用相同的指针
768 使用指针时基类和派生类名字的冲突
769 继承虚拟属性
770 虚拟函数是分层的
771 实现多态性
772 纯虚函数
773 使用虚拟函数
774 先期和迟后联编演示
775 定义输出流操纵符
776 对类使用SIZEOF
777 PRIVATE、PUBLIC、PROTECTED也能用于结构
778 友元转换函数
779 判断运算符提高还是降低可读性
第二十章 通用函数及模板
780 模板
781 使用简单模板
782 支持多种类型的模板
783 显式重载通用函数
784 通用函数的限制
785 使用通用函数
786 通用冒泡排序函数
787 用通用函数压缩数组
788 模板同样消除类复制
789 通用类
790 创建含两个通用数据类型的通用类
791 创建含有参数的操纵符
792 通用数组类
第二十一章 异常处理及类型转换
793 异常处理
794 基本的异常处理形式
795 简单的异常处理器
796 THROW语句
797 异常具有特定类型
798 TRY块内的函数抛出异常
799 函数内的局部TRY块
800 程序何时执行CATCH
801 对单个TRY块使用多个CATCH语句
802 对异常使用省略符()
803 捕获单个TRY块的所有异常
804 捕获单个TRY块的显式和通用异常
805 异常的限制
806 重新抛出异常
807 异常处理的应用
808 使用缺省的函数参数
809 用缺省函数参数避免错误
810 缺省参数和函数重载
811 创建转换函数
812 使用转换函数提高类型的可移植性
813 C++中新的强制转换运算符
814 CONST CAST运算符
815 DYNAMIC CAST运算符
816 REINTERPRET CAST运算符
817 STATIC CAST运算符
818 名字空间
819 使用名字空间
820 对名字空间用Using语句
821 运行时类型标识
822 为运行时类型标识使用TYPEID
823 TYPE INFO类
824 MUTABLE关键字
825 在类内使用MUTABLE关键字
826 布尔数据类型
第二十二章 创建可重用的类
827 定义字符串类型的特性
828 创建STRINGS类
829 编写STRINGS类的构造函数
830 STRINGS类执行I/O操作
831 编写STRINGS类的赋值函数
832 重载+运算符以连接字符串对象
833 重载关系运算符
834 判断STRINGS对象的大小
835 把STRINGS对象转换成字符数组
836 用C++的类创建双向链表
837 双向链表类成员
838 GETNEXT和GETPREVIOUS函数
839 运算符重载函数
840 继承LIST OBJECT类
841 LINKED LIST类
842 LINKED LIST的STORE函数
843 LINK LIST的REMOVE函数
844 GETSTART和GETEND函数
845 以前向的顺序显示LINKED LIST
846 以反向顺序显示LINKED LIST
847 查找链表
848 实现LINKED LIST的简单程序
849 创建通用的双向链表类
850 通用LIST OBJECT类成员
851 通用LINKED LIST类
852 通用类用作字符链表
853 通用类用于结构
854 重载一比较运算符
855 通用链表的其他实现
856 对象用于STORE函数
857 编写判断链表长度的函数
第二十三章 标准模板库
858 标准模板库介绍
859 标准模板库头文件
860 容器
861 使用容器的例子
862 标准模板库的容器介绍
863 前向和可逆容器
864 标准模板库的序列容器
865 理解USING NAMESPACE STD语句
866 标准模板库的关联容器
867 迭代器
868 迭代器演示
869 更好地理解STL的输入和输出迭代器
870 STL的其他迭代器
871 理解定则
872 理解模式
873 STL包含的算法描述
874 STL的FOR EACH算法
875 STL的GENERATE N算法
876 STL的RANDOM SHUFFLE算法
877 PARTIAL SORT COPY算法
878 MERGE算法
879 向量
880 BIT VECTOR序列容器
881 简单BVECTOR演示
882 LIST类型
883 构造LIST对象
884 往链表中插入对象
885 使用ASSIGN成员函数
886 REMOVE和EMPTY成员函数
887 遍历LIST对象
888 SLIST类型
889 往SLIST序列容器中插入元素
890 DEQUE容器
891 使用DEQUE容器
892 ERASE和CLEAR成员函数
893 对DEQUE用REVERSE迭代器
894 管理DEQUE的大小
895 MAP对象
896 用成员函数管理MAP
897 控制MAP的大小及内容
898 理解SET(集合)
899 简单的SET演示
第二十四章 Windows编程入门
900 WIN32编程介绍
901 线程介绍
902 理解消息
903 父窗口和子窗口
904 创建一般的WINDOWS程序
905 资源文件
906 WINDOWS句柄
907 定义WINDOWS的句柄类型
908 GENERIC的头文件
909 回调函数
910 WINDOWS应用程序编程接口
911 更精细地查看GENERIC.CPP程序
912 WlNMAIN函数
913 窗口的创建
914 CREATEWINDOW函数
915 SHOWWINDOW函数
916 REGISTERCLASS函数
917 学习更多有关消息的知识
918 用TRANSLATEMESSAGE处理消息
919 用DISPATCHMESSAGE处理消息
920 LPCTSTR类型
921 DWORD类型
922 WINDOWS预定义的类
923 用预定义的类创建简单的窗口
924 创建窗口时WINDOWS发送WM CREATE消息
925 窗口及控件的格式
926 用扩展的格式创建窗口
927 销毁窗口
928 REGISTERCLASSEX API函数
929 用SETPROP为窗口附加信息
930 用ENUMPROPS列出窗口的属性
931 回调函数
932 MESSAGEBOX函数
第二十五章 消息及菜单
933 重温消息
934 消息的流动
935 MSG结构的构件
936 PEEKMESSAGE函数
937 POSTMESSAGE函数
938 SENDMESSAGE函数
939 REPLYMESSAGE函数
940 钩子消息
941 SETWlNDOWSHOOKEX函数
942 EXITWlNDOWSEX函数
943 菜单的类型
944 菜单的结构
945 在资源文件中创建菜单
946 POPUP和MENUITEM描述符
947 为应用程序的窗口增加菜单
948 在应用程序中改变菜单
949 菜单产生的消息
950 LOADMENU函数
951 MODIFYMENU函数
952 用ENABLEMENUITEM控制菜单
953 用APPENDMENU扩充菜单
954 用DELETEMENU删除指定的菜单
955 在菜单项中使用加速键
956 简单的加速表
957 更好地理解资源文件的结构
958 字符串表
959 定制的资源
960 用LOADSTRING把字符串表装入程序
961 列出资源文件的内容
962 对资源文件用ENUMRESOURCETYPES
963 用FINDRESOURCE把资源装入程序
第二十六章 对话框
964 对话框
965 定义对话框类型
966 对话框使用键盘
967 对话框模板的构件
968 创建特定的对话框模板
969 对话框定义的构件
970 定义对话框的控件
971 用DIALOGBOX宏显示对话框
972 对话框的消息循环
973 深入控件的处理
974 CREATEDIALOG宏
975 CREATEDIALOGPARAM函数
976 对话框的缺省消息处理程序
977 用DLGDIRLIST函数创建对话列表框
978 响应用户在列表框中的选择
979 关闭对话框
980 用户输入
981 响应鼠标事件
982 WM MOUSEMOVE消息
983 读取鼠标按键
984 响应键盘事件
985 虚键
986 使用虚键
987 进一步使用WM KEYDOWN消息
988 设置和返回鼠标的双击时间
989 交换鼠标按键
990 判断用户是否按了一个键
991 滚动条介绍
992 SHOWSCROLLBAR函数
993 滚动条的位置及范围
994 滚动条消息
995 获取滚动条的当前设置
996 滚动窗口内容
997 WM SIZE消息
998 WM PAINT消息
999 程序必须捕获的其他滚动条消息
1000 使滚动条有效和无效
1001 使用SCROLLDC函数
第二十七章 WINDOWS的内存管理
1002 WIN32的内存模型
1003 全局及局部内存
1004 虚拟内存
1005 重温堆
1006 从全局堆中分配内存块
1007 用GLOBALREALLOC动态改变堆的大小
1008 丢弃已分配的内存块
1009 使用GLOBALFREE函数
1010 GLOBALLOCK和GLOBALHANDLE
1011 检查计算机的内存
1012 在进程中创建堆
1013 用堆函数管理进程指定的内存
1014 检查从堆中分配的内存大小
1015 分配虚拟内存块
1016 更好地理解虚拟内存块
1017 释放虚拟内存
1018 管理虚拟内存页
第二十八章 进程及线程
1019 更好地理解进程
1020 创建进程
1021 结束进程
1022 产生子进程
1023 运行独立的子进程
1024 更好地理解线程
1025 创建简单线程的函数
1026 确定线程堆栈的大小
1027 获得当前线程或进程的句柄
1028 处理线程的执行时间
1029 管理多个线程的处理时间
1030 处理无句柄的异常
1031 结束线程
1032 确定线程或进程的ID
1033 理解WINDOWS的优先级类
1034 改变进程的优先级类
1035 设置线程的相对优先级
1036 获取线程的当前优先级
1037 获取线程的上下文
1038 线程的暂停及继续
1039 定义五个主要的同步对象
1040 创建临界区
1041 使用简单的临界区
1042 用WAITFORSINGLEOBJECT同步两个线程
1043 用WAITFORMULTIPLEOBJECTS同步多个线程
1044 创建互斥体
1045 使用信号量
1046 简单的事件处理程序
第二十九章 图形设备接口
1047 理解图形设备接口
1048 更好地理解设备描述表
1049 获取窗口的设备描述表
1050 为打印机创建设备描述表
1051 用CREATECOMPATIBLEDC创建内存设备描述表
1052 使用CREATEFONT函数
1053 使用ENUMFONTFAMILIES函数
1054 用CREATEFONTINDIRECT显示多个字体
1055 获取设备的能力
1056 用GETSYSTEMMETRICS函数分析窗口
1057 获取整个窗口的设备描述符
1058 释放设备描述表
第三十章 位图、图元文件及图标
1059 由设备描述表获得窗口的句柄
1060 创建位图
1061 显示位图
1062 创建DIB位图
1063 用某种模式填充矩形
1064 使用SETDIBITS
1065 用SETDIBITSTODEVICE在指定的设备上输出位图
1066 创建并显示图元文件
1067 枚举增强型图元文件
1068 使用GETWINMETAFILEBITS函数
1069 创建图标
1070 从资源中创建图标
1071 使用CREATEICONINDIRECT函数
1072 使用LOADICON函数
1073 用LOADIMAGE装入多种图形类型
第三十一章 WINDOWS的输入及输出
1074 管道、资源、设备及文件的介绍
1075 用CREATEFILE函数打开文件
1076 用WRITEFILE写文件
1077 用READFILE读文件
1078 关闭文件
1079 把文件映射成虚拟内存
1080 把文件的视图映射到当前的进程中
1081 打开有名的文件映射对象
1082 获取并改变文件的属性
1083 获取文件的大小
1084 获取文件的时间标志
1085 创建目录
1086 获取并设置当前的目录
1087 获取WINDOWS及系统的目录.
1088 删除目录
1089 拷贝文件
1090 移动及重命名文件
1091 删除文件
1092 获取临时路径
1093 创建临时文件
1094 CREATENAMEDPIPE函数
1095 连接命名管道
1096 调用命名管道
1097 断开与命名管道的连接
1098 使用异步输入及输出
1099 OVERLAPPED结构
1100 使用设备内核对象的异步I/O
1101 GETLASTERROR函数
1102 用FORMATMESSAGE格式化错误消息
1103 使用事件内核对象的异步I/0
1104 WAITFORMULTIPLEOBJECTS用于异步I/O
1105 I/O结束端口介绍
1106 警报I/O用于异步处理
1107 警报I/O仅用于WINDOWS NT
1108 READFILEEX及WRITEFILEEX
第三十二章 .NET环境
1109 .NET环境
1110 .NET环境的其他优势
1111 公共语言运行时间
1112 元数据
1113 中间语言
1114 .NET通用类型
1115 集合
1116 引用和变量类型
1117 反射
1118 交互管理数据
1119 .NET类架构
1120 创建和编译第一个C#程序
1121 使用Console.WriteLine函数
1122 在Console.WriteLine中使用转义序列
1123 使用Console.WriteLine显示数值
1124 使用占位符格式化输出
1125 在输出格式中指定精度
1126 使用###和000格式化输出
1127 C#的Main函数
1128 访问命令行变量
1129 C撑关键字
1130 必须给变量赋值
1131 使用未赋值变量作为参数
1132 C#不支持#define和#include命令
1133 定义只读变量
1134 在C#中创建枚举
1135 类型转换
1136 转换函数
1137 在C#中进行判断
1138 在C#中判断变量的值
1139 C#程序中的循环语句
1140 使用foreach遍历数组元素
1141 使用Console.ReadLine读取键盘输入
1142 使用Console.Read函数每次读取一个字符
1143 使用内部和外部参数
1144 处理可变的参数数量
1145 在C#中使用数组
1146 改变数组的长度
1147 在C#中使用字符串
1148 使用格式说明符来格式化字符串数据
1149 插入和删除子字符串
1150 判断字符串的开始与结束
1151 分割定界字符串
1152 在函数内改变字符串和数组
1153 创建自己的名字空间
1154 名字空间的嵌套
1155 C#不需要在参数列表中使用void
1156 在C#中重载函数
1157 C#的结构与类不同
1158 定义C#类
1159 使用new创建类实例
1160 使用C#公共访问说明符
1161 使用C#的private访问说明符
1162 强调变量的取值范围
1163 使用public和internal控制类的访问
1164 使用internal访问控制说明符
1165 使用构造器函数初始化成员
1166 使用this关键字
1167 C#支持静态类成员
1168 创建私有构造器
1169 使用static构造器方法
1170 重载类构造器函数
1171 使用解构器函数清除对象
1172 Finalize方法
1173 判断在堆中分配的空间
1174 强制垃圾收集器进行收集
1175 垃圾收集代
1176 调用基类构造器函数
1177 与C++不同,C#不支持多重继承
1178 构造器和解构器的执行
1179 使用密封类防止继承
1180 使用虚拟函数
1181 在C#中使用抽象类
1182 C#不支持友类
1183 使用反射查询类
1184 利用反射接收类域
1185 C#的重载运算符
1186 包装C#变量
1187 解包C#变量
1188 使用Stack类
1189 创建名字空间别名
1190 C#预处理
1191 预处理器区域
1192 使用is运算符
1193 类转换和as运算符
1194 C#不支持缺省参数值
1195 fixed关键字
1196 授权
1197 合成授权
1198 处理多点授权的返回值
1199 类属性
1200 继承属性
1201 使用多重属性
1202 创建只读属性
1203 C#索引
1204 System.Exception对象
1205 派生定制异常
1206 使用System.Exception类StackTmce方法
1207 C#接口
1208 实现接口
1209 实现多接口
1210 重新实现接口
1211 使用反射和接口
1212 .NET环境定义的关键接口
1213 判断类是否实现接口
1214 C#事件
1215 定义事件和事件授权
1216 事件处理
1217 创建多线程c#程序
1218 创建简单的多线程例子
1219 让线程休眠
1220 挂起、重启、终止线程执行
1221 线程竞争环境
1222 使用C#的lock语句保护资源
1223 使用Monitor类同步化线程
1224 使用Monitor.TryEnter防止线程中断
1225 控制线程优先权
1226 C#属性
1227 创建属性
1228 查询类属性信息
1229 使用多个属性
1230 使用基于XML的注释
1231 使用XML标签扩展程序的注释
1232 创建简单的Windows程序
1233 定制通用控件
1234 使用通用控件
1235 使用通用对话框
1236 回顾C#反射

本目录推荐