C语言大全

C语言大全
作 者: 赫伯特·希尔特 王子恢 戴健鹏 王子恢
出版社: 电子工业出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: C
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  作者:HerbertSchildtHerbertSchildt,是世界顶级程序设计大师,全球顶尖编程图书作者之一。他是C、C++、Java和C#编程语言的权威,也是Windows编程方面的专家。拥有伊利诺斯大学的计算机科学硕士学位。他的编程书籍在世界范围内的销量已经超过3000000册,并被翻译成多种语言流传于世。Java实用教程(第3版)>>更多作品

内容简介

《C语言大全(第四版)》是根据国际著名的C语言专家Herbert Shchildt的原著翻译的。这是一本C语言的百科全书,其中包括C的命令、功能、编程和应用等方面的内容,是集专家及C语言编程人员的多方面专门经验之作。全书共分6部分,共29章。第一部分详细讨论了关键字、预处理、指令和C语言特性,内容包括表达式、程序控制语句、数组和串、指针、函数、数据类型、结构、联合、枚举和用户自定义类型、控制台I/O、文件I/O和预处理等;第二部分详细介绍了新的C99标准,并将C89和C99进行了仔细对比;第三部分详细介绍了C标准程序库,包括各种环境下的I/O函数、串和字符函数、数学函数、系统函数、动态分配函数、工具函数、宽字符函数和C99增加的库函数等;第四部分介绍算法和应用程序,包括排序和搜索、队列、堆栈、链表和树、稀疏数组、表达式剖析和求值、人工智能问题求解等;第五部分详细讨论了Windows 2000框架的构造,并用实例讨论了C软件的开发技术,包括效率、移植和调试等软件工程专题;第六部分介绍C解释程序。本书内容全面,叙述清晰,为广大PC机用户程序开发人员提供了一部很有价值的工具书,也可作计算机应用人员,有关大专院校师生及PC机软件开发人员的参考书。

图书目录

第一部分 C语言基础

第1章 C语言概述

1.1 C语言的简要历史

1.2 C是中级语言

1.3 C是结构化语言

1.4 C是面向程序员的语言

1.5 编译和解释

1.6 C程序的格式

1.7 库和链接

1.8 分别编译

1.9 编译C程序

1.10 C的内存映像

1.11 C与C++

1.12 术语

第2章 C表达式

2.1 基本数据类型

2.2 修饰基本类型

2.3 标识符命名

2.4 变量

2.4.1 定义变量的位置

2.4.2 局部变量

2.4.3 形式参数

2.4.4 全局变量

2.4.5 C语言的四个域

2.5 类型修饰符

2.5.1 const

2.5.2 volatile

2.6 存储类型说明符

2.6.1 extern

2.6.2 static变量

2.6.3 register变量

2.7 变量初始化

2.8 常量

2.8.1 16进制和8进制常量

2.8.2 串常量

2.8.3 反斜线字符常量

2.9 操作符

2.9.1 赋值操作符

2.9.2 赋值中的类型转换

2.9.3 多重赋值

2.9.4 复合赋值

2.9.5 算术操作符

2.9.6 增量和减量

2.9.7 关系和逻辑操作符

2.9.8 位操作符

2.9.9 问号(?)操作符

2.9.10 指针操作符&和*

2.9.11 编译时操作符sizeof()

2.9.12 逗号(,)操作符

2.9.13 圆点(.)和箭头(→)操作符

2.9.14 []和()操作符

2.9.15 优先级小结

2.10 表达式

2.10.1 求值顺序

2.10.2 表达式中的类型转换

2.10.3 强制类型转换

2.10.4 间隔和括号

第3章 语句

3.1 C的真值和假值

3.2 选择语句

3.2.1 if语句

3.2.2 嵌套if语句

3.2.3 if—else—if梯次

3.2.4 代替if的问号(?)

3.2.5 条件表达式

3.2.6 switch

3.2.7 嵌套switch语句

3.3 重复(Iteration)语句

3.3.1 for循环

3.3.2 for循环的变形

