C

副标题:无

作   者:C++最佳编程指南

分类号:

ISBN:9787980028651

微信扫一扫,移动浏览光盘

简介

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

目录


译者序 第一章 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 重新打开文件流 第八章 数组、指针和结构 453 数组 454 申明数组 455 形象表示数组 456 数组的内存需求 457 初始化数组 458 访问数组元素 459 通过循环访问数组元素 460 使用常量定义数组 461 把一个数组传送给函数 462 把数组看作函数 463 区分字符串数组 464 在堆栈中传送数组 465 判断数组能存放多少个元素 466 为大数组使用HUGE内存模式 467 权衡数组与动态存储的利弊 468 多维数组 469 行与列 470 访问二维数组的元素 471 给二维数组元素赋初值 472 判断多维数组占用的内存 473 通过循环显示二维数组 474 遍历三维数组 475 初始化多维数组 476 把二维数组传送给函数 477 把多维数组当作一维数组 478 C是如何存放多维数组的 479 按行存放与按列存放 480 以数组为成员的结构数组 481 联合 482 使用联合节省内存 483 使用REGS——一种典型的联合 484 应用REGS联合中 485 位字段结构 486 形象表示位字段结构 487 位字段结构的取值范围 488 在数组中查找指定的值 489 对分查找 490 应用对分查找法 491 对数组进行排序 492 冒泡排序法 493 应用冒泡排序法 494 选择排序法 495 应用选择排序法 496 SHELL希尔排序法 497 应用SHELL排序法 498 快速排序法 499 应用快速排序法 500 上述排序方法的遗留问题 501 对字符串数组排序 502 利用LFIND搜索字符串 503 利用LSEARCH搜索数值 504 利用BSEARCH搜索已排序数组 505 利用QSORT对数组排序 506 判断数组元素的个数 507 把指针理解为地址 508 判断变量的地址 509 C是如何把数组当成指针的 510 对数组应用取地址运算符 (&) 511 申明指针变量 512 间接访问指针 513 使用指针值 514 指针与函数参数的使用 515 指针运算 516 指针的增值与减值 517 联合应用指针引用与增值 518 利用指针遍历数组 519 利用返回值为指针的函数 520 创建返回值为指针的函数 521 指针数组 522 形象表示字符串数组 523 遍历字符串数组 524 把字符串数组当成指针 525 使用指向一个指向字符串的指针的指针 526 利用指针申明字符串常量 527 VOID类型指针 528 创建指向函数的指针 529 使用指向函数的指针 530 使用三级指针 531 结构 532 结构是变量申明的模板 533 结构标记是结构的名称 534 用不同的方式申明结构 535 结构成员 536 形象表示结构 537 应用结构 538 把结构传递给函数 539 在函数内部改变结构 540 (*point).member间接引用 541 使用pointer-->member格式 542 使用无标记结构 543 结构定义的范围 544 初始化结构 545 进行结构I/O 546 使用嵌套结构 547 包含数组的结构 548 创建结构数组 第九章
DOS和BIOS服务 549 DOS系统服务 550 BIOS服务 551 寄存器 552 标志寄存器 553 软件中断 554 利用BIOS访问指针 555 CONTROL+BREAK信息 556 可能的DOS副作用 557 暂时挂起程序 558 控制声音 559 获取国家专用的信息 560 磁盘传输地址 561 访问和控制磁盘传输区 562 BIOS键盘服务 563 获取BIOS设备列表 564 控制串行口I/O 565 利用BDOS访问DOS服务 566 获取扩展DOS错误信息 567 判断BIOS常规内存数量 568 创建远指针FAR PRINTER 569 把远端地址分解为段地址和偏移地址 570 判断自由核心内存 571 读段寄存器设置 572 内存的类型 573 常规内存 574 常规内存的分布 575 访问常规内存 576 为什么PC和DOS限制于1MB 577 从段和偏移量中产生地址 578 扩充内存 579 使用扩充内存 580 扩展内存 581 实模式和保护模式 582 访问扩展内存 583 高端内存区 584 堆栈 585 各种堆栈配置 586 判断程序的当前堆栈大小 587 使用-STKLEN控制堆栈空间 588 给内存区域赋值 589 拷贝内存区域 590 拷贝内存区域直到某指定字节 591 比较两个无符号字符数组 592 交换两个相邻字符串字节 593 分配动态内存 594 再谈类型转换 595 不再需要时释放内存 596 利用CALLOC函数分配内存 597 堆 598 解决64KB堆限制 599 从堆栈中分配内存 600 分配巨型数据 601 改变被分配内存区域的大小 602 BRK函数 603 检测堆 604 快速堆检测 605 填充自由堆空间 606 检测特定的堆入口 607 遍历堆入口 608 访问指定内存单元 609 向内存中置数 610 PC端口 第十章 内存管理 611 访问端口值 612 CMOS 613 内存模式 614 微型内存模式 615 小型内存模式 616 中型内存模式 617 压缩内存模式 618 大型内存模式 619 巨型内存模式 620 判断当前的内存模式 第十一章 日期和时间 621 获取当前日期与时间 622 将日期和时间从秒的形式转换成ASCII码 623 DAYLIGHT SAVINGS ADJUST MENT 624 延迟若干毫秒 625 判断程序的耗时 626 比较两个时间 627 获取数据串 628 获取时间串 629 读BIOS计时器 630 使用当地时间 631 使用格林威治平时 632 获取DOS系统时间 633 获取系统日期 634 设置DOS系统时间 635 设置DOS系统日期 636 把DOS日期转换为UNIX格式 637 利用TIMZONE计算时差 638 判断当前时区 639 利用TZSET设置时区区域 640 利用TZ环境入口 641 从用户程序中设置TZ环境入口 642 获取时区信息 643 以秒钟的形式设置自1/2/1970午夜以来的系统时间 644 把日期转换成自1/1/1970以来的秒数 645 判断日期的儒略历日期 646 创建格式化日期和时间串 647 PC时钟类型 第十二章 重定向I/O和进程命令行 648 等候按键 649 提醒用户输入密码 650 自己编写密码函数 651 输出重定向 652 输入重定向 653 联合使用INPUT和OUTPUT重定向 654 利用STDOUT和STDIN 655 管道运算符 656 GETCHAR和PUTCHAR 657 对重定向输入进行编号 658 确保信息出现在屏幕上 659 自定义MORE命令 660 显示重定向行的数目 661 显示得定向字符的个数 662 创建定时的MORE命令 663 防止I/O重定向 664 应用STDPRN文件句柄 665 把重定向输出分割到一个文件中 666 应用STDAUX文件句柄 667 在重定向输入人寻找子串的出现 668 显示重定义输入的头N行 669 命令行变元 670 显示命令行变元的个数 671 显示命令行 672 使用引号内的命令行变元 673 从命令行中显示文件内容 674 把ARGV当作指针 675 C是如何知道命令行的 676 环境 677 把ENV当作一个指针 678 对MAIN的参数使用VOID 679 使用命令行数字 680 出口状态值 681 为出口状态过程使用RETURN 682 判断是否把MAIN申明为VOID 683 在环境中搜索特定入口 684 DOS是如何对待环境的 685 应用ENVIRON全局变量 686 给当前环境添加入口 687 给DOS环境添加元素 688 退出当前程序 689 定义在程序结束时执行的函数 第十三章 编程工具 690 库 691 重复使用目标代码 692 编译C和OBJ文件时出现的问题 693 创建库文件 694 常用的库操作 695 列出库文件中的子例行程序 696 利用库减少编译时间 697 库管理程序的其他功能 698 连接器 699 连接器的功能 700 使用连接映像 701 使用连接器响应文件 702 使用MAKE命令简化应用程序的创建 703 生成一个简单的MAKE文件 704 通过MAKE使用多依赖性文件 705 说明用户的MAKE文件 706 MAKE和命令行 707 在MAKE文件中放置多个依赖性 708 显现的和隐含的MAKE法则 709 使用MAKE宏 710 预定义MAKE宏 711 用MAKE执行条件进程 712 验证一个MAKE宏 713 再次包含一个MAKE文件 714 使用MAKE的宏修饰符 715 因错误结束MAKE文件 716 关闭命令显示 717 使用文件BUILTINS.MAK 718 在MAKE中执行出口状态进程 719 同时激活和改变一个宏 720 为多个依赖文件执行一个MAKE命令 第十四章 高级C语言编程 721 判断是否有数学协处理器 722 理解CTYPEH,ISTYPE宏 723 控制直接的视像 724 检查系统和路径错误 725 显示预定义的错误信息 726 决定操作系统版本号 727 理解可移值性 728 执行一个非本地的GOTO 729 获得进程ID(PID) 730 激活一个内部的DOS命令 731 使用-PSP全局变量 732 在变量申明中使用CONST修饰符 733 使用枚举类型 734 放置一个枚举类型来使用 735 理解一个枚举值 736 分配一个特殊的值给枚举类型 737 保存和恢复寄存器 738 动态列表简介 739 申明一个链接的列表结构 740 建立一个链接的列表 741 一个简单的链表例子 742 理解链表转移 743 创建一个更有用的列表 744 增加一个列表入口 745 插入一个列表入口 746 显示一个存储的目录 747 从一个列表中删除一个元素 748 使用一个双向链表 749 创建一个简单的双向链表 750 理解NODE-->PREVIOUS-->NEXT 751 从一个双向链表中移走一个元素 752 在一个双向链表中插入一个元素 753 理解子进程 754 派生一个子进程 755 使用其他的SPAWNLXX函数 756 使用SPAWNVXX函数 757 执行一个子进程 758 使用其他的EXECLXX函数 759 使用EXECVXX函数 760 理解覆盖 761 理解中断 762 PC机的中断 763 使用中断关键字 764 判断一个中断向量 765 设置一个中断向量 766 使能与禁止中断 767 生成简单的中断处理器 768 链接一个二次中断 769 生成一个中断 770 捕获PC机时钟 771 理解致命错误 772 C语言中的致命错误处理器 773 一个更完全的致命错误处理器 774 恢复改变过的中断 775 生成一个Ctrl+Break处理器 776 在用户的致命错误处理器使用DOS服务 777 使用指令集选择改善性能 778 直接插入内部函数 779 使能和禁止内在函数 780 理解快速函数调用 781 -FASTCALL参数传递的法则 782 理解不变代码 783 理解冗载入禁止 784 理解代码紧缩 785 理解循环紧缩 786 理解循环引入和强度削减 787 消除普通的子表达式 788 标准C语言转换 789 理解C语言的4个基本类型 790 基本类型与派生类型 791 理解初始化值 792 理解连接 793 理解临时申明 794 申明和定义 795 理解左值LVALUE 796 理解右值RVALUE 797 使用段寄存器关键字 798 谨慎使用远指针 799 理解正常化的指针 800 数学协处理器语句 801 理解变量中的CDECL和PASCAL 802 防止循环包含 第十五章 C++入门 803 C++介绍 804 C++源文件的差异 805 从简单的C++程序开始 806 理解COUT I/O流 807 使用COUT输出值和变量 808 用COUT连接不同的数据类型 809 显示十六进制和八进制数值 810 重定向COUT 811 如果钟情PRINTF,使用PRINTF 812 输出 CERR 813 用CIN得到输入 814 CIN不要使用指针 815 理解CIN如何选择数据域 816 理解输入输出流如何获得变量类型 817 使用CLOG实现输出 818 CIN、OCUT、CERR和CLOG是类的实例 819 使用FLUSH操纵符快速输出 820 理解ISOTREAM.H头文件包含的内容 821 C++需要函数原型 822 C++增加的新关键字 823 C++支持匿名联合 824 分辨全局范围 825 提供缺省参数值 826 控制COUT的输出宽度 827 使用SETW设置COUT宽度 828 指定COUT的填充字符 829 左对齐和右对齐COUT的输出 830 控制COUT显示浮点数字的数目 831 以小数或科学记数格式显示数值 832 恢复COUT至默认值 833 设置输入输出基数 834 在需要的地方定义变量 835 在函数原型中放置默认参数值 836 使用按位运算符及COUT 837 理解迟缓或短路计算 838 在C++中使用CONST关键字 839 在C++中使用ENUM关键字 840 理解自由空间 841 用NEW分配内存 842 为多个数组分配内存 843 无自由空间的测试 844 关于堆空间 845 使用FAR指针和NEW运算符 846 释放内存至自由空间 847 理解C++中的引用 848 给函数传递引用 849 防止隐藏对象 850 用三种方法传递参数 851 使用引用的规则 852 函数可返回引用 853 使用INLINE关键字 854 使用C++的ASM关键字 855 用CIN读字符 856 用COUT写字符 857 简单过滤器程序 858 简单的TEE命令 859 简单的FIRST 860 更好的FIRST命令 861 文件结束测试 862 用ENDL产生新行 863 理解连接规范 864 理解重载 865 重载函数 866 重载函数的第二个例子 867 避免不明确的重载 868 使用CIN每次读一行 869 在循环中使用CIN.GETLINE 870 改变NEW运算符的缺省处理器 871 用SET-NEW-HANDLER函数设置NEW处理器 872 判断C++编译 873 理解C++中的结构 874 结构中定义函数成员 875 在结构内定义成员函数 876 在结构外定义成员函数 877 给成员函数传递参数 878 同一结构的多个变量 879 不同结构具有同名函数成员 880 同名成员不同函数 第十六章 对象 881 理解对象 882 理解面向对象编程 883 理解为什么使用对象 884 把程序分解成对象 885 理解对象和类 886 理解C++的类 887 理解封装 888 理解多态性 889 理解继承 890 类和结构的选择 891 创建简单类模型 892 实现简单类的程序 893 定义类构件 894 理解作用域分辨符 895 在申明中使用或省略类名 896 理解PUBLIC:标志 897 理解信息隐藏 898 理解PRIVATE:标志 899 理解PROTECTED:标志 900 使用公用和私数据 901 决定什么隐藏什么公开 902 公用方法常称为接口函数 903 在类外定义类函数 904 在类的内部和外部定义方法 905 理解对象实例 906 对象实例共享代码 907 存取类成员 908 全局分辨符 909 类初始化 910 另一种类初始化方法 911 理解静态类成员 912 静态数据成员 913 静态成员函数 914 成员函数申明 915 内联函数申明 916 决定内联和非内联函数的使用 917 类和联合 918 匿名联合 919 友元函数 920 友元类 第十七章 常见的类函数 921 构造函数 922 使用含参数的构造函数 923 使用构造函数 924 程序何时执行构造函数 925 使用含参数的构造函数 926 在构造函中解决名字冲突 927 用构造函数分配内存 928 方便简洁地处理内存分配 929 构造函数的缺省参数 930 重载构造函数 931 获得重载函数的地址 932 使用含单个参数的构造函数 933 析构函数 934 使用析构函数 935 为何使用析构函数 936 程序何时调用析构函数 937 使用复制构造函数 938 显示构造函数 939 类作用域 940 嵌套类 941 局部类 942 成员名和参数名冲突的解决 943 创建类变量数组 944 构造函数和类数组 945 运算符重载 946 创建运算符成员函数 947 重载加运行符 948 重载减运算符 949 重载前置和后置增量运算符 950 重载前置和后置减量运算符 951 重温运算符重载运算符 952 用友元函数重载运算符 953 友元函数重载运算符的限制 954 用友元函数重载++或-运算符 955 用友元函数重载运算符的原因 956 重载NEW运算符 957 重载DELETE运算符 958 为数级重载NEW或DELETE 959 重载数组下标运算符[] 960 重载函数调用运算符( ) 961 重载指针运算符-> 962 重载逗号运算符 963 抽象 964 为类指针分配内存 965 释放类指针 966 取消输入前的空格 967 类库 968 在头文件中定义类 969 类成员函数使用INLINE关键字 970 类数组初始化 971 类数组的释放 972 创建初始化的类数组 973 用多参数的构造函数初始化数组 974 创建初始化和未初始化数组 975 使用类数组 976 数组如何使用内存 977 内联类代码允许改变 978 静态存储区 第十八章 用C++输入输出 979 I/O流操作和STDIO同步 980 C++的I/O流 981 C++的输入流 982 C++的输入流 983 用IOS成员格式化输入和输出 984 设置格式标志 985 清除格式标志 986 重载SETF函数 987 检测当前格式标志 988 设置所有标志 989 使用PRECISION函数 990 使用FILL函数 991 理解操纵算子 992 用操纵算子格式化I/O 993 比较操纵算子和成员函数 994 重载抽取运算符 995 重载COUT的插入运算符的另一种方法 996 创建自己的抽取函数 997 创建自己的操纵算子函数 998 抽取函数演示 999 创建自己的操纵算子函数 1000 创建无参数的操纵算子 1001 使用有参数的操纵算子 1002 老式流类库 1003 打开文件流 1004 关闭文件流 1005 读和写文件流数据 1006 检查文件操作的状态 1007 把文件流操作放到一起 1008 执行二进制拷贝操作 1009 流缓冲类 1010 简单的流缓冲例子 1011 用READ读二进制数据 1012 用WRITE写二进制数据 1013 使用GCOUNT成员函数 1014 使用重载的GET函数 1015 使用GETLINE方法 1016 文件结束的检测 1017 使用IGNORE函数 1018 使用PEEK函数 1019 使用PUTBACK函数 1020 获得文件流的当前位置 1021 控制文件流指针 1022 用SEEKG和SEEKP实现随机访问 1023 在文件内操纵文件指针位置 1024 判断I/O流的当前状态 1025 数组I/O类 1026 字符串流 1027 用ISTRSTREAM写字符串 1028 更好理解OSTRSTREAM 1029 使用重载ISTRSTREAM形式 1030 对输出数组使用PCOUNT 1031 用IOS成员函数操纵流数组 1032 随机访问流数组 1033 对流数组使用操纵符 1034 为字符串数组定制插入运算符 1035 为流数组定制抽取运算符 1036 为流数组定制抽取运算符
1037 I/O流中使用动态数组 1038 流数组格式化 1039 ENDS操纵符 1040 对象调用另一对象 1041 为编译器表明类 1042 重漫友元 1043 申明READER类为友元 1044 另一个友元类演示程序 1045 消除CLASS类名语句 1046 限制友元访问 1047 名字冲突及友元 第十九章节 继承及多态性 1048 C++中的继承 1049 基类和派生类 1050 派生类 1051 基类及派生类的构造函数 1052 使用受保护的成员 1053 何时使用受保护成员 1054 公用的和私有的基类继承 1055 受保护的基类继承 1056 多重继承 1057 简单的多重继承 1058 构造函数的顺序和基类 1059 申明私有基类 1060 析构函数和多重继承 1061 基类和派生类间的名字冲突 1062 解决类及其基类名字的冲突 1063 继承类何时执行构造函数 1064 派生类构造函数演示 1065 如何为基类构造函数传递参数 1066 派生类内的访问申明 1067 使用派生类的访问申明 1068 用虚拟基类避免混淆 1069 虚拟基类 1070 互为友元 1071 派生类如何成为基类 1072 派生类使用保护成员 1073 定义静态类数据 1074 初始化表态数据成员 1075 直接访问静态数据成员 1076 静态私有数据成员 1077 静态成员函数 1078 公用静态函数的直接访问 1079 类成员使用增强类型数据 1080 嵌套类 1081 子类和超类 1082 在方法函数中插入汇编语句 1083 类成员可递归 1084 THIS指针 1085 THIS指针与其他指针的不同 1086 先期和迟后联编 1087 指向类的指针 1088 对不同的类使用相同的指针 1089 使用指针时基类和派生在各字的冲突 1090 虚拟函数 1091 继承虚拟属性 1092 虚拟函数是分层的 1093 实现多态性 1094 纯虚函数 1095 抽象类 1096 使用虚拟函数 1097 深入先期和迟后联编 1098 行期联编和后联编间的判定 1099 先期和迟后联编演示 1100 定义输出流操纵符 1101 查看IOSTREAM.H的时机已成熟 1102 对类使用SIZEOF 1103
PRIVATE、PUBLIC、PROTETED也能用于结构 1104 类转换 1105 在构造函数中转换数据 1106 一个类赋给另一个类 1107 友元转换函数 1108 判断运算符提高还是降低可读性 第二十章 通用函数及模板 1109 模板 1110 使用简单模板 1111 更好地理解通用函数 1112 支持多种类型的模板 1113 多种通用类型模板的更多知识 1114 显示重载通用函数 1115 通用函数的限制 1116 使用通用函数 1117 通用冒泡排序函数 1118 用通用函数压缩数组 1119 何处放置模板 1120 模板同样消除类复制 1121 通用类 1122 使用通用类 1123 创建含两个通用数据类型的通用类 1124 创建含参数的操纵符 1125 通用数组类 第二十一章 异常处理及类型转换 1126 异常处理 1127 基本的异常处理形式 1128 简单的异常处理器 1129 THROW语句 1130 异常具有特定类型 1131 TRY块内的函数抛出异常 1132 函数内的局部TRY块 1133 程序何时执行CHTCH 1134 对单个TRY块使用多个CATCH语句 1135 对异常使用省略符(……) 1136 捕获单个TRY块的所有异常 1137 捕获单个TRY块的显示和通用异常 1138 异常的限制 1139 重新抛出异常 1140 异常处理的应用 1141 使用缺省的函数参数 1142 用缺省函数参数避免错误 1143 缺省参数和函数重载 1144 创建转换函数 1145 使用转换函数提高类型的可移值性 1146 转换函数和重载函数 1147 C++中新的强制转换运算符 1148 CONST-CAST运算符 1149 DYNAMIC-CAST运算符 1150 REINTERPRET-CAST运算符 1151 STATIC-CAST运算符 1152 名字空间 1153 使用名字空间 1154 对名字空间用Using语句 1155 运行时类型标识 1156 为运行时类型标识使用TYPEID 1157 TYPE-INFO类 1158 MUTABLE关键字 1159 在类内使用MUTABLE关键字 1160 思考MUTABLE关键字 1161 布尔数据类型介绍 1162 使用布尔数据类型 第二十二章 创建可重用的类 1163 创建字符串类型 1164 定义字符串类型的特性 1165 创建STRINGS类 1166 编写STRINGS类的构造函数 1167 STRINGS类执行I/O操作 1168 编写STRINGS类的赋值函数 1169 重载+运算符以连接字符串对象 1170 从STRINGS对象中移走字符串 1171 重载关系运算符 1172 判断STRINGS对象的大小 1173 把STRINGS对象转换成字符数组 1174 把STRINGS对象用作字符数组 1175 演示STRINGS对象 1176 为STRINGS类创建头文件 1177 另一个STRING示例 1178 用C++的类创建双向链表 1179 双向链表类成员 1180 GETNEXT和GETPROEVIOUS函数 1181 运算符重载函数 1182 继承LIST-OBJECT类 1183 LINKED-LIST类 1184 LINKED-LIST的STORE函数 1185 LINK-LIST的REMOVE函数 1186 GETSTART和GETEND函数 1187 以前向的顺序显示LINKED-LIST 1188 以反向顺序显示LINKED-LIST 1189 查找链表 1190 实现LINKED-LIST的简单程序 1191 创建通用的双向链表类 1192 通用LIST-OBJECT类成员 1193 通用LINKED-LIST类 1194 通用类用作字符链表 1195 通用类用于DOUBLE链表 1196 通用类用于结构 1197 重载=比较运算符 1198 通用链表的其他实现 1199 对象用于STORE函数 1200 编写判断链表长度的函数 第二十三章 标准模板库 1201 标准模板库介绍 1202 标准模板库头文件 1203 容器 1204 使用容器的例子 1205 标准模板库的容器介绍 1206 前向和可逆容器 1207 标准模板库的序列容器 1208 理解USING NAMESPACE STD语句 1209 标准模板库的关联容器 1210 迭代器 1211 迭代器演法 1212 更好地理解STL的输入和输出迭代器 1213 STL的其他迭代器 1214 理解定则 1215 理解模式 1216 算法 1217 STL算法的另一个演示 1218 STL包含的算法描述 1219 STL的FOR-EACH算法 1220 STL的GENERATE-N算法 1221 STL的RANDOM-SHUFFLE算法 1222 PARTIAL-SORT-COPY算法 1223 MERGE算法 1224 INNER-PRODUCT算法 1225 向量 1226 另一个简单向量程序 1227 向量和C数组的比较 1228 BIT-VECTOR序列容器 1229 简单BVECTOR演示 1230 LIST类型 1231 LIST容器的通用构件 1232 构造LIST对象 1233 往链表中插入对象 1234 使用ASSIGN成员函数 1235 REMOVE和EMPTY成员函数 1236 遍历LIST对象 1237 SLIST类型 1238 往SLIST序列容器中插入元素 1239 DEQUE容器 1240 使用DEQUE容器 1241 ERASE和CLEAR成员函数 1242 对DEQUE使用[]数组运算符 1243 对DEQUE用REVERSE迭代器 1244 管理DEQUE的大小 1245 MAP对象 1246 简单的MAP示例 1247 用成员函数管理MAP 1248 控制MAP的大小及内容 1249 理解SET集合 1250 简单的SET演示 第二十四章 Windows编程入门 1251 WIN32编程介绍 1252 WINDOWS程序和DOS程序之间的不同点 1253 线程介绍 1254 理解消息 1255 窗口的构件 1256 父窗口和子窗口 1257 创建一般的WINDOWS程序 1258 资源文件 1259 WINDOWS句柄 1260 定义WINDOWS的句柄类型 1261 GENERIC的头文件 1262 回调函数 1263 WINDOWS应用程序编程接口 1264 更精细地查看GENERIC.CPP程序 1265 WINMAIN函数 1266 窗口的创建 1267 CREATEWINDOW函数 1268 SHOWWINDOW函数 1269 REGITERCLASS函数 1270 学习更多有关消息的知识 1271 用TRANSLATEMESSAGE处理消息 1272 用DISPATCHMESSAGE处理消息 1273 简单WINDOWS程序的组成 1274 LPCTSTR类型 1275 DWORD类型 1276 WINODWS预定义的类 1277 用预定义的类创建简单的窗口 1278 创建窗口时WINDOWS发送WN-CREATE消息 1279 窗口及控件的格式 1280 窗口及控件的格式 1281 用扩展的格式创建窗口 1282 销毁窗口 1283 REGISTERCLASSEX API函数 1284 用SETPROP为窗口附加信息 1285 用ENUMPROPS列出窗口的属性 1286 回调函数 1287 MESSAGEBOX函数 第二十五章 消息及菜单 1288 重温消息 1289 消息的流动 1290 MSG结构的构件 1291 PEEKMESSAGE函数 1292 POSTMESSAGE函数 1293 SENDMESSAGE函数 1294 REPLYMESSAGE函数 1295 钩子消息 1296 SETWINDOWSHOOKEX函数 1297 EXITWINDOWSEX函数 1298 菜单的类型 1299 菜单的结构 1300 在资源文件中创建菜单 1301 POPUP和MENUTTEM描述符 1302 为应用程序的窗口增加菜单 1303 在应用程序中改变菜单 1304 菜单产生的消息 1305 LOADMENU函数 1306 MODIFYMENU函数 1307 用ENABLEMENUITEM控制菜单 1308 用APPENDMENU扩充菜单 1309 用DELETEMENU删除指定的菜单 1310 在菜单项中使用加速键 1311 简单的加速表 1312 更好地理解资源文件的结构 1313 字符串表 1314 定制的资源 1315 用LOADSTRING把字符串表装入程序 1316 列出资源文件的内容 1317 对资源文件用ENUMRESOURETYPES 1318 用FINDRESOURCE把资源装入程序 第二十六章 对话框 1319 对话框 1320 定义对话框类型 1321 对话框使用键盘 1322 对话框模板的构件 1323 创建特定的对话框模板 1324 对话框定义的构件 1325 定义对话框的控件 1326 用DIALOGBOX宏显示对话框 1327 对话框的消息循环 1328 深入控件处理 1329 CREATEDIALOG宏 1330 CREATEDIALOGPARA函数 1331 对话框的缺省消息处理程序 1332 用DLGDIRLIST函数创建对话列表框 1333 响应用户在列表框中的选择 1334 关闭对话框 1335 用户输入 1336 响应鼠标事件 1337 WM-MOUSEMOVE消息 1338 读取鼠标按键 1339 响应键盘事件 1340 虚键 1341 使用虚键 1342 进一步使用WM-KEYDOWN消息 1343 设置和返回鼠标的双击时间 1344 交换鼠标按键 1345 判断用户是否按了一个键 1346 滚动条介绍 1347 理解不同的滚动条类型 1348 SHOWSCROLLBAR函数 1349 滚动条的位置及范围 1350 滚动条消息 1351 获取滚动条的当前设置 1352 滚动窗口内容 1353 WM-SIZE消息 1354 WM-PAINT消息 1355 程序必须捕获的其他滚动条消息 1356 使滚动条有效和无效 1357 使用SCROLLDC函数 第二十七章 WINDOWS的内存管理 1358 WIN 32的内存模型 1359 全局及局部内存 1360 虚拟内存 1361 重温堆 1362 从全局

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

C
    • 名称
    • 类型
    • 大小

    联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,可直接在线浏览

    loading icon