《C语言常用算法与子程序》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:尹彦芝等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1991
  • ISBN:7302009163
  • 页数:598 页
图书介绍:

第一章 Pop-up和Pull-down菜单 1

1.1 什么是Pop-up和Pull-down菜单 1

目录 1

1.2 显示适配器简介 2

1.3 通过BIOS 对屏幕进行操作 3

1.3.1 使用INT86()函数 3

1.3.2 保存屏幕 4

1.3.3 恢复屏幕 5

1.4 建立Pop-up菜单 6

1.4.1 显示一个菜单 7

1.4.2 显示菜单的边框 8

1.4.3 接受用户的选择 8

1.4.4 Pop-up函数 12

1.4.5 一个完整的Pop-up菜单程序实例 13

1.5 直接存取显示RAM 21

1.5.2 修改save video和restore video函数 23

1.5.1 确定显示RAM的地址 23

1.5.3 改进后的完整的Pop-up菜单程序实例 25

1.6 建立Pull-down菜单 33

1.6.1 菜单框架 34

1.6.2 建立一个菜单框架 34

1.6.3 Pull-down函数 36

1.6.4 恢复屏幕 37

1.6.5 一个使用Pull__down菜单的完整示例程序 37

第二章 Pop-up窗口 50

2.1 Pop-up窗口原理 50

2.2 窗口数据结构及其建立 51

2.2.1 窗口框架 51

2.2.2 建立一个窗口框架 51

2.3 窗口的激活和撤消 53

2.4.1 窗口光标定位函数 55

2.4 窗口输入输出函数 55

2.4.2 window__getche函数 56

2.4.3 window__gets函数 57

2.4.4 window__putchar函数 58

2.4.5 window__puts函数 59

2.4.6 其它处理屏幕的函数 60

2.5 实时改变窗口的大小和位置 62

2.6 建立和使用Pop-up窗口的应用程序 66

2.6.1 十进制到十六进制的转换 66

2.6.2 四功能计算器 67

2.6.3 Pop-up记事卡 70

2.7 一个完整的Pop-up窗口软件 72

2.8 窗口程序的改进 98

3.3 中断与DOS和BIOS 100

3.2 8086系列处理器的中断 100

3.1 什么是常驻内存的程序 100

第三章 常驻内存的Pop-up程序 100

3.4 Turbo C的中断函数修饰符 101

3.5 常驻程序的一般设计方法 102

3.6 使用屏幕打印中断 102

3.6.1 初始化部分 102

3.6.2 常驻部分 104

3.7 使用热键中断 121

3.7.1 键盘缓冲区 121

3.7.2 初始化部分 122

3.7.3 常驻部分 123

3.8 中断28H的秘密 143

3.9 常驻内存程序的问题 144

第四章 图形 148

4.1 显示方式和调色板 148

4.2 画点 149

4.3 画线 151

4.4 画矩形和填充矩形 153

4.5 画圆和填充圆 153

4.6 一个示范图形程序 156

4.7 保存和装入图形映像文件 162

4.8 图象的拷贝和搬移 165

4.9 二维图形的旋转 166

4.9.1 旋转一个点 166

4.9.2 旋转一个目标 167

4.10 一个完整的综合画图程序 176

第五章 动画设计 200

5.1 “精灵”(Sprites) 200

5.2 动画场地 200

5.3 屏幕级的移动 201

5.4 “精灵”级的跑动 208

5.5.1 边界的识别 210

5.5 动画数据的组织 210

5.5.2 用颜色表示目标 211

5.5.3 计算机在动画游戏中的角色 211

5.6 一个完整的动画程序 211

5.6.1 定义一个动画游戏 211

5.6.2 凭颜色识别目标 211

5.6.3 定义“精灵人” 212

5.6.4 主循环 213

5.6.5 计算机“精灵人”的跑动 217

5.6.6 检查是否相撞 220

5.6.7 完整的“抓瞎子”游戏程序 220

第六章 文件传送和最简单的局域网LAN 236

6.1 数据的异步串行的发送和接收 236

6.2 RS-232标准 237

6.2.1 RS-232标准信号 237

6.2.2 硬件握手 237

6.4.1 串行口的初始化 238

6.3 通信问题 238

6.4 通过BIOS调用存取PC机的串行口 238

6.4.2 发送一个字节 240

6.4.3 检查串行口的状态 240

6.4.4 接收一个字节 241

6.5 在计算机之间传送文件 242

6.5.1 软件握手 242

6.5.2 7位数据位与8位数据位 243

6.5.3 发送一个文件 243

6.5.4 接收一个文件 245

6.5.5 完整的文件传送程序 247

6.5.6 文件传送程序的改进 252

6.6 简单的局域网 253

6.6.1 文件服务器 253

6.6.2 装入文件 263

6.6.3 保存文件 267

6.6.4 局域网程序的改进 271

第七章 彩色文本屏幕 273

7.1 在文本方式下使用颜色 273

7.1.1 文本方式下的属性字节 273

7.1.2 写彩色字符串 273

7.2 改变光标的大小 276

7.3 滚动一部分屏幕 276

7.4 一个简单的表演程序 277

7.5 保存屏幕到一个盘文件上 282