3.3.3 无限循环

3.3.4 无循环体的循环

3.3.5 在for循环中声明变量

3.3.6 while循环

3.3.7 do—while循环

3.4 跳转语句

3.4.1 return语句

3.4.2 goto语句

3.4.3 break语句

3.4.4 exit()函数

3.4.5 continue语句

3.5 表达式语句

3.6 块语句

第4章 数组和串

4.1 一维数组

4.2 指向数组的指针

4.3 向函数传一维数组

4.4 串

4.5 二维数组

4.5.1 字符串数组

4.6 多维数组

4.7 指针的下标操作

4.8 数组初始化

4.8.1 无尺寸数组初始化

4.9 可变长数组

4.10 一担挑游戏

第5章 指针

5.1 什么是指针

5.2 指针变量

5.3 指针操作符

5.4 指针表达式

5.4.1 指针赋值

5.4.2 指针转换

5.4.3 指针算术操作

5.4.4 指针比较

5.5 指针和数组

5.5.1 指针数组

5.6 多级间址

5.7 指针初始化

5.8 函数指针

5.9 动态分配函数

5.9.1 动态分配的数组

5.10 由restrict修饰的指针

5.11 与指针有关的问题

第6章 函数

6.1 函数的一般形式

6.2 理解函数的作用域规则

6.3 函数的变元

6.3.1 值调用和引用调用

6.3.2 引用调用

6.3.3 用数组调用

6.4 main()的变元argc和argv

6.5 返回语句

6.5.1 从函数中返回

6.5.2 返回值

6.5.3 返回指针

6.5.4 void型函数

6.6 main()的返回值

6.7 递归

6.8 函数原型

6.8.1 老式风格的函数声明

6.8.2 标准的库函数原型

6.9 定义可变长度的参数表

6.10 “隐含的int”规则

6.11 参数声明的老式方法和现代方法

6.12 inline关键字

第7章 结构、联台、枚举和用户定义类型

7.1 结构

7.1.1 存取结构成员

7.1.2 结构赋值

7.2 结构数组

7.2.1 通信录实例

7.3 向函数传递结构

7.3.1 向函数传结构成员

7.3.2 向函数传递全结构

7.4 结构指针

7.4.1 定义结构指针

7.4.2 使用结构指针

7.5 结构中的数组和结构

7.6 联合

7.7 位域

7.8 枚举

7.9 C与G++之间的重要差别

7.10 用sizeof确保可移植性

7.11 typedef

第8章 控制台I/O

8.1 读写字符

8.1.1 getchar()的问题

8.1.2 代替getchar()的函数

8.2 读写串

8.3 格式化控制台I/O

8.4 printf

8.4.1 打印字符和串

8.4.2 打印数值

8.4.3 显示地址

8.4.4 格式说明符%n

8.4.5 格式修饰符

8.4.6 最小域宽说明符

8.4.7 精度说明符

8.4.8 对齐输出

8.4.9 处理其他数据类型

8.4.10 修饰符*和#

8.5 scanf()

8.5.1 格式说明符

8.5.2 输入数值

8.5.3 输入无符号整数

8.5.4 用scanf()读单字符

8.5.5 用scanf()读串

8.5.6 输入地址

8.5.7 格式符%n

8.5.8 使用扫描集合

8.5.9 过滤多余空白符

8.5.10 控制串中的非空白符

8.5.11 必须向scanf()传地址

8.5.12 格式修饰符

8.5.13 忽略输入

第9章 文件I/O

9.1 C与C++I/O

9.2 标准C的I/O和UNIX C的I/O

9.3 流和文件

9.4 流

9.4.1 文本流

9.4.2 二进制流

9.5 文件

9.6 文件系统基础

9.6.1 文件指针

9.6.2 打开文件

9.6.3 关闭文件

9.6.4 写字符

9.6.5 读字符

9.6.6 使用fopen()、getc()、putc()和fclose()

9.6.7 使用feof()

9.6.8 用fputs()和fgets()处理串

