C/C++/C#程序员实用大全:C/C++/C#最佳编程指南(含1CD)

分类: 图书,计算机/网络,程序设计,C C++ C# VC VC++,
作者: [美]耶姆塞 著,张春晖 译
出 版 社: 水利水电出版社
出版时间: 2002-10-1字数: 1699000版次: 1页数: 1142印刷时间: 2002-10-1开本:印次:纸张: 胶版纸I S B N : 9787508411897包装: 平装编辑推荐
本书是目前最为全面的编程参考图书,本书为包括C#的新版本,对第一版中的实例进行了大量更新。本书由畅销书作家Kris Jamsa博士编著,是所有专业程序员的案头必备指南,同时也是初学编程语言人员的最佳教材。本书共有32章,提出了1700个问题,并以实例对其进行了详细讲解。
内容简介
本书通过对大量程序实例的分析,深入浅出地讲解了C/C++语言基本知识、编译方法和程序设计技术,并给出了众多的编程技巧与应用。全书首先介绍了C语言的基本知识,对C语言编程的实际方法、技巧,以及常见的问题和难点进行了详细阐述和解答;然后逐步过渡到C++编程与Windows编程,用较大的篇幅对它们进行了深入地剖析;最后介绍了基于.NET环境的C#编程。无论是C/C++的初学者还是资深程序员都能从中受益匪浅。
本书是广大程序员和编程自学者学习和掌握C/C++编程的优秀指南。
作者简介
Kris Jamsa:Ph.D.,MBA。编写了多达85种以上的计算机图书,累计销量数百万册。1992年创办Jamsa Press,出版计算机图书。其图书广泛销售于70多个国家和地区,并被翻译为28种语言。
目录
译者序
第一章 C语言入门
1 编程简介
2 创建ASCII码源文件
3 编译C程序
4 语法错误
5 典型的C程序结构
6 往程序里添加语句
7 在新的一行上显示输出结果
8 C语言区分大小写字母
9 逻辑错误BUG
10 程序开发过程
11 文件类型
12 进一步了解连接器
13 头文件
14 帮助编译器查找头文件
15 加速编译
16 注释程序
17 提高程序的可阅读性
18 注意编译器警告信息
19 控制编译器警告
20 用注释屏蔽警告
21 名字的重要性
22 分号的作用
23 变量
24 给变量赋值
25 变量类型
26 定义同一类型的多个变量
27 定义变量时加上注释
28 给变量赋初值
29 在定义时初始化多个变量
30 使用有意义的变量名
31 C关键字
32 整型变量
33 字符型变量
34 浮点型变量
35 双精度型变量
36 给浮点型变量赋值
37 类型标识符
38 无符号类型标识符
39 LONG长类型标识符
40 联合使用无符号和长类型标识符
41 使用大数值
42 寄存器类型标识符
43 短SHORT类型标识符
44 从类型申明中去掉INT
45 有符号类型示识符
46 多赋值运算符
47 把变量的值赋给另一种类型的变量
48 创建用户自己的类型
49 赋给十六进制或八进制值
50 溢出
51 精确度
52 赋值为引号或其他字符
53 PRINTF入门
54 使用PRINTF显示整型数值
55 打印八进制或十六进制整数
56 用PRINTF显示无符号整型数值
57 用PRINTF显示长整型数值
58 用PRINTF显示浮点型数值
59 用PRINTF显示字符型数值
60 用指数格式显示浮点数
61 显示浮点数
62 用PRINTF显示字符串
63 用PRINTF显示指针地址
64 在数值前添加正号和负号
65 用PRINTF格式化整数值
66 0填充整数输出
67 在八进制和十六进制数前显示前缀
68 用PRINTF格式化浮点数
69 格式化指数输出
70 左对齐PRINTF的输出
71 联合使用格式符
72 字符串的换行
73 显示NEAR和FAR字符
74 使用PRINTF的转义字符
75 判断PRINTF已显示的字符数目
76 使用PRINTF的返回值
77 使用ANSI设备驱动器
78 用ANSI驱动器清除屏幕显示
79 用ANSI驱动器显示屏幕颜色
80 用ANSI驱动器定位光标
81 在C中作基本的数学运算
82 模运算(取余运算)
83 运算符的优先级和结合性
84 强制操作符运算顺序
85 C的自增运算符
86 C的自减运算符
87 按位或运算
88 按位与运算
89 按位异或运算
90 “取反”运算
91 对变量的值进行运算
92 C的条件运算符
93 C的长度SIZEOF运算符
94 移位运算
95 位循环运算
96 条件运算符
97 循环控制
98 C如何表示真TRUE和假FALSE
99 用IF判断条件
100 简单语句和复杂语句
101 判断是否相等
102 关系判断
103 用逻辑与判断两个条件
104 用逻辑或判断两个条件
105 逻辑非运算
106 将条件结果赋值给变量
107 在复合语句中定义变量
108 使用缩进来提高程序的可读性
109 使用扩展CTRL+BREAK检查
110 判断浮点数
111 永远循环下去
112 赋值判断
113 IF-IF-ELSE语句
114 按规定次数执行语句
115 FOR语句的有些部分是可选择的
116 在FOR语句中赋值
117 控制FOR循环的增值
118 在FOR循环中使用字符型和浮点型数值
119 空循环
120 无穷循环
121 在FOR循环中使用逗号运算符
122 不要在FOR循环中改变控制变量的值
123 用WHILE循环重复执行一条或多条语句
124 WHILE循环的组成部分
125 使用DO重复执行一条或多条语句
126 C的CONTINUE语句
127 使用C的BREAK语句来结束循环
128 GOTO语句分支
129 判断多个条件
130 在SWITCH中使用BREAK
131 使用SWITCH语句的DEFAULT CASE
第二章 宏与常量
132 在程序中定义常量
133 宏与常量扩展
134 给常量和宏命名
135 使用-FILE-预处理器常量
136 使用-LINE-预处理器常量
137 改变预处理器的行计数
138 生成无条件预处理器错误
139 其他预处理器常量
140 记录预处理器的日期和时间
141 判断是否进行ANSIC编译
142 判断是C++还是C
143 取消宏或常量
144 比较宏与函数
145 编译器PRAGMAS
146 预定义值和宏
147 创建用户自己的头文件
148 使用#INCLUDE或#INCLUDE“FILENAME.H”
149 判断符号是否被定义
150 进行IF-ELSE预处理
151 更强大的预处理器条件判断
152 实现IF-ELSE和ELSE-IF预处理
153 定义需要多行的宏和常量
154 创建自定义宏
155 在宏定义中不要放置分号
156 创建MIN和MAX宏
157 创建SQUARE CUBE宏
158 注意宏定义中的空格
159 如何使用括号
160 宏是没有类型的
第三章 字符串
161 C字符串的形象化
162 编译器是如何表示字符串的
163 C是如何存储字符串的
164 ‘A’是如何区别于‘A’的
165 在字符串常量内表示引号
166 判断字符串的长度
167 使用STRLEN函数
168 将一个字符串的字符复制到另一个字符串中
169 将一个串的内容追加到另一个串上
170 给字符串追加N个字符
171 把一个字符串转移到另一个字符串
172 不要越过字符串的界限
173 判断两个字符串是否相同
174 比较字符串时忽略大小写
175 将字符串转换成大写或小写
176 获取字符串中第一次出现的某个字符
177 返回索引到串的首次出现
178 搜索字符在字符串中的末次出现
179 返回指向字符中末次出现的索引
180 使用FAR字符串
181 为FAR字符串编写字符串函数
182 计算字符串的内容反转
183 将字符串的内容反转
184 将某特定字符赋给整个字符串
185 比较两个字符串
186 比较两个字符中的前N个字符
187 不考虑大小写比较字符串
188 将字符串转换成数字
189 复制字符串的内容
190 从给定字符序列中查找字符的首次出现
191 在字符串中查找子字符串
192 计算子字符串出现的次数
193 给子字符串获取索引
194 获取子字符串的最右端出现
195 不使用%2格式标识符显示字符串
196 从字符串中删除子字符串
197 用另一个子字符串代替子字符串
198 转换数值的ASCII码形式
199 判断字符是否为字母数字
200 字符是否为字母
201 判断字符是否包含ASCII值
202 判断字符是否为控制符
203 判断字符是否为数字
204 判断字符是否为图形字符
205 判断字符是大写还是小写
206 判断字符是否可打印
207 判断字符是否为标点符号
208 判断字符是否包含空白符
209 判断字符是否为十六进制值
210 将字符转换成大写形式
211 将字符转换成小写形式
212 使用ASCII字符
213 将输出格式写进字符串变量
214 从字符串中读输入
215 标志字符串以节省空间
216 初始化字符串
第四章 函数
217 函数
218 在函数中使用变量
219 把MAIN当作函数
220 参数简介
221 使用多参数
222 老式C程序中的参数申明
223 函数返回值
224 RETURN语句
225 函数原型
226 运行时程序库
227 形参和实参
228 解决名称冲突
229 返回类型为非INT型的函数
230 局部变量
231 函数如何使用堆栈
232 函数的开销
233 C如何存储局部变量
234 申明全局变量
235 避免使用全局变量
236 解决全局和局部变量的名称冲突
237 更好地定义全局变量的有效范围
238 传值调用
239 使用传值调用防止参数值变化
240 传址调用
241 获取地址
242 使用变量的地址
243 改变参数的值
244 只改变指定参数
245 使用堆栈进行传址调用
246 记住函数变量的值
247 C是如何初始化静态变量的
248 使用PASCAL调用顺序
249 PASCAL关键字的影响
250 混合编程示例
251 CDECL关键字
252 递归函数
253 递归阶乘函数
254 另一个递归的例子
255 进一步理解递归
256 直接递归与间接递归
257 判断是否要使用递归
258 为什么递归函数慢
259 如何消除递归
260 将字符串传递给函数
261 传递指定的数组元素
262 形式参数中的CONST
263 使用CONST不会阻止参数值的修改
264 无界字符串的申明
265 指针的使用与字符串的申明
266 C是如何使用堆栈处理字符串参数的
267 外部变量
268 应用外部变量
269 外部静态变量
270 VOLATILE关键字
271 调用结构和基指针
272 调用汇编语言函数
273 从汇编语言函数中返回值
274 没有返回值的函数
275 不使用参数的函数
276 AUTO关键字
277 范围
278 范围的分类
279 名称空间和标识符
280 标识符的可见性
281 DURATION
282 支持参数个数可变的函数
283 支持个数可变的参数
284 VA-START、VA-ARG和VA-END是如何工作的
285 创建支持多参数多类型的函数
第五章 键盘操作
286 从键盘读入字符
287 显示字符输出
288 缓冲输入
289 将键盘输入赋组合字符串
290 联合使用GETCHAR和PUTCHA
291 记住GETCHAR和PUTCHAR都是宏
292 使用直接I/O读入字符
293 不显示字符的直接键盘输入
294 知道何时使用‘\R’和‘\N’
295 直接输出
296 将按键放回键盘缓存
297 使用CPPINTF快速格式化输出
298 快速格式化键盘输入
299 写字符串
300 使用直接I/O实现更快的字符串输出
301 从键盘读入字符串
302 以更快的速度从键盘输入字符串
303 以彩色显示输出
304 清除屏幕显示
305 删除当前行到行尾的内容
306 删除屏幕上的当前行
307 定位光标进行屏幕输出
308 判断行与列的位置
309 在屏幕上插入空行
310 将屏幕上的文本拷贝到缓冲区
311 将缓冲区中的文本拷贝到屏幕的指定位置
312 判断文本模式设置
313 控制屏幕颜色
314 指定背景色
315 使用TEXTCOLOR设置前景色
316 使用TEXTBACKGROUND设置背景色
317 控制文本的明暗度
318 决定当前文本模式
319 在屏幕上移动文本
320 定义文本窗口
第六章 数学
321 使用整型表达式的绝对值
322 使用ARCCOSINE反余弦
323 使用ARCSINE反正弦
324 使用ARCTANGENT反正切
325 求复数的绝对值
326 对浮点值进位舍入
327 使用角的余弦
328 使用角的双曲余弦
329 使用角的正弦
330 使用角的双曲正弦
331 使用角的正切
332 使用角的双曲正切
333 整数相除
334 使用指数
335 使用浮点型表达式的绝对值
336 使用浮点余数
337 使用浮点值的尾数和指数
338 计算X*2E的结果
339 计算自然对数
340 计算LOG10X的值
341 判断最大值与最小值
342 把浮点值分解成整数和小数部分
343 计算Xn的结果
344 计算1010的结果
345 生成随机数
346 将随机值映射到指定范围
347 给随机数生成器赋初值
348 计算数值的平方根
349 创建定制数学错误处理程序
第七章 文件、目录和磁盘
350 判断当前盘驱动器
351 选择当前驱动器
352 判断可用的盘空间
353 当心DBLSPACE
354 读入文件分配表FAT信息
355 磁盘ID
356 绝对扇区读写操作
357 进行BIOS磁盘I/O
358 测试软驱是否准备好
359 应用FOPEN打开文件
360 FILE结构
361 关闭一个打开的文件
362 每次读/写文件信息的一个字符
363 文件指针的位置指针
364 判断当前文件位置
365 文件流
366 文件翻译
367 CONFIG.SYS文件的FILES=条目
368 使用低级和高级文件I/O
369 文件句柄FILE HANDLES
370 进程文件表PROCESS FILE TABLE
371 进程文件表入口
372 系统文件表
373 显示系统文件表
374 从流指针中导出文件句柄
375 进行格式化文件输出
376 重命名文件
377 删除文件
378 判断程序如何访问文件
379 设置文件的访问模式
380 深入掌握文件属性
381 检测文件流错误
382 判断文件的长度
383 刷新I/O流
384 一次关闭所有被打开的文件
385 获取文件流的文件句柄
386 使用P-TMPDIR创建临时文件名
387 使用TMP或TEMP创建临时文件名
388 创建真正的临时文件
389 删除临时文件
390 为文件搜索命令路径
391 为文件搜索环境入口的子目录
392 打开TEMP目录中的文件
393 最小化文件I/O操作
394 在目录名中使用反斜杠
395 改变当前目录
396 创建目录
397 删除目录
398 删除目录树
399 建立完全路径名
400 分解目录路径
401 建立路径名
402 使用低级函数打开和关闭文件
403 创建文件
404 进行低级读写操作
405 判断文件是否结束
406 应用低级文件例行程序
407 为文件句柄翻译指定模式
408 打开LSEEK定位文件指针
409 打开多于20个的文件
410 使用DOS文件服务
411 获取文件的日期和时间标记
412 利用位域获取文件的日期与时间
413 设置文件的日期与时间标记
414 把文件日期和时间设置成当前日期和时间
415 每次读写一个字
416 改变文件的长度
417 控制文件打开操作的读写模式
418 将缓冲区赋给文件
419 分配文件缓冲区
420 利用MKTEMP创建唯一文件名
421 读写结构
422 从文件流中读取结构数据
423 复制文件句柄
424 强制文件句柄设置
425 把文件句柄和文件流联系起来
426 文件共享
427 打开文件进行共享访问
428 锁定文件内容
429 获取更精细的文件锁定控制
430 使用DOS目录
431 打开目录
432 读取目录入口
433 利用目录服务读C:\WINDOWS
434 反绕目录
435 递归读取磁盘文件
436 判断当前文件位置
437 打开共享文件流
438 在指定目录中创建唯一文件
439 创建新文件
440 利用DOS服务访问文件
441 强制二进制或文本文件打开
442 按行写文本
443 按行读文本
444 应用FGETS和FPUTS
445 强制二进制文件翻译
446 为什么TEXTCOPY不能拷贝二进制文件
447 判断文件结尾
448 舍弃字符
449 读取格式化的文件数据
450 根据当前位置定位文件指针
451 获取文件句柄信息
452 重新打开文件流
第八章 数组、指针和结构
第九章 DOS和BIOS服务
第十章 内存管理
第十一章 日期和时间
第十二章 重定向I/O和进程命令行
第十三章 编程工具
第十四章 高级C语言编程
第十五章 C++入门
第十六章 对象
第十七章 常见的类函数
第十八章 用C++输入输出
第十九章 继承及多态性
第二十章 通用函数及模板
第二十一章 异常处理及类型转换
第二十二章 创建可重用的类
第二十三章 标准模板库
第二十四章 Windows编程入门
第二十五章 消息及菜单
第二十六章 对话框
第二十七章 WINDOWS的内存管理
第二十八章 进程及线程
第二十九章 图形设备接口
第三十章 位图、图元文件及图标
第三十一章 WINDOWS的输入及输出
第三十二章 .NET环境
媒体评论