内容简介
第1章 机器语言模式
1.1 模拟机器指令集与程序设计举例
1.2 机器语言的局限性
问题与练习
第2章 C语言模式
2.1 基于基本类型的编程模式
2.2 基本数据类型
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.4 类型转换
2.5 程序流程控制结构
2.5.1 if-else语句
2.5.2 switch-case语句
2.5.3 break语句和continue语句
问题与练习
第3章 函数
3.1 函数自定义与调用
3.2 函数声明与定义
3.3 函数与变量的存储类别
3.3.1 自动局部变量
3.3.2 静态局部变量
3.3.3 外部变量
3.4 函数应用设计举例
3.4.1 阶乘累加
3.4.2 求π的近似值
3.4.3 求最大公约数
3.4.4 判断质数
3.4.5 数制转换
3.5 模块化程序设计
3.5.1 全局外部函数
3.5.2 静态外部函数
3.5.3 全局外部变量
3.5.4 静态外部变量
3.6 编译预处理
3.6.1 无参宏指令
3.6.2 带参宏指令
3.6.3 条件编译指令
3.6.4 文件包含指令
问题与练习
第4章 一维数组和指针
4.1 指针和指针传递
4.2 一维数组和指针
4.2.1 一维数组
4.2.2 指向一维数组的指针
4.2.3 数组类型和数组首元素类型
4.3 const型指针
4.4 动态数组
4.5 数组和指针应用举例
4.5.1 Josephus问题
4.5.2 选择排序
4.5.3 起泡排序
4.5.4 划分数组元素
4.5.5 删除数组中的重复数据
4.5.6 筛法求质数
4.5.7 顺序搜索和二分搜索
4.6 索引和指针
4.7 指针和左值
4.8 函数指针
问题与练习
第5章 C字符串
5.1 字符串常量和字符串变量
5.2 字符串基本操作函数原型
5.3 字符串基本操作函数实现
5.4 字符串基本操作函数的补充
5.4.1 取子串
5.4.2 子串插入
5.4.3 子串删除
5.4.4 字符查找
5.5 模式匹配
问题与练习
第6章 结构体、联合体和枚举
6.1 结构体
6.1.1 结构体定义
6.1.2 结构体变量和typedef名字
6.1.3 结构体变量的初始化和赋初值
6.1.4 结构体数组
6.1.5 结构体的嵌套
6.1.6 结构体返回值和指针传递
6.1.7 数组和含有数组的结构体变量
6.2 联合体
6.3 枚举
6.4 结构体应用设计举例
6.4.1 模拟洗牌
6.4.2 Date结构体
6.4.3 三天打鱼,两天晒网
问题与练习
第7章 顺序表
7.1 数组的局限性
7.2 顺序表声明与实现
7.2.1 顺序表声明
7.2.2 顺序表实现
7.3 索引和指针
7.4 数据抽象和封装
问题与练习
第8章 链表
8.1 链表的结构分析
8.2 链表的声明和实现
问题与练习
第9章 C的流与文件
9.1 文件指针
9.2 文件打开与关闭
9.3 文件的读写
9.3.1 字符的读写
9.3.2 字符串的读写
9.3.3 无格式读写
9.3.4 格式读写
9.3.5 文件的随机访问
问题与练习
第10章 二维数组和指针
10.1 二维数组和指针
10.2 二维数组和一维数组
10.3 马鞍点
10.4 指针数组和二级指针
10.5 指针数组与二维数组
问题与练习
第11章 从C到C++
11.1 C语言的固有局限性
11.2 内联函数
11.3 运算符重载和函数重载
11.3.1 运算符重载
11.3.2 函数重载
11.4 引用型
11.4.1 概念的由来
11.4.2 引用型及其应用
11.5 函数模板
11.6 提取符和插入符
11.7 默认参数
11.8 深入讨论——函数模板实例化中的问题
问题与练习
第12章 顺序表类
12.1 从C顺序表到C++顺序表类
12.2 new和delete操作符
12.3 需要增加、删除和修改的成员函数
12.4 顺序表类的声明和实现
12.5 类模板
12.6 基本类型赋值形式的扩展
问题与练习
第13章 String类
13.1 String类的声明
13.2 String类的实现
13.2.1 构造函数和析构函数
13.2.2 成员赋值运算符
13.2.3 成员转换
13.2.4 串连接
13.2.5 关系运算
13.2.6 求子串
13.2.7 子串插入
13.2.8 子串删除
13.2.9 下标运算符
13.2.10 字符查找
13.2.11 输入输出
13.3 模式匹配
13.4 String类的深入讨论
13.4.1 转换赋值运算符函数的替代
13.4.2 成员函数“类串+C串”的替代
13.4.3 explicit修饰符
问题与练习
第14章 Date类
14.1 Date类的声明
14.2 Date类的实现
14.3 静态数据成员和静态成员函数
14.4 封装的典型应用
问题与练习
第15章 非线性结构与递归
15.1 树形结构与递归
15.2 C++递归函数
15.3 汉诺塔问题
15.4 快速排序
15.5 八皇后
问题与练习
第16章 继承和多态性
16.1 构造函数的参数初始化表
16.2 继承
16.3 受保护成员
16.4 多态性和虚函数
16.5 虚析构函数
16.6 纯虚函数和抽象类
问题与练习
第17章 向量类模板
17.1 向量类模板的声明和实现
17.2 函数对象
问题与练习
第18章 链表类模板和适配器
18.1 链表类模板List
18.2 链表和链表类模板的代码对比
18.3 适配器
18.3.1 链栈
18.3.2 链队列
18.3.3 优先级链队列
问题与练习
第19章 C++综合设计实例
19.1 中缀表达式求值
19.2 事件驱动模拟
问题与练习
第20章 C++的流与文件
20.1 格式化输入输出
20.1.1 设置流的格式化标志
20.1.2 格式输出函数
20.1.3 操作算子
20.2 文件的读写
20.2.1 字符读写函数
20.2.2 字符串读写函数
20.2.3 无格式读写函数
20.2.4 格式读写
20.2.5 随机访问
20.3 文件错误处理
问题与练习
第21章 命名空间
21.1 命名空间的定义
21.2 using namespace语句
21.3 命名空间的成员
21.4 命名空间的别名
问题与练习
附录A 命名规则
附录B 常用的ANSI C标准库函数
参考文献