前言
第1章 预备知识
1.1 数据在机器内部的表示
1.1.1 数的二进制、八进制,和十六进制表示法
1.1.2 数在机器内部的表示方式
1.1.3 习题
1.2 微机简介
1.2.1 存储器
1.2.2 指令和指令系统
1.2.3 中央处理器
1.3 C语言程序的构造
1.3.1 C语言程序构造
1.3.2 编译和链接
第2章 数据类型、运算符和表达式
2.1 C语言数据类型
2.1.1 C语言数据类型
2.1.2 算术类型
2.1.3 数的写法
2.2 常量与变量
2.3 算术运算、关系运算和逻辑运算
2.3.1 算术运算符
2.3.2 一般算术转换
2.3.3 关系运算符
2.3.4 逻辑运算符
2.3.5 算术表达式、关系表达式和逻辑表达式的层次关系
2.3.6 习题
2.4 位运算和移位运算
2.4.1 位运算与移动运算
2.4.2 习题
2.5 赋值运算符和自增自减速运算符
2.5.1 简单赋值
2.5.2 复合赋值
2.5.3 自增自减速运算符
2.5.4 习题
2.6 条件运算符和逗号运算符
2.6.1 条件运算符
2.6.2 逗号运算符
2.6.3 习题
2.7 强制转换运算符
2.7.1 强制类型转换
2.7.2 习题
2.8 C语言运算符的优先级和结合律
2.8.1 C语言运算符的优先级和结合律
2.8.2 习题
2.9 输入输出函数
2.9.1 输入输出单个字符
2.9.2 格式化的输入输出
2.9.3 习题
2.10 小结
第3章 语句
3.1 空语句、表达式语句和复合语句
3.2 分支语句
3.2.1 if语句
3.2.2 switch语句
3.2.3 习题
3.3 goto语句和标号
3.3.1 goto语句和标号
3.3.2 举例
3.3.3 习题
3.4 循环语句
3.4.1 for语句
3.4.2 while语句
3.4.3 do-while语句
3.4.4 三种循环语句的比较
3.4.5 习题
3.5 break和continue语句
3.5.1 break语句
3.5.2 continue语句
3.5.3 用goto语句退出多层嵌套的循环语句
3.5.4 习题
3.6 程序设计
3.6.1 例题
3.6.2 程序设计的一般步骤
3.6.3 习题
3.7 小结
第4章 数组
4.1 数组概念、数组定义和数组元素引用
4.1.1 数组概念
4.1.2 数组定义
4.1.3 数组元素引用
4.1.4 数组元素的地址计算
4.1.5 习题
4.2 数组初始化
4.3 字符数组
4.3.1 字符串常量
4.3.2 字符数级其输入输出
4.3.3 字符数组初始化
4.3.4 习题
4.4 把多维数组看成一维数组
4.4.1 习题
4.4.2 循环程序设计
4.5 一个例子
4.5.1 一个例子
4.5.2 设计循环程序
4.5.3 例程
4.5.4 习题
4.6 小结
第5章 函数
5.1 函数的概念和函数的定义
5.1.1 C语言函数概念
5.1.2 函数定义
5.1.3 return语句
5.1.4 习题
5.2 函数调用
5.2.1 函数调用的语法
5.2.2 函数调用的实现
5.2.3 习题
5.3 函数原型
5.3.1 函数原型
5.3.2 习题
5.4 数组作函数参数
5.4.1 一维数组作函数参数
5.4.2 二维数组作函数参数
5.4.3 习题
5.5 变量的存储类别
5.5.1 变量的生存期和作用域
5.5.2 外部变量
5.5.3 外部静态变量
5.5.4 内部静态变量
5.5.5 自动变量和寄存器变量
5.5.6 存储类别小结
5.5.7 习题
5.6 函数的存储类别:内部函数和外部函数
5.7 递归函数
5.7.1 递归函数概念
5.7.2 递归函数设计
5.8 习题
5.8.1 程序设计举例
5.8.2 习题
5.9 小结
第6章 指针
6.1 指针概念扩指针变量定义
6.2 指针运算及指针应用举例
6.2.1 指针运算
6.2.2 指针运算应用举例
6.2.3 习题
6.3 指针作函数参数
6.3.1 指针作函数参数
6.3.2 数组形参实际是指针型的形参
6.3.3 利用指针参数返回计算结果
6.3.4 习题
6.4 二级指针和指针数组
6.4.1 二级指针
6.4.2 指针数组
6.4.3 命令行参数
6.4.4 二级指针与指针数组的关系
6.4.5 习题
6.5 指向数组的指针变量
6.5.1 指向数组的指针变量
6.5.2 习题
6.6 返回指针的函数
6.6.1 返回指针的函数
6.6.2 习题
6.7 指向函数的指针变量
6.7.1 指向函数的指针变量
6.7.2 习题
6.8 复合说明项
6.8.1 复合说明项
6.8.2 习题
6.9 程序设计例题
6.9.1 例题
6.9.2 习题
6.10 小结
第7章 结构和共用体
7.1 结构类型
7.1.1 结构类型概念和定义
7.1.2 位段结构
7.2 结构类型变量
7.2.1 变量定义
7.2.2 结构型数据的操作
7.2.3 习题
7.3 共用体类型
7.3.1 共用体类型
7.3.2 枚举类型
7.3.3 typedef
7.3.4 习题
7.4 内存空间的动态分配
7.4.1 内存空间的动态分配
7.4.2 内存动态分配函数
7.4.3 内存分配应用举例
7.4.4 习题
7.5 线性链接
7.5.1 线性链表的插入、查找和删除
7.5.2 线性链表的变种
7.5.3 习题
7.6 程序设计例题
7.6.1 例题
7.6.2 习题
7.7 小结
第8章 文件
8.1 基本概念
8.2 文件的读写
8.2.1 文件的读写
8.2.2 习题
8.3 文件定位函数和文件的随机访问
8.3.1 文件定位函数和文件的随机访问
8.3.2 习题
8.4 程序设计例题
8.4.1 例题
8.4.2 习题
第9章 编译预处理
9.1 宏定义与宏调用
9.1.1 基本概念
9.1.2 定义参数个数可变的函数
9.1.3 习题
9.2 include命令和首部文件
9.2.1 include命令的功能
9.2.2 include命令和首部文件
9.2.3 库管理程序
9.3 条件编译
附录
附录1 参考答案1
附录2 参考答案2