9.6.9 rewind()

9.6.10 ferror()

9.6.11 删除文件

9.6.12 对流清仓

9.7 fread()和fwrite()

9.7.1 使用fread()和fwrite()

9.7.2 通信录实例

9.8 fseek ()和随机存取I/O

9.9 fprintf()和fscanf()

9.10 标准流

9.10.1 控制台I/O的连接

9.10.2 用freopen()重定向标准流

第10章 预处理程序和注释

10.1 预处理程序

10.2 #define

10.2.1 定义类函数宏

10.3 #error

10.4 #include

10.5 条件编译指令

10.5.1 #if、#else、#elif和#endif

10.5.2 #ifdef 和#ifndef

10.6 #undef

10.7 使用defined

10.8 #line

10.9 #pragma

10.10 预处理操作符#和##

10.11 预定义宏

10.12 注释

10.12.1 单行注释

第二部分 C99标准

第11章 C99

11.1 C89与C99概述

11.1.1 增加的特性

11.1.2 删除的特性

11.1.3 修改的特性

11.2 由restrict修饰的指针

11.3 inline

11.4 新的内置数据类型

11.4.1 _Bool

11.4.2 _Complex和_Imaginary

11.4.3 long long int类型

11.5 对数组的增强

11.5.1 变长数组

11.5.2 类型修饰符在数组声明中的应用

11.6 单行注释

11.7 分散代码和声明

11.8 预处理程序的修改

11.8.1 变元表

11.8.2 _Pragma操作符

11.8.3 内置的编译指令(Pragmas)

11.8.4 增加的内置宏

11.9 在for循环中声明变量

11.10 复合赋值

11.11 柔性数组结构成员

11.12 指定的初始化符

11.13 printf()和scanf()函数系列的新增内容

11.14 C99中的新库

11.15 __func__预定义标识符

11.16 放宽的转换限制

11.17 不再支持隐含的int

11.18 删除了隐含的函数声明

11.19 对返回值的约束

11.20 扩展的整数类型

11.21 对整数类型提升规则的修改

第三部分 C标准库

第12章 链接、库和头部

12.1 链接程序

12.1.1 分别编译

12.1.2 可重定位代码与绝对代码

12.1.3 覆盖链接

12.1.4 DLL链接

12.2 C标准库

12.2.1 库和目标码文件

12.3 头部

12.3.1 头部文件中的宏

12.4 重新定义库函数

第13章 I/O函数

13.1 clearerr

13.1.1 例子

13.1.2 有关函数

13.2 fclose

13.2.1 例子

13.2.2 有关函数

13.3 feof

13.3.1 例子

13.3.2 有关函数

13.4 ferror

13.4.1 例子

13.4.2 有关函数

13.5 fflush

13.5.1 例子

13.5.2 有关函数

13.6 fgetc

13.6.1 例子

13.6.2 有关函数

13.7 fgetpos

13.7.1 例子

13.7.2 有关函数

13.8 fgets

13.8.1 例子

13.8.2 有关函数

13.9 fopen

13.9.1 例子

13.9.2 有关函数

13.10 fprintf

13.10.1 例子

13.10.2 有关函数

13.11 fputc

13.11.1 例子

13.11.2 有关函数

13.12 fputs

13.12.1 例子

13.12.2 有关函数

13.13 fread

13.13.1 例子

13.13.2 有关函数

13.14 freopen

13.14.1 例子

13.14.2 有关函数

13.15 fscanf

13.15.1 例子

13.15.2 有关函数

13.16 fseek

13.16.1 例子

13.16.2 有关函数

13.17 fsetpos

13.17.1 例子

13.17.2 有关函数

13.18 ftell

13.18.1 例子

13.18.2 有关函数

13.19 fwrite

13.19.1 例子

13.19.2 有关函数

13.20 getc

13.20.1 例子

13.20.2 有关函数

13.21 getchar

13.21.1 例子

13.21.2 有关函数

13.22 gets

13.22.1 例子

13.22.2 有关函数

13.23 Perror