第八章 声音 284

8.1 可编程定时器8253 284

8.2 一个简单的听力测试程序 285

8.3 产生“警笛声” 286

8.4 产生“激光冲击波声音” 287

8.5 产生“天体”音乐 288

9.1 鼠标基础 290

第九章 鼠标(Mouse)接口 290

9.2 虚拟的与实际的屏幕 291

9.3 鼠标库函数 291

9.3.1 复位和取状态 291

9.3.2 点亮鼠标光标 291

9.4 高级鼠标函数 291

9.3.3 熄灭鼠标光标 292

9.3.4 读按钮状态和光标位置 292

9.3.5 设置光标位置 292

9.3.6 读鼠标移动方向和距离 292

9.4.1 复位鼠标 292

9.4.2 点亮和熄灭鼠标光标 293

9.4.3 确定是否按下了按钮 293

9.4.4 读取鼠标的移动 294

9.4.6 一个简单的表演程序 295

9.4.5 读和设置光标的位置 295

9.5 用鼠标来画图 300

9.5.1 两个预备函数 300

9.5.2 主循环 302

9.5.3 用鼠标画一个目标 309

9.5.4 修改后的完整的画图程序 313

10.1.2 判断排序算法优劣的原则 340

10.1.1 排序算法的分类 340

10.1 排序概述 340

第十章 排序和查找 340

10.2 冒泡排序法 341

10.2.1 冒泡排序法 341

10.2.2 “拉锯式”排序法 343

10.3 选择排序法 344

10.4 插入排序法 345

10.5 shell 排序法 346

10.6 uick sort排序法 348

10.7 字符串数组的排序 350

10.8 结构的排序 351

10.9 随机盘文件排序 353

10.10 顺序文件的排序 356

10.11 查找 359

10.11.1 顺序查找 359

10.11.2 折半查找 359

第十一章 队列、堆栈、链表和二叉树 361

11.1 队列 361

11.1.1 线性队列 361

11.1.2 环形队列 365

11.2 堆栈 368

11.3 链表 372

11.3.1 单向链表 372

11.3.2 双向链表 376

11.3.3 一个使用双向链表的通信地址管理程序 379

11.4 二叉树 386

第十二章 动态分配 395

12.1 动态分配和释放函数 395

12.2 稀疏矩阵 396

12.2.1 链表法 397

12.2.2 二叉树法 400

12.2.3 指针数组法 403

12.2.4 三种方法的比较 405

12.3 局部变量的动态分配 406

12.4 内存大小未知:一个文本编辑程序 408

12.5 内存的碎片化 416

12.6 动态分配与人工智能 416

第十三章 条形图 428

13.1 数据的规格化 428

13.2 条件图的工具函数 428

13.2.1 画一组条形块 428

13.2.3 写标号 430

13.2.2 画底线 430

13.2.4 画参考线 431

13.2.5 写图例 431

13.3 条形图表演程序 432

13.4 条形图实用程序 440

13.4.1 主函数main 440

13.4.2 接受输入的函数enter 442

13.4.3 找最小和最大值的函数min__max 443

13.4.4 完整的条形图实用程序 444

第十四章 统计分析 458

14.1 基本的统计方法 458

14.1.1 平均值 458

14.1.2 中间值 459

14.1.3 典型值(众数) 460

14.1.4 平均值、中间值和典型值的比较 461

14.2 方差和均方差 462

14.3 统计图 463

14.4 规划和预测 466

14.5 一个完整的统计程序 470

14.5.1 一个完整的统计程序 470

14.5.2 如何使用这个统计程序 480

第十五章 加密和数据压缩 481

15.1 概述 481

15.2 替代加密法 481

15.3 换位加密法 491

15.4 位操作法 497

15.5 破密 501

15.6 数据压缩 504

第十六章 模拟 508

16.1 模拟和随机数 508

16.2 超级市场收款台的模拟 508

17.1 表达式 516

第十七章 表达式的分析计算 516

17.2 表达式的分解 517

17.3 表达式的分析 520

17.4 一个简单的表达式分析程序 521

17.5 可以处理变量的表达式分析程序 528

17.6 递归下降分析的语法检查 537

第十八章 BASIC解释程序 539

18.1 一个小小的BASIC 539

18.2 main主循环 541

18.3 赋值语句 543

18.4 PRINT命令 544

18.5 INPUT命令 545

18.6 GOTO命令 546

18.7 IF命令 550

18.8 FOR循环命令 551

18.9 GOSUB命令 554

18.10 完整的小小BASIC解释程序 556

18.11 使用这个小小BASIC 577

第十九章 C语言和汇编语言的混合编程 579

19.1 C语言调用汇编语言子程序方法简单介绍 579

19.2 汇编语言中的段和组 581

19.3 指针NEAR,FAR和HUGE 583

19.4 C编译的内存模式 585

19.5 C语言中的段和组 588

19.6 C语言和汇编语言的混合编程 591

19.6.1 段的组合问题 591

19.6.2 定义变量和常数 592

19.6.3 变量和函数名的相互引用 592

19.6.4 参数传递原则 593

19.6.5 返回值 594

19.6.6 寄存器规则 594

19.7 汇编语言调用C语言示例 595