第1章 计算机的组成与程序设计语言
1.1 计算机的组成及工作过程
1.2 机器语言程序设计
1.3 机器语言的局限性
1.4 高级程序设计语言与C语言
1.5 C语言程序及其开发
本章小结
习题
第2章 基本数据类型
2.1 常量与变量
2.2 整型
2.3 字符型
2.4 实型
2.5 typedef类型名
本章小结
习题
第3章 表达式与运算符
3.1 表达式与算术运算符
3.2 关系运算符
3.3 逻辑运算符
3.4 自增自减运算符
3.5 位运算符
3.6 条件运算符
3.7 赋值和复合赋值运算符
3.8 逗号运算符
3.9 内部类型转换
本章小结
习题
第4章 程序流程控制
4.1 算法与语句
4.1.1 算法及其描述方法
4.1.2 C语言的语句分类
4.2 顺序结构
4.3 选择结构
4.3.1 if~else语句
4.3.2 switch~case语句
4.4 循环结构
4.4.1 for语句
4.4.2 while语句
4.4.3 do~while语句
4.4.4 循环嵌套
4.5 其他流程控制语句
4.5.1 break语句
4.5.2 continue语句
4.5.3 goto语句
本章小结
习题
第5章 一级指针与一维数组
5.1 一级指针类型
5.1.1 直接引用与间接引用
5.1.2 地址的类型——指针类型
5.1.3 指针的基本操作——间接引用
5.1.4 指针的基本操作——加减一个整数
5.1.5 指针的其他基本操作
5.2 一维数组类型
5.2.1 一维数组的定义
5.2.2 一维数组的初始化
5.2.3 一维数组名的双重含义
5.3 一级指针变量与一维数组
5.3.1 指针变量
5.3.2 指针变量定义中的“*”的位置
5.3.3 数组指针的基类型和指针变量的基类型相同
5.3.4 数组指针的基类型和指针变量的基类型不同
5.3.5 一个变量等价于一个长度为1的数组
5.3.6 取址运算和间接引用运算互为逆运算
5.3.7 “野”指针和void指针
5.4 移动下标与移动指针的比较
5.5 一维数组应用举例
5.5.1 查找一个数据元素
5.5.2 插入一个数据元素
5.5.3 删除一个数据元素
5.5.4 选择法排序
本章小结
习题
第6章 函数
6.1 函数定义与调用
6.2 函数声明
6.3 函数定义与调用举例
6.3.1 判断质数
6.3.2 求最大公约数
6.3.3 在数组中查找一个元素
6.3.4 选择法排序
6.3.5 冒泡法排序
6.4 函数调用与变量的存储类别
6.4.1 自动局部变量
6.4.2 静态局部变量
6.4.3 外部变量
6.4.4 寄存器变量
6.5 动态空间管理
6.5.1 一维动态空间的申请与释放
6.5.2 “耗尽”动态空间资源的实验
6.5.3 一种“野”指针的实验
6.5.4 筛选法求质数
6.5.5 约瑟夫环问题
6.6 关于函数调用的深入讨论
6.6.1 传值与传地址
6.6.2 返回值与返回地址
6.6.3 返回值与传地址
6.7 函数指针
6.8 递归
本章小结
习题
第7章 模块化程序设计相关
7.1 全局外部函数
7.2 静态外部函数
7.3 全局外部变量
7.4 静态外部变量
7.5 const常类型
7.5.1 const常量
7.5.2 指向const常量的指针
7.5.3 const常量指针
7.5.4 指向const常量的const常量指针
7.6 编译预处理
7.6.1 无参宏指令
7.6.2 带参宏指令
7.6.3 条件编译指令
7.6.4 文件包含指令
7.7 模块化程序设计方法简介
本章小结
习题
第8章 结构、联合、枚举
8.1 结构
8.1.1 结构定义
8.1.2 结构指针
8.1.3 结构数组
8.1.4 结构的嵌套
8.1.5 结构型返回值和地址调用
8.2 结构应用程序举例
8.2.1 学生记录排序
8.2.2 洗牌
8.3 联合
8.4 枚举
本章小结
习题
第9章 字符串
9.1 字符串的定义与存储
9.2 字符串的赋值和输出
9.2.1 字符串赋值
9.2.2 字符串的输入/输出处理
9.3 字符串处理函数的原型
9.4 字符串处理函数的实现
9.5 字符串应用程序举例
9.5.1 数字串转换函数的应用
9.5.2 判断回文
本章小结
习题
第10章 二维数组与指针
10.1 二维数组的定义与赋值
10.2 二维数组与一维数组
10.3 二维数组名的双重含义
10.4 二维数组与行指针
10.5 二维数组与列指针
10.6 一维指针数组与二级指针
10.7 一维指针数组与二维数组
10.8 二维动态空间的申请与释放
10.9 二维(数组)指针和一维(数组)指针的相互转化
10.10 以二级指针为形参的main函数
本章小结
习题
第11章 流与文件
11.1 文件指针
11.2 文件的打开与关闭
11.3 文件的读写
11.3.1 字符的读写
11.3.2 字符串的读写
11.3.3 无格式读写
11.3.4 格式读写
11.4 文件的随机访问
11.5 文件的复制
本章小结
习题
第12章 高级程序设计
12.1 单链表
12.1.1 单链表结点结构的定义
12.1.2 单链表的建立
12.1.3 单链表的遍历
12.1.4 单链表的查找
12.1.5 单链表的插入
12.1.6 单链表的删除
12.1.7 单链表的逆置
12.1.8 单链表操作的完整程序
12.1.9 其他类型的单链表
12.2 学生成绩档案管理系统的设计与实现
12.2.1 数据类型的定义
12.2.2 为结点类型定制的基本操作
12.2.3 用二进制文件实现数据的 永久保存
12.2.4 用两级菜单四层函数实现 系统
本章小结
习题
第13章 C++初步
13.1 输入/输出
13.2 结构
13.3 内联函数
13.4 默认函数
13.5 函数重载
13.6 运算符重载
13.7 引用
13.8 布尔型
本章小结
习题
附录A 常用字符与ASCII码对照表
附录B C语言的关键字
附录C Visual C++下各数据类型所占字节数及取值范围
附录D C语言运算符的优先级与结合性
附录E 常用的ANSI C标准库函数
附录F C语言程序设计常见错误及解决方案
附录G 命名规则
附录H C语言的发展简史
附录I 函数printf的格式转换说明符
附录J 函数printf的格式修饰符
参考文献