13.23.1 例子

13.24 printf

13.24.1 C99为printf()增加的格式修饰符

13.24.2 例子

13.24.3 有关函数

13.25 putc

13.25.1 例子

13.25.2 有关函数

13.26 putchar

13.26.1 例子

13.26.2 有关函数

13.27 puts

13.27.1 例子

13.27.2 有关函数

13.28 remove

13.28.1 例子

13.28.2 有关函数

13.29 rename

13.29.1 例子

13.29.2 有关函数

13.30 rewind

13.30.1 例子

13.30.2 有关函数

13.31 scanf

13.31.1 C99为scanf()增加的格式修饰符

13.31.2 例子

13.31.3 有关函数

13.32 setbuf

13.32.1 例子

13.32.2 有关函数

13.33 setvbuf

13.33.1 例子

13.33.2 有关函数

13.34 snprintf

13.34.1 有关函数

13.35 sprintf

13.35.1 例子

13.35.2 有关函数

13.36 sscanf

13.36.1 例子

13.36.2 有关函数

13.37 tmpfile

13.37.1 例子

13.37.2 有关函数

13.38 tmpnam

13.38.1 例子

13.38.2 有关函数

13.39 ungetc

13.39.1 例子

13.39.2 有关函数

13.40 vpirintf、vfprintf、vsprintf及vsnprintf

13.40.1 例子

13.40.2 有关函数

13.41 vscanf、vfscanf及vsscanf

13.41.1 有关函数

第14章 串和字符函数

14.1 isalnum

14.1.1 例子

14.1.2 有关函数

14.2 isalpha

14.2.1 例子

14.2.2 有关函数

14.3 isblank

14.3.1 例子

14.3.2 有关函数

14.4 iscntrl

14.4.1 例子

14.4.2 有关函数

14.5 isdigit

14.5.1 例子

14.5.2 有关函数

14.6 isgraph

14.6.1 例子

14.6.2 有关函数

14.7 islower

14.7.1 例子

14.7.2 有关函数

14.8 isprint

14.8.1 例子

14.8.2 有关函数

14.9 ispunct

14.9.1 例子

14.9.2 有关函数

14.10 isspace

14.10.1 例子

14.10.2 有关函数

14.11 isupper

14.11.1 例子

14.11.2 有关函数

14.12 isxdigit

14.12.1 例子

14.12.2 有关函数

14.13 memchr

14.13.1 例子

14.13.2 有关函数

14.14 memcmp

14.14.1 例子

14.14.2 有关函数

14.15 emecpy

14.15.1 例子

14.15.2 有关函数

14.16 memmove

14.16.1 例子

14.16.2 有关函数

14.17 memset

14.17.1 例子

14.17.2 有关函数

14.18 strcat

14.18.1 例子

14.18.2 有关函数

14.19 strchr

14.19.1 例子

14.19.2 有关函数

14.20 strcmp

14.20.1 例子

14.20.2 有关函数

14.21 strcoll

14.21.1 例子

14.21.2 有关函数

14.22 strcpy

14.22.1 例子

14.22.2 有关函数

14.23 strcspn

14.23.1 例子

14.23.2 有关函数

14.24 strerror

14.24.1 例子

14.25 strlen

14.25.1 例子

14.25.2 有关函数

14.26 strncat

14.26.1 例子

14.26.2 有关函数

14.27 strncmp

14.27.1 例子

14.27.2 有关函数

14.28 strncpy

14.28.1 例子

14.28.2 有关函数

14.29 strpbrk

14.29.1 例子

14.29.2 有关函数

14.30 strrchr

14.30.1 例子

14.30.2 有关函数

14.31 strspn

14.31.1 例子

14.31.2 有关函数

14.32 strstr

14.32.1 例子

14.32.2 有关函数

14.33 strtok

14.33.1 例子

14.33.2 有关函数

14.34 strxfrm

14.34.1 例子

14.34.2 有关函数

14.35 tolower

14.35.1 例子

14.35.2 有关函数

14.36 toupper

