《C语言高级实用教程》PDF下载

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

前言 1

第1章 几个重要问题 1

1.1 数据类型转换 1

1.1.1 各类整数之间的转换 1

目录 1

1.1.2 实数与整数之间的转换 2

1.1.3 指针之间的转换 3

1.2 指针 3

1.2.1 指针说明 3

1.2.2 指针与地址 3

1.2.3 指针运算 4

1.2.4 指针分类 4

1.2.4.1 近(near)指针 5

1.2.4.2 远(far)指针 5

1.2.4.3 巨(huge)指针 6

1.3 函数 7

1.3.1 有返回值的函数 7

1.2.5 各类指针之间的转换 7

1.2.4.4 基(based)指针 7

1.3.2 无返回值的函数 8

1.3.3 修改参数的函数 8

1.3.4 递归函数 9

1.3.5 参数个数不定的函数 9

1.3.6 函数指针及其应用 10

第2章 编译模式和内存组织 14

2.1 段与偏移量 14

2.2.1 概述 16

2.2 六种编译模式 16

2.2.2 微模式 18

2.2.3 小模式 19

2.2.4 中模式 20

2.2.5 紧凑模式 20

2.2.6 大模式 20

2.2.7 巨模式 20

2.3 堆栈的组织 20

2.4 堆的组织 22

2.5 其它内存操作函数 24

3.1 鼠标驱动程序的基本功能 26

第3章 鼠标输入 26

3.2 与鼠标接口的C函数工具包 27

3.2.1 14个工具函数 27

3.2.2 工具包应用举例 36

3.3 Turbo C Tools的鼠标支持函数 38

3.3.1 鼠标的初始化 39

3.3.2 询问鼠标的状态 39

3.3.3 鼠光标的位置和速度控制 41

3.3.4 鼠光标的形状和开关控制 42

3.3.5 对鼠标硬件中断的处理 43

第4章 文本屏幕输出和文本窗口 45

4.1 概述 45

4.2 Turbo C的文本屏幕处理 46

4.2.1 文本输出与操作 47

4.2.1.1 TTY输出规则 47

4.2.1.2 输出文本 47

4.2.1.3 对屏幕内容和光标的操作 47

4.2.1.4 屏幕与内存之间文本的移动 48

4.2.2 窗口和显示方式控制 48

4.2.3 属性控制 49

4.2.4 状态查询 51

4.3 pop__up文本窗口工具包 52

4.3.1 窗口结构和窗口栈 53

4.3.2 16个工具函数 54

4.3.3 工具包应用实例 65

4.3.3.1 用“瓷砖”式窗口制作菜单 65

4.3.3.2 移动pop__up窗口 67

4.3.3.3 pop__up错误信息和正常信息 70

4.4.1 Turbo C Tools与 Turbo C的比较 77

4.4 Turbo C Tools的文本屏幕处理 77

4.4.2 显示设备和显示方式 78

4.4.3 页控制 80

4.4.4 清除和滚动 81

4.4.5 光标控制 82

4.4.6 显示属性和颜色 83

4.4.7 屏幕写入和读取 84

4.4.8 矩形区域写入和读取 85

4.4.9 各种文本输出函数的速度比较 88

4.5.1 概述 89

4.5 Turbo C Tools的窗口处理 89

4.5.2 建立和注销窗口 91

4.5.3 显示和关闭窗口 93

4.5.4 窗口控制和状态 95

4.5.5 清除和滚动 97

4.5.6 光标位置查询和控制 98

4.5.7 属性控制 98

4.5.8 窗口输出/输入 98

4.5.9 虚拟窗口 103

4.6 Turbo C Tools的帮助信息窗口 106

4.5.10 常驻内存的窗口程序 106

4.6.1 帮助信息源文件 107

4.6.2 缺省帮助信息窗口 108

4.6.3 帮助函数 109

第5章 键盘输入、菜单和编辑 112

5.1 Turbo C的键盘输入 112

5.1.1 概述 112

5.1.2 控制台级(conio)键盘输入处理 113

5.1.4 普通文件级键盘输入处理 116

5.1.3 标准文件级键盘输入处理 116

5.1.5 BIOS级键盘输入处理 117

5.1.5.1 中断0×9 117

5.1.5.2 中断0×16 118

5.1.5.3 bioskey函数 118

5.2 〈Ctrl Break〉和〈Ctrl C〉 119

