前言
第1章 C语言概述
1.1 程序设计语言的发展
1.2 C语言的发展过程
1.3 C语言的主要特点
1.4 C语言程序的结构
1.5 C语言程序的执行
1.5.1 源程序翻译
1.5.2 链接目标程序
1.6 C语言程序的开发工具
1.7 本章小结
1.8 问与答
习题一
第2章 基本的数据类型、运算符与程序语句
2.1 数据在计算机内的存储形式
2.1.1 字符型数据
2.1.2 整型数据
2.1.3 实型数据
2.2 标识符、变量和常量
2.2.1 标识符
2.2.2 变量
2.2.3 常量
2.3 基本数据类型
2.3.1 整型
2.3.2 实型数据
2.3.3 字符型
2.4 运算符和表达式
2.4.1 算术运算符和算术表达式
2.4.2 关系运算符和关系表达式
2.4.3 逻辑运算符和逻辑表达式
2.4.4 赋值运算符和赋值表达式
2.4.5 逗号运算符和逗号表达式
2.4.6 位运算符与位运算
2.4.7 sizeof运算符
2.4.8 数据类型的转换
2.4.9 表达式的计算次序
2.4.10 C语句概述
2.5 标准的输入/输出函数
2.5.1 格式化输出函数printf()
2.5.2 格式化输入函数scanf()
2.5.3 字符输出函数putchar()、putC()、putch()
2.5.4 字符输入函数getChar()、getC()、getCh()
2.6 程序范例
2.7 本章小结
2.8 问与答
习题二
第3章 算法设计与程序的控制结构
3.1 算法的概念与特点
3.1.1 什么是算法
3.1.2 算法的特点
3.1.3 引例
3.2 算法的描述方法
3.2.1 用自然语言表示算法
3.2.2 用流程图表示算法
3.2.3 用伪代码表示算法
3.2.4 用计算机语言表示算法
3.3 顺序结构
3.3.1 顺序结构
3.3.2 应用程序范例
3.4 选择结构
3.4.1 分支语句if()~与if()~else~
3.4.2 条件运算符和条件表达式
3.4.3 多分支语句switch
3.4.4 应用程序范例
3.5 循环结构
3.5.1 while语句、do~while语句和for语句
3.5.2 单重循环应用程序范例
3.5.3 嵌套循环及其应用程序范例
3.6 程序流程的转移控制
3.6.1 跳转语句goto
3.6.2 break和Continue语句
3.6.3 exit()函数
3.6.4 应用程序范例
3.7 结构化程序设计方法
3.8 本章小结
3.9 问与答
习题三
第4章 函数与编译预处理
4.1 函数的概念及其分类
4.2 函数的定义
4.3 函数的声明与调用
4.3.1 函数能被使用的条件
4.3.2 函数声明的场合
4.3.3 函数声明的格式
4.3.4 函数声明的位置
4.3.5 函数的调用、参数与返回值
4.3.6 函数的传值方式
4.4 变量的作用域和存储类别
4.4.1 变量的作用域
4.4.2 变量的存储类别
4.5 内部函数与外部函数
4.6 递归函数
4.7 编译预处理
4.7.1 宏定义与宏替换
4.7.2 文件包含预处理命令#inClude
4.7.3 条件编译命令
4.8 综合范例
4.9 本章小结
4.10 问与答
习题四
第5章 数组
5.1 数组的应用场合
5.2 一维数组的定义、引用和初始化
5.2.1 一维数组的定义
5.2.2 一维数组的初始化
5.2.3 一维数组元素的引用与应用程序范例
5.2.4 一维数组作为函数的参数与应用程序范例
5.3 多维数组的定义、引用和初始化
5.3.1 二维数组的概念
5.3.2 二维数组的定义
5.3.3 二维数组及多维数组的初始化
5.3.4 二维数组元素的引用及其应用程序范例
5.3.5 二维数组作为函数的参数与应用程序范例
5.4 字符数组
5.4.1 字符数组与字符串的关系
5.4.2 字符数组的初始化
5.4.3 字符串的输入
5.4.4 字符串的输出
5.4.5 字符串处理函数
5.4.6 字符数组的应用程序范例
5.5 本章小结
5.6 问与答
习题五
第6章 指针
6.1 指针的概念
6.1.1 什么是指针
6.1.2 为什么要引入指针概念
6.1.3 指针变量的定义
6.1.4 指针变量的使用
6.2 指针的运算
6.2.1 指针的算术运算
6.2.2 指针的关系运算
6.3 指针与数组之间的关系
6.3.1 指向一维数组元素的指针及其应用程序范例
6.3.2 指向二维数组的指针及其应用程序范例
6.3.3 字符指针及其应用程序范例
6.3.4 指针数组及其应用程序范例
6.4 指针作为函数的参数及其应用程序范例
6.5 指针作为函数的返回值及其应用程序范例
6.6 指向函数的指针及其应用程序范例
6.7 带参数的main函数及其应用程序范例
6.8 指向指针的指针及其应用程序范例
6.9 动态数组的实现
6.9.1 C程序的内存映像
6.9.2 动态内存分配与释放函数
6.9.3 一维动态数组的实现
6.9.4 二维动态数组的实现
6.10 图形处理函数的简单应用
6.11 本章小结
习题六
第7章 构造数据类型
7.1 问题的提出
7.2 结构体数据类型
7.2.1 结构体数据类型的定义
7.2.2 关键字typedef的用法
7.2.3 结构体变量的定义
7.2.4 结构体变量的初始化
7.2.5 结构体变量成员的引用
7.2.6 结构体变量成员的输入/输出
7.3 结构体数组
7.3.1 结构体数组的定义与初始化
7.3.2 结构体数组的应用程序范例
7.4 结构体指针
7.4.1 结构体指针变量的定义与应用程序范例
7.4.2 结构体数组与指针变量及其应用程序范例
7.5 结构体变量与函数
7.5.1 结构体作为函数的形式参数与实际参数
7.5.2 函数的返回值类型为结构体
7.6 共用体(联合体)数据类型
7.6.1 共用体(联合体)数据类型的定义
7.6.2 共用体(联合体)类型变量的定义与引用
7.7 枚举数据类型
7.7.1 枚举数据类型的定义
7.7.2 枚举类型变量的定义与引用
7.8 单向链表的概念
7.8.1 问题的提出
7.8.2 单向链表的建立
7.8.3 单向链表的节点的插入
7.8.4 单向链表节点的删除
7.8.5 单向链表的销毁
7.9 位段
7.10 本章小结
7.11 问与答
习题七
第8章 文件
8.1 问题的提出
8.2 文件的概念
8.3 文件操作的常用函数
8.3.1 文件的打开与关闭
8.3.2 文件的错误检测与处理
8.3.3 文件的顺序读写及其范例
8.3.4 文件的随机读写及其范例
8.4 本章小结
8.5 问与答
习题八
附录A C语言的保留字与关键字
附录B C语言运算符优先级结合性表
附录C ASCII字符表
附录D C语言常用库函数
参考文献