14.36.1 例子

14.36.2 有关函数

第15章 数学函数

15.1 acos

15.1.1 例子

15.1.2 有关函数

15.2 acosh

15.2.1 有关函数

15.3 asin

15.3.1 例子

15.3.2 有关函数

15.4 asinh

15.4.1 有关函数

15.5 atan

15.5.1 例子

15.5.2 有关函数

15.6 atanh

15.6.1 有关函数

15.7 atan2

15.7.1 例子

15.7.2 有关函数

15.8 cbrt

15.8.1 例子

15.8.2 有关函数

15.9 ceil

15.9.1 例子

15.9.2 有关函数

15.10 copysign

15.10.1 有关函数

15.11 cos

15.11.1 例子

15.11.2 有关函数

15.12 cosh

15.12.1 例子

15.12.2 有关函数

15.13 erf

15.13.1 有关函数

15.14 erfc

15.14.1 有关函数

15.15 exp

15.15.1 例子

15.15.2 有关函数

15.16 exp2

15.16.1 有关函数

15.17 expml

15.17.1 有关函数

15.18 fabs

15.18.1 例子

15.18.2 有关函数

15.19 fdim

15.19.1 有关函数

15.20 floor

15.20.1 例子

15.20.2 有关函数

15.21 fma

15.21.1 有关函数

15.22 fmax

15.22.1 有关函数

15.23 fmin

15.23.1 有关函数

15.24 fmod

15.24.1 例子

15.24.2 有关函数

15.25 frexp

15.25.1 例子

15.25.2 有关函数

15.26 hypot

15.26.1 有关函数

15.27 ilogb

15.27.1 有关函数

15.28 ldexp

15.28.1 例子

15.28.2 有关函数

15.29 Imamma

15.29.1 有关函数

15.30 llrint

15.30.1 有关函数

15.31 llround

15.31.1 有关函数

15.32 log

15.32.1 例子

15.32.2 有关函数

15.33 loglp

15.33.1 有关函数

15.34 log10

15.34.1 例子

15.34.2 有关函数

15.35 log2

15.35.1 有关函数

15.36 logb

15.36.1 有关函数

15.37 lrint

15.37.1 有关函数

15.38 lround

15.38.1 有关函数

15.39 modef

15.39.1 例子

15.39.2 有关函数

15.40 nan

15.40.1 有关函数

15.41 nearbyint

15.41.1 有关函数

15.42 nextafter

15.42.1 有关函数

15.43 nexttoward

15.43.1 有关函数

15.44 pow

15.44.1 例子

15.44.2 有关函数

15.45 remainder

15.45.1 有关函数

15.46 remquo

15.46.1 有关函数

15.47 rint

15.47.1 有关函数

15.48 round

15.48.1 有关函数

15.49 scalbln

15.49.1 有关函数

15.50 scalbn

15.50.1 有关函数

15.51 sin

15.51.1 例子

15.51.2 有关函数

15.52 sinh

15.52.1 例子

15.52.2 有关函数

15.53 sqrt

15.53.1 例子

15.53.2 有关函数

15.54 tan

15.54.1 例子

15.54.2 有关函数

15.55 tanh

15.55.1 例子

15.55.2 有关函数

15.56 tgamma

15.56.1 有关函数

15.57 trunc

15.57.1 有关函数

第16章 时间、日期和本地化函数

16.1 asctime

16.1.1 例子

16.1.2 有关函数

16.2 clock

16.2.1 例子

16.2.2 有关函数

16.3 ctime

16.3.1 例子

16.3.2 有关函数

16.4 difftime

16.4.1 例子

16.4.2 有关函数

16.5 gmtime

16.5.1 例子

16.5.2 有关函数

16.6 localeconv

16.6.1 例子

16.6.2 有关函数

16.7 localtime

16.7.1 例子

16.7.2 有关函数

16.8 mktime

16.8.1 例子

16.8.2 有关函数

16.9 setlocale

16.9.1 例子

16.9.2 有关函数

16.10 strftime

