本书是“C:The Complete Beference”的第四版。在第一版问世以来的几年中,程序设计领域已经发生了很大变化。Internet和World Wide Web已成为计算领域一道亮丽的风景,Java已经开发出来,C++也已标准化。与此同时,新的C标准(称为C99)也已制订。尽管C99并没有被大肆炒作,但它确实是过去5年里计算领域中最重要的一个事件。在历史的洪流中,人们很容易只注意那些新的事物,而忽视了用以构筑未来的坚实基础。C语言正是这样的基础。世界上的许多程序代码是在C上运行的。C++正是在此基础上建立的,其语法构成了Java的基础。然而,如果C仅是其他语言的起点,它就会成为有趣但却遭到遗弃的语
第一部分 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
1