5.3 Turbo C Tools的键盘处理 120

5.3.1 键盘输入 120

5.3.2 缓冲区处理 121

5.3.3 状态控制键 124

5.3.4 使用加强键盘 125

5.3.5 使用键控制函数 125

5.3.6 取得键码 126

5.4 Turbo C Tools的菜单处理 126

5.4.1 概述 126

5.4.2 建立、显示和注销菜单 129

5.4.3 定义菜单项和按键鼠标事件 130

5.4.4 读取用户的选择 132

5.4.5.1 [例1]:一个简单演示程序 134

5.4.5 菜单应用举例 134

5.4.5.2 [例2]:用菜单实现电子表格 135

5.5 Turbo C Tools的域编辑 140

5.5.1 概述 140

5.5.2 域编辑 144

5.5.3 编辑键定义 146

第6章 基本文件处理 149

6.1 目录/文件系统概述 150

6.1.1 文件存取级别 150

6.1.2 文件属性 151

6.2 系统级输入/输出 152

6.2.1 文件柄 152

6.2.2 文件柄存取字节 153

6.2.3 文件柄属性字节 154

6.2.4 文件出错处理 155

6.2.5 建立文件 155

6.2.6 打开文件 157

6.2.7 读取和设置文件的特性 158

6.2.8 读、写和关闭文件 159

6.3.1 FILE数据结构 160

6.3 标准级(流式)输入输出 160

6.3.2 建立/打开/关闭/删除文件 162

6.3.3 取文件状态和出错处理 164

6.3.4 控制文件缓冲区 164

6.3.5 移动文件指针 166

6.3.6 字节级的读/写 167

6.3.7 字符串级的读/写 168

6.3.8 记录级的读/写 168

6.4 基本文件处理工具包 169

6.4.1 10个工具函数 169

6.5.1 驱动器和驱动器信息 175

6.4.2 工具包应用 175

6.5 驱动器和目录操作 175

6.5.2 目录操作 177

6.5.3 文件名操作 178

6.5.4 目录搜索 178

第7章 字符串处理 182

7.1 字符 182

7.1.1 字符数据和常数 182

7.1.2 字符输入/输出 183

7.1.4 宏和宏的副作用 184

7.1.3 字符的分类和转换 184

7.2 字符串 186

7.3 字符串的分析 187

7.4 字符串的综合 191

7.5 字符串的操作 193

7.6 文本字符串 196

7.7 数字字符串 197

7.8 国家和货币字符串 202

7.9 日期和时间字符串 204

7.10 文件名字符串 208

7.11 命令行字符串 209

7.12 环境字符串 209

7.13 错误级字符串 210

7.14 字符串处理工具包 211

7.14.1 13个工具函数 211

7.14.2 工具包应用举例:PASCAL程序翻译为C程序 215

第8章 动态通用串处理 223

8.1 动态字符串 223

8.2 动态通用串 225

8.3 动态通用串工具包 227

8.3.1 8个工具函数 227

8.3.2 工具包应用举例:多边形表示法 232

8.4 通用串的排序与查找 234

8.5 动态通用串与链表的比较 242

第9章 高级文件处理 244

9.1 变长记录(VLR)文件 244

9.1.1 从文件中查找一个记录 244

9.1.3 碎片化问题 245

9.1.2 插入和删除记录 245

9.1.4 VLR文件格式 246

9.1.5 VLR记录格式和数据块格式 246

9.2 VLR工具包 247

9.2.1 7个工具函数 247

9.2.2 索引处理 255

9.2.3 工具包应用举例:制作和显示幻灯片 256

第10章 内存和程序管理 264

10.1 PSP和环境 264

10.1.1 PSP 264

10.1.2 环境 265

10.2 内存管理 267

10.2.1 内存块及其控制 267

10.2.2 内存分布映像程序memrymap 268

10.2.3 内存管理函数 270

10.3 多个程序的执行及通信 270

10.3.1 程序间的通信 270

10.3.2 spawn:调用子进程 271

10.3.3 exec:转到子进程 275

10.3.4 system:执行DOS命令 275

10.3.5 signal和raise:事件处理 276

10.4 标准输入/输出重定向 278

10.4.1[例1]:freopen.dem 279

10.4.2[例2]:dup.dem 280

10.4.3[例3]:利用system 282

10.5 程序的终止 282

第11章 MSC 6.0的基指针技术 287

