第1章 程序设计基本概念
1.1 计算机的过去与现在
1.2 计算机硬件结构
1.3 计算机软件
1.3.1 操作系统
1.3.2 应用软件
1.3.3 程序语言
1.4 程序设计方法
第2章 流程图
2.1 简介
2.2 范例
问题练习
第3章 C++程序语言初步
3.1 前言
3.2 C++的程序结构
3.3 变量与常量
3.4 数据类型(Data Type)
3.4.1 整数(Integer)
3.4.2 浮点数(Floating Point)
3.4.3 字符(Charater)与字符串(String)
3.4.4 布尔型
3.4.5 枚举型
3.4.6 数据类型转换
3.5 操作数与运算符
3.5.1 算术运算符
3.5.2 递增(十十)、递减(--)运算符
3,5.3 赋值(=)与复合赋值(op=)运算符
3.6 结论
问题练习
第4章 选择语句与重复语句
4.1 前言
4.2 关系运算符、逻辑运算符
4.2.1 关系运算符
4.2.2 逻辑运算符
4.2.3 运算符的优先级
4.3 if语句
4.4 switch语句
4.5 while语句
4.6 do while语句
4.7 for语句
4.8 break语句
4.9 continue语句
4.10 goto label
4.11 选择语句与重复语句的应用
4.11.1 十进制转换成二进制
4.11.2 求不大于整数n的质数
4.12 结论
问题练习
第5章 数组与结构
5.1 前言
5.2 数组(Anay)
5.2.1 数组的定义与初始值设定
5.2.2 数组数据的访问
5.2.3 字符数组
5.3 结构(Shucture)
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 堆栈(Stack)
5.4.7 队列(Queue)
5.5 结论
问题练习
第6章 指针
6.1 前言
6.2 指针(Pointer)
6.3 字符指针
6.4 字符串指针
6.5 数组指针
6.6 结构指针
6.7 动态内存配置
6.8 结论
问题练习
第7章 输入与输出
7.1 前言
7.2 格式化的输出
7.2.1 设定输出宽度
7.2.2 设定对齐方式
7.2.3 设定输出的小数点位数
7.2.4 设定以小数点或科学记号方式输出
7.2.5 格式化标志
7.3 字符、字符串的输入与输出
7,3.1 字符的输入与输出
7.3.2 字符串的输入与输出
7.4 文本数据的存取
7.4.1 文本文件的存取
7.4.2 文件的打开模式
7.4.3 二进制文件的存取
7.5 结论
问题练习
第8章 进一步讨论字符
8.1 前言
8.2 字符的应用
8.2.1 字符的定义与赋值
8.2.2 字符的运算
8.2.3 控制符
8.2.4 测试字符
8.2.5 字符数组
8.3 字符串的应用
8.3.1 字符串的定义与赋值
8.3.2 字符串的链接
8.3.3 字符串的长度
8.3.4 子字符串
8.3.5 比较字符串大小
8.3.6 寻找某字符串
8.3.7 寻找特定字符
8.3.8 插入字符串
8.3.9 替换字符串内容
8.3.10 删除子字符串
8.4 结论
问题练习
第9章 函数
9.1 前言
9.2 函数的定义与声明
9.2.1 函数的定义
9.2.2 函数的声明——函数原型
9.2.3 调用函数
9.3 C++的程序结构
9.4 标识符的作用域
9.5 参数的传递
9.5.1 传值调用(Call By Value)
9.5.2 传址调用(Call By Address)
9.5.3 引用调用(Call By Reference)
9.6 内联(inline)函数
9.7 递归函数(Recursive Function)
9.8 主程序的实参
9.9 函数的应用
9.9.1 系统函数:随机数发生器rand()与random(n)
9.9.2 系统函数:日期与时间getdate()与gettime()
9.9.3 系统函数:ceil(x)与floor(x)
9.9.4 系统函数:平方根sqrt(x)
9.9.5 系统函数:次方pow(x,y)
9.9.6 输出空格与空行
9.9.7 布尔函数
9.9.8 冒泡排序法
9.9.9 堆栈的实作(使用数组)
9.9.10 堆栈的制作(使用链接串行结构)
9.10 结论
问题练习
第10章 预处理指令、程序文件的分割与异常处理
10.1 前言
10.2 预处理指令
10.2.1 #include
10.2.2 #define与#undef
10.2.3 #if、#ifdef与#ifndef
10.3 程序文件的分割
10.3.1 变量的范围法则与外部变量
10.3.2 名空间(Namespace)
10.4 异常处理
10.5 结论
问题练习
第11章 面向对象的基本概念
11.1 软件危机
11.2 回归自然
11.3 面向对象的问题分析
11.4 面向对象的程序语言
问题练习
第12章 类的定义
12.1 前言
12.2 类的声明
12.2.1 结构的定义
12.2.2 声明
12.3 成员函数的定义与内联函数
12.4 构造函数与析构函数
12.5 合成使用类
12.6 静态的类成员
12.7 结论
问题练习
第13章 运算符的重载
13.1 前言
13.2 友元函数与this指针
13.2.1 友元函数
13.2.2 this指针
13.3 重载的基本概念
13.3.1 运算符
13.3.2 定义运算符重载
13.4 流运算符重载
13.5 一元运算符重载
13.5.1 取址运算符&
13.5.2 !运算符
13.5.3 ++与一运算符
13.6 二元运算符重载
13.6.1 下标运算符[]
13.6.2 赋值运算符
13.6.3 其他的二元运算符
13.7 实用性的Date类
13.8 结论
问题练习
第14章 继承
14.1 前言
14.2 继承的声明
14.2.1 基类与派生类
14.2.2 派生类的定义
14.3 构造函数与析构函数的使用
14.4 类的赋值问题
14.5 多重继承
14.6 结论
问题练习
第15章 虚函数与多态性
15.1 前言
15.2 虚函数的声明
15.3 抽象类
15.4 虚析构函数
15.5 结论
问题练习
第16章 软件工程简介
16.1 前言
16.2 何谓成功的信息系统开发项目
16.3 软件开发程序
16.4 软件开发方法
16.4.1 结构化方法
16.4.2 面向对象方法
16.5 软件开发工具
16.6 软件开发文件
16.6.1 为什么需要软件开发文件
16.6.2 软件分类原则
16.6.3 软件开发过程的文件
16.7 软件开发管理
16.7.1 项目管理
16.7.2 建构管理
16.8 结论
附录
附录A 流程图范例程序
附录B C十十保留字
附录C ASCII码表
附录D 运算符的优先级
参考文献