16.10.1 例子

16.10.2 有关函数

16.11 time

16.11.1 例子

16.11.2 有关函数

第17章 动态分配函数

17.1 calloc

17.1.1 有关函数

17.2 free

17.2.1 例子

17.2.2 有关函数

17.3 malloc

17.3.1 例子

17.3.2 有关函数

17.4 realloc

17.4.1 例子

17.4.2 有关函数

第18章 工具函数

18.1 abort

18.1.1 例子

18.1.2 有关函数

18.2 abs

18.2.1 例子

18.2.2 有关函数

18.3 assert

18.3.1 例子

18.3.2 有关函数

18.4 atexit

18.4.1 例子

18.4.2 有关函数

18.5 atof

18.5.1 例子

18.5.2 有关函数

18.6 atoi

18.6.1 例子

18.6.2 有关函数

18.7 atol

18.7.1 例子

18.7.2 有关函数

18.8 atoll

18.8.1 有关函数

18.9 bsearch

18.9.1 例子

18.9.2 有关函数

18.10 div

18.10.1 例子

18.10.2 有关函数

18.11 exit

18.11.1 例子

18.11.2 有关函数

18.12 _Exit

18.12.1 有关函数

18.13 getenv

18.13.1 例子

18.13.2 有关函数

18.14 labs

18.14.1 例子

18.14.2 有关函数

18.15 llabs

18.15.1 有关函数

18.16 ldiv

18.16.1 例子

18.16.2 有关函数

18.17 lldiv

18.17.1 有关函数

18.18 longimp

18.18.1 例子

18.18.2 有关函数

18.19 mblen

18.19.1 例子

18.19.2 有关函数

18.20 mbstowcs

18.20.1 例子

18.20.2 有关函数

18.21 mbtowc

18.21.1 例子

18.21.2 有关函数

18.22 qsort

18.22.1 例子

18.22.2 有关函数

18.23 raise

18.23.1 有关函数

18.24 rand

18.24.1 例子

18.24.2 有关函数

18.25 setjmp

18.25.1 有关函数

18.26 signal

18.26.1 有关函数

18.27 srand

18.27.1 例子

18.27.2 有关函数

18.28 strtod

18.28.1 例子

18.28.2 有关函数

18.29 strtof

18.29.1 有关函数

18.30 strtol

18.30.1 例子

18.30.2 有关函数

18.31 strtold

18.31.1 有关函数

18.32 strtoll

18.32.1 有关函数

18.33 strtoul

18.33.1 例子

18.33.2 有关函数

18.34 strtoull

18.34.1 有关函数

18.35 system

18.35.1 例子

18.35.2 有关函数

18.36 va_arg、va_cpoy、va_start及va_end

18.36.1 例子

18.36.2 有关函数

18.37 wcstombs

18.37.1 有关函数

18.38 wctomb

18.38.1 有关函数

第19章 宽字符函数

19.1 宽字符分类函数

19.2 宽字符I/O函数

19.3 宽字符串函数

19.4 宽字符串变换函数

19.5 宽字符数组函数

19.6 多字节/宽字符变换函数

第20章 C99增加的库函数特性

20.1 复数库

20.2 浮点环境库

20.3 <stdint.h>头部

20.4 整数格式转换函数

20.5 一般类型数学宏

20.6 <stdbool.h>

第四部分 算法和应用

第21章 排序和查找

21.1 排序

21.1.1 排序算法的分类

21.1.2 排序算法的评价

21.1.3 气泡排序

21.1.4 选择排序

21.1.5 插入排序

21.1.6 改进的排序

21.1.7 谢尔排序

21.1.8 快速排序

21.2 选择排序算法

21.3 对其他数据结构排序

21.3.1 对串排序

21.3.2 对结构排序

21.4 对随机访问的磁盘文件排序

21.5 查找

21.5.1 查找方法

21.5.2 顺序查找

21.5.3 对分查找

第22章 队列、堆栈、链表和树

22.1 队列

22.2 循环队列

22.3 堆栈

22.4 链表

