第一章 程序设计基础
1.1 计算机基础
1.1.1 计算机硬件系统
1.1.2 计算机软件系统
1.1.3 计算机的发展
1.1.4 计算机的发展方向
1.2 程序设计基础
1.2.1 程序及算法
1.2.2 算法的特征和描述
1.2.3 算法与程序设计
1.2.4 程序设计语言
1.2.5 C语言
1.3 程序设计发展史
1.4 结构化程序设计
1.4.1 结构化程序设计的发展
1.4.2 结构化程序设计的特征与风格
1.4.3 C语言与结构化程序设计
1.4.4 C程序的执行
1.5 面向对象程序设计
习题一
第二章 C语言基本数据类型、运算符和表达式
2.1 常量和变量
2.1.1 标识符与关键字
2.1.2 常量和变量
2.2 C语言基本数据类型
2.2.1 整型数据
2.2.2 实型数据
2.2.3 字符型数据
2.3 运算符和表达式
2.3.1 算术运算符和算术表达式
2.3.2 赋值运算符和赋值表达式
2.3.3 关系运算符和关系表达式
2.3.4 逻辑运算符和逻辑表达式
2.3.5 逗号运算符和逗号表达式
2.3.6 运算符的优先级和结合性
2.4 位运算
2.5 数据类型转换
2.5.1 自动类型转换
2.5.2 强制类型转换
习题二
第三章 C语言语句与结构化程序设计的三种基本结构
3.1 C语句概述
3.2 顺序结构程序设计
3.2.1 表达式语句
3.2.2 数据的输出
3.2.3 数据的输入
3.2.4 复合语句
3.2.5 顺序程序设计
3.3 分支程序设计
3.3.1 if语句
3.3.2 switch语句
3.3.3 break语句
3.3.4 条件运算符
3.3.5 分支程序设计
3.4 循环程序设计
3.4.1 for语句
3.4.2 while语句
3.4.3 do-while语句
3.4.4 循环嵌套
3.4.5 continue语句
3.4.6 break语句的进一步说明
3.4.7 循环程序设计
3.5 综合应用举例
习题三
第四章 数组
4.1 数组概述
4.2 一维数组
4.2.1 一维数组的定义
4.2.2 一维数组的引用
4.2.3 一维数组的输入/输出
4.2.4 一维数组的初始化
4.2.5 一维数组程序举例
4.3 二维数组
4.3.1 二维数组的定义
4.3.2 二维数组的引用
4.3.3 二维数组的初始化
4.3.4 二维数组程序举例
4.4 字符数组
4.4.1 字符数组的定义
4.4.2 字符数组的初始化
4.4.3 字符数组的的引用
4.4.4 字符数组的输入/输出
4.4.5 字符串处理函数
4.4.6 程序举例
4.5 数组应用综合举例
习题四
第五章 函数
5.1 函数概述
5.2 函数定义
5.2.1 函数的定义形式
5.2.2 空函数
5.3 函数参数与函数的返回值
5.3.1 形式参数与实在参数
5.3.2 函数的返回值
5.4 函数的调用
5.4.1 函数调用
5.4.2 函数调用规则
5.5 函数的嵌套调用和速归调用
5.5.1 函数的嵌套调用
5.5.2 函数的递归调用
5.6 数组作为函数参数
5.6.1 数组元素作函数参数
5.6.2 数组名作函数参数
5.6.3 多维数组做参数
5.7 变量作用域
5.7.1 局部变量
5.7.2 全局变量
5.8 变量存储类别与生存周期
5.8.1 静态存储变量
5.8.2 动态存储变量
5.8.3 全局变量的存储类别
5.8.4 变量的生存周期
5.9 内部函数和外部函数
5.9.1 内部函数
5.9.2 外部函数
5.10 函数的综合举例
习题五
第六章 指针
6.1 指针的概念
6.2 指针变量
6.2.1 指针变量的定义
6.2.2 指针变量的引用
6.2.3 指针变量的运算
6.2.4 指针变量作为函数参数
6.3 数组与指针
6.3.1 指针与数组的关系
6.3.2 指向数组元素的指针
6.3.3 指针与一维数组
6.3.4 指针与多维数组
6.4 字符串与指针
6.5 函数与指针
6.5.1 指向函数的指针
6.5.2 把指向函数的指针变量作为函数参数
6.5.3 返回值为指针的函数
6.6 指针数组与指向数组的指针
6.6.1 指针数组的概念
6.6.2 指向指针的指针
6.7 综合举例
习题六
第七章 结构体与并用体
7.1 结构体的概念与定义
7.1.1 结构体的定义
7.1.2 结构体变量的定义
7.1.3 结构体变量的引用
7.1.4 结构体变量的初始化
7.2 结构体数组
7.2.1 结构体数组的定义
7.2.2 结构体数组的初始化与引用
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.5.3 链表的插入与删除
7.6 位段
7.7 共用体
7.7.1 共用体变量的定义
7.7.2 共用体变量的引用
习题七
第八章 文件
8.1 文件的概念与定义
8.2 文件类型指针
8.3 文件的打开与关闭
8.3.1 文件的打开(fopen函数)
8.3.2 文件的关闭(fclose函数)
8.4 文件的读写
8.4.1 fputc函数和fgetc函数(putc函数和getc函数)
8.4.2 fread函数和fwrite函数
8.4.3 fprintf函数和fscanf函数
8.4.4 其他读写函数
8.5 文件的定位
8.5.1 rewind函数
8.5.2 fseek函数和随机读写
8.5.3 ftell函数
习题八
第九章 编译预处理
9.1 宏定义
9.2 “文件包含”处理
9.3 条件编译
习题九
第十章 C++及面向对象设计基础
10.1 C++对C语言的扩充
10.1.1 注释行
10.1.2 在块(分程序)内说明
10.1.3 作用域运算符
10.1.4 函数名重载
10.1.5 函数参数的缺省值
10.1.6 变量的引用类型
10.1.7 inline说明符
10.1.8 插入运算符<<和析取运算符>>
10.1.9 动态分配/撤销内存的运算符new和delete
10.2 面向对象的基本概念与特征
10.2.1 对象
10.2.2 类和类层次
10.2.3 继承性
10.2.4 封装性
10.2.5 多态性
10.3 类与对象
10.3.1 类
10.3.2 对象
10.3.3 构造函数和析构函数
10.3.4 友员
10.4 继承性与派生类
10.5 虚拟函数和多态性
10.5.1 虚拟函数
10.5.2 多态性
10.6 小结
附录
附录1 ASCII编码表
附录2 运算符的优先级和结合性
附录3 C语言库函数
附录4 编译错误信息
参考文献