11.1 6种基(Based)指针 287

11.1.1 变量值基指针 287

11.1.3 不定基指针 289

11.1.2 变量地址基指针 289

11.1.4 段名基指针 290

11.1.5 指针基指针 291

11.1.6 自参照基指针 291

11.2 基指针应用于链表管理的工具包 292

11.2.1 基指针应用于链表管理 292

11.2.2 基指针分配函数 293

11.2.3 16个工具函数 294

11.2.4.1 [例1] 304

11.2.4 工具包应用三例 304

11.2.4.2 [例2]和[例3] 305

第12章 与BIOS和DOS的接口 309

12.1 中断概述 309

12.2 与BIOS的接口 312

12.2.1 与BIOS接口的函数 312

12.2.2 BIOS提供的部分服务 314

12.3 与DOS的接口 317

12.3.1 与DOS接口的函数 317

12.3.2 DOS提供的部分服务 318

12.4.1 BIOS提供的显示服务 319

12.4 标准输入/输出服务 319

12.4.2 BIOS提供的键盘服务 320

12.4.3 DOS提供的标准输入/输出服务 320

12.5 文件输入/输出服务 321

12.6 内存管理与程序执行服务 322

12.7 打印服务 323

12.8 时钟/日历服务 325

12.8.1 PC机上的时钟系统 325

12.8.4 延迟函数 326

12.8.3 DOS的时间/日历服务 326

12.8.2 PC/AT机上的时钟系统 326

12.8.5 声音函数 327

12.9 串行通信服务 327

12.10 错误处理服务 328

12.10.1 DOS怎样报告错误 328

12.10.2 Turbo C库函数的错误报告特性 329

12.10.3 致命错 331

12.10.4 〈Ctrl Break〉和〈Ctrl C〉 331

13.1 一般概念 333

第13章 中断服务程序 333

13.2 用Turbo C Tools写中断服务程序 335

13.2.1 工作原理 335

13.2.2 安装和驻留 339

13.2.3 过滤 342

13.2.4 探测和撤消 342

13.2.5 其它 343

13.3 中断服务程序实例 344

13.3.1 [例1]:周期性地发声 344

13.3.2 [例2]:检测A和J键的同时按下 345

13.3.3 [例3]:发送格式化的输出 349

13.4 用Turbo C Tools写插入服务程序 353

13.4.1 DOS的重入问题 353

13.4.2 插入服务技术 354

13.4.3 插入服务函数 358

13.4.4 插入服务程序举例 362

13.5 用Turbo C写中断服务程序 366

14.1.1 概述 369

14.1.2 图形系统控制函数 369

14.1 Turbo C图形处理函数 369

第14章 图形处理 369

14.1.3 画图和填充函数 373

14.1.4 屏幕和视口管理函数 375

14.1.5 图形方式下的文本输出函数 376

14.1.6 颜色控制函数 378

14.1.7 错误处理函数 380

14.1.8 状态查询函数 380

14.2.1 图形窗口与文本窗口 381

14.2 Pop up图形窗口工具包 381

14.2.2 6个工具函数 382

14.2.3 工具包应用举例:移动窗口 389

14.3 图形方式下输出文本的若干问题 392

14.3.1 格式输出 392

14.3.2 重写 393

14.3.3 加亮 395

14.3.4 滚动 396

14.4 用XOR方式画旋转橡皮筋 396

15.1.2 说明一个函数为near或far 400

15.1.1 概述 400

15.1 混合模式编程 400

第15章 混合模式和混合语言编程 400

15.1.3 说明一个指针为near、far或huge 401

15.1.4 使用库文件 402

15.1.5 不同编译模式所生成模块的连接 403

15.2 C和汇编语言混合编程 404

15.2.1 段的组合 404

15.2.1.1 汇编语言的段和组 404

15.2.1.2 Trubo C的段和组 405

15.2.1.3 段和组的连接 407

15.2.2 变量和函数名的相互引用 408

15.2.3 参数传递规则 409

15.2.4 返回值传递规则 410

15.2.5 寄存器规则 411

15.2.6 混合编程示例 411

15.2.6.1 C调用汇编 411

15.2.6.2 汇编调用C 412

15.3 行内汇编 414

附录1 操作符表 417

附录2 键盘码表 419

附录3 Turbo C 2.0函数简表 422

附录4 Turbo C Tools 6.0函数简表 446