22.5 单向链表

22.6 双向链表

22.7 通信录实例

22.8 二叉树

第23章 稀疏数组

23.1 理解稀疏数组的作用

23.2 链表稀疏数组

23.2.1 链表方法的性能分析

23.3 二叉树方法

23.3.1 二叉树方法的性能分析

23.4 指针数组方法

23.4.1 指针数组方法的性能分析

23.5 散列方法

23.5.1 散列方法的性能分析

23.6 决策

第24章 表达式分析和求值

24.1 表达式

24.2 表达式分解

24.3 表达式分析

24.4 简单表达式分析程序

24.5 能处理变量的分析程序

24.6 递归下降分析程序中的语法检查

第25章 人工智能问题求解

25.1 表示和术语

25.2 组合爆炸

25.3 搜索技术

25.4 评价搜索技术

25.5 用图表示问题

25.6 深度优先搜索

25.6.1 深度优先算法的性能分析

25.7 宽度优先搜索

25.7.1 宽度优先搜索的性能分析

25.8 探试式搜索

25.9 爬山搜索

25.9.1 爬山搜索的性能分析

25.10 最小代价搜索

25.10.1 最小代价搜索的性能分析

25.11 选择搜索技术

25.12 寻找多重解

25.12.1 路径剪除

25.12.2 节点摘除

25.13 寻找“最优”解

25.14 再谈丢钥匙的例子

第五部分 C语言软件开发

第26章 构造Windows 2000框架

26.1 Windows 2000编程前景

26.1.1 桌面模式

26.1.2 鼠标

26.1.3 图标、位图和图形

26.1.4 菜单、控件和对话框

26.2 Win32应用编程接口

26.3 窗口组件

26.4 Windows与用户程序进行交互的方法

26.5 Windows 2000应用基础

26.5.1 WinMain()

26.5.2 窗口过程

26.5.3 窗口类型

26.5.4 消息环

26.5.5 Windows数据类型

26.6 Windows 2000框架

26.6.1 窗口类型的定义

26.6.2 创建窗口

26.6.3 消息环

26.6.4 窗口函数

26.7 无需定义文件

26.8 命名约定

第27章 C语言软件工程

27.1 自顶向下设计

27.1.1 构造程序草案

27.1.2 选择数据结构

27.2 防弹函数

27.3 使用MAKE

27.3.1 使用MAKE中的宏

27.4 使用集成的开发环境

第28章 效率、移植和调试

28.1 效率

28.1.1 增量和减量操作符

28.1.2 使用寄存器变量

28.1.3 指针和数组索引

28.1.4 函数的用法

28.2 移植程序

28.2.1 使用#define

28.2.2 对操作系统的依赖

28.2.3 数据大小的差异

28.3 调试

28.3.1 处理顺序错

28.3.2 指针问题

28.3.3 解释语法错

28.3.4 出界错

28.3.5 越界错

28.3.6 函数原型遗漏

28.3.7 变元错

28.3.8 栈溢出

28.3.9 使用调试程序

28.3.10 一般调试理论

第六部分 C解释程序

第29章 C解释程序

29.1 解释程序的现实重要性

29.2 Little C说明

29.2.1 Little C约束条件

29.3 解释结构化语言

29.4 C的非正式理论

29.4.1 C表达式

29.4.2 求表达式的值

29.5 表达式分析程序

29.5.1 将源代码缩减为部件

29.5.2 Little C递归下降分析程序

29.6 Little C解释程序

29.6.1 解释程序预扫

29.6.2 mail()函数

29.6.3 interp_block()函数

29.6.4 处理局部变量

29.6.5 调用用户定义的函数

29.6.6 为变量赋值

29.6.7 执行if语句

29.6.8 处理while循环

29.6.9 处理do-while循环

29.6.10 for循环

29.7 Little C库函数

29.8 编译和链接Little C解释程序

29.9 演示Little C

29.10 改进Little C

29.11 扩充Little C

29.11.1 增加新的C特征

29.11.2 增加附加特征