内容简介
第1章 概述
1.1 自然语言与计算机语言
1.2 计算机语言、C语言及C++语言
1.3 简单的C/C++程序及其运行
1.3.1 C/C++程序开发运行环境
1.3.2 格式化输出输入函数printf和scanf
习题1
第2章 基本的C/C++语言
2.1 C/C++语言中的名词——类型、量值
2.1.1 整型和整型量值
2.1.2 浮点型和浮点量值
2.1.3 字符型和字符量值
2.1.4 字符串常量
2.2 C/C++语言中的动词——运算符、短语——表达式和特殊动词性关键字
2.2.1 赋值运算符和赋值表达式
2.2.2 算术运算符和算术表达式
2.2.3 逻辑值、逻辑运算符和逻辑表达式
2.2.4 关系运算符和关系表达式
2.2.5 其他运算符和表达式
2.2.6 不同类型量值的不同运算的混合
2.3 C/C++语言中的连词及句子——分支、循环和顺序结构
2.3.1 顺序结构
2.3.2 if…else——分支结构
2.3.3 switch…case——分支结构
2.3.4 ?—:——分支结构
2.3.5 for——循环结构
2.3.6 while——循环结构
2.3.7 do…while——循环结构
2.3.8 goto…label…if——循环结构
2.3.9 break——终止循环或开关
2.3.1 0 continue——终止本次循环
2.4 C/C++语言中的句子小结
2.5 用C/C++语言编写程序——段落
2.6 用C/C++语言编写复杂段落——语句嵌套
2.6.1 语句嵌套的含义
2.6.2 嵌套语句的示例
2.6.3 语句嵌套的小结
2.7 本章总结
习题2
第3章 C/C++语言的横向名词性扩充
3.1 同类变量的集合——数组
3.1.1 一维数组
3.1.2 二维数组
3.1.3 n维数组
3.1.4 字符数组
3.2 自定义类型——typedef
3.2.1 简单类型的自定义
3.2.2 同类集合类型的自定义
3.3 异类集合类型和异类集合变量
3.3.1 结构体类型和结构体变量
3.3.2 共用体类型和共用体变量
3.3.3 枚举类型和枚举变量
3.4 异类集合类型的同类集合类型——结构体数组
3.5 各种横向扩充类型的融合使用
习题3
第4章 C/C++语言的纵向名词性扩充1:指针
4.1 简单指针类型和指针量值
4.1.1 变量的三层含义
4.1.2 变量的指针和指针类型的变量
4.1.3 与指针相关的动词补充——&和*运算符
4.1.4 指针和指针变量示例
4.2 同类集合变量——数组的指针和指针变量
4.2.1 一维数组的指针和操作一维数组的指针变量
4.2.2 二维数组的各级指针
4.2.3 操作二维数组的各种指针变量
4.2.4 m维数组的指针和指向m维数组的指针变量
4.3 指向指针变量的指针量值——二级指针
4.3.1 二级地址和二级指针变量
4.3.2 各种复合的二级指针及多级指针
习题4
第5章 C/C++语言的纵向名词性扩充2:函数
5.1 函数的构成
5.1.1 函数的定义
5.1.2 函数的声明和调用
5.1.3 函数的参数和返回值
5.2 不同参数和不同返回值形式的各种函数
5.2.1 无返回值函数
5.2.2 参数或返回值是异类集合量值的函数
5.2.3 参数是简单指针量值的函数
5.2.4 参数或返回值是异类集合类型的指针量值的函数
5.2.5 参数是和一维数组名对应的指针量值的函数
5.2.6 参数是和二维数组名对应的指针量值的函数
5.2.7 返回值是指针量值的函数
5.3 函数的多级调用
5.3.1 函数的嵌套调用
5.3.2 函数的递归调用
5.4 函数的指针和指向函数的指针变量
5.4.1 函数的指针
5.4.2 指向函数的指针变量
5.5 main函数的参数
5.6 动态内存管理函数
习题5
第6章 名词的空间域、时间域和物理存储位置
6.1 C/C++程序的逻辑结构
6.2 名词性的类型和量值在各逻辑结构上的空间域
6.2.1 模块域
6.2.2 嵌套模块的层域
6.2.3 文件域
6.2.4 工程域
6.2.5 工作区域
6.3 名词性的类型和量值在各逻辑结构上的时间域
6.3.1 模块内的static
6.3.2 文件内的static
6.3.3 关于static的总结
6.4 变量的物理存储位置
习题6
第7章 编译预处理
7.1 简单替换宏——符号常量
7.2 复杂替换宏——宏函数
7.3 批量的嵌入——文件包含
7.4 条件编译
7.4.1 #ifndef…#else…#endif
7.4.2 #ifdef…#else…#endif
7.4.3 #if…#else…#endif
7.4.4 assert故障诊断
7.4.5 字符串替换——#
7.4.6 数字连接——##
习题7
第8章 C/C++语言的纵向名词性扩充3:宏观扩充——文件
8.1 输入输出流和文件的指针
8.1.1 输入输出流
8.1.2 文件的指针
8.2 文件的打开和关闭
8.2.1 文件的物理形式
8.2.2 文件的打开
8.2.3 文件的关闭
8.3 文件的顺序读写
8.3.1 向文件中顺序输出(写)字符
8.3.2 从文件中顺序输入(读)字符
8.3.3 文件的顺序多个数据读写
8.3.4 文件的格式化输入和输出
8.3.5 文件的字符串读写
8.4 文件内的定位和随机读写
8.4.1 检测文件位置指针
8.4.2 置文件位置指针于文件头
8.4.3 置文件位置指针于指定位置
8.5 文件的出错控制
8.5.1 检查是否到达文件尾feof()
8.5.2 检查当前文件操作是否出错ferror()
8.5.3 清除文件错误标识clearerr()
习题8
第9章 C/C++语言的纵向名词性扩充4:微观扩充——位和位域
9.1 位运算
9.1.1 位运算符和位运算
9.1.2 位运算举例
9.2 位域
习题9
第10章 C++给C语言打的补丁
10.1 补丁 1——C++的基本输入输出
10.2 补丁 2——代词引用&
10.3 补丁 3——形容词const
10.3.1 符号普通常量
10.3.2 符号引用常量
10.3.3 符号常量指针
10.3.4 符号指针常量
10.4 补丁 4——参数带有默认值的函数
10.5 补丁5——函数的重载
10.6 补丁6——函数的内联
10.7 补丁7——内存的动态分配和释放
习题10
第11章 C++的标志性新增名词:类和对象
11.1 类和对象的解析
11.1.1 类的C语言根源
11.1.2 类的C++语言创建
11.1.3 对象的定义
11.1.4 类的名词作用域审视
11.1.5 类数据成员的说明
11.1.6 类成员函数的说明
11.2 类对象的指针、引用及数组的应用
11.3 类的静态数据成员和静态成员函数
11.4 类对象的初始构造和析构
11.4.1 析构函数
11.4.2 构造函数
11.4.3 复制构造函数
11.4.4 类内包含指针变量及内存动态分配——深构造对象
11.5 对类作用域的破坏——友元
11.5.1 类的友元函数
11.5.2 类的友元类
11.5.3 对象的this指针
11.6 与类和对象相关的const
11.6.1 类内的常数据成员
11.6.2 类内的常成员函数
11.6.3 常对象
11.7 类内的其他类对象——子对象
习题11
第12章 C++的动词扩充:类作用域内的运算符和类型重载
12.1 运算符重载
12.1.1 将运算符重载为类的成员函数
12.1.2 将运算符重载为类的友元函数
12.2 类型重载
习题12
第13章 C++标志性名词(类)的发展1——类作用域的嵌套(继承和派生)
13.1 类作用域的单路线嵌套(单继承和派生)
13.1.1 类作用域的单路线结构化嵌套
13.1.2 类的单路线交叉嵌套(继承派生中的交叉问题)
13.1.3 类作用域单路线嵌套中的二义性问题
13.1.4 基类子对象的提取
13.1.5 类的单路线继承派生中的构造和析构函数
13.2 类作用域的多路线嵌套(多继承和派生)
13.2.1 类作用域多路线嵌套的单路线嵌套解析
13.2.2 类作用域多路线嵌套带来的二义性问题
13.2.3 多父类具有共同最基类时多义性问题的解决
13.2.4 多父类具有共同最基类时子类对象的创建
13.3 同一类家族众对象的综合管理问题——虚函数
13.3.1 用指向基类的指针变量来统一管理类家族的众对象的问题
13.3.2 用基类指针调用派生类中定义的与基类中同名的函数
13.3.3 用基类指针调用派生类中新定义的函数
13.3.4 基类中虚空函数的发展——纯虚函数和虚基类
13.3.5 用基类指针释放派生类中动态分配的内存空间——虚析构函数
习题13
第14章 C++标志性名词(类)的发展2——模板
14.1 函数模板
14.1.1 函数模板的定义和应用
14.1.2 函数模板的函数特性
14.2 类模板
14.2.1 类模板的定义和应用
14.2.2 类模板和类的关系
14.2.3 类模板类型的对象的各种形式作为函数的参数及类模板的友元函数模板
14.2.4 类模板中的静态成员
14.2.5 类模板的继承和派生
习题14
第15章 基于模板的文件操作——流
15.1 计算机操作文件的内在逻辑
15.2 流的概念和流类库
15.3 标准流对象及其操作
15.3.1 标准输入流对象及其操作方法
15.3.2 标准输出流对象及其操作方法
15.3.3 标准流操作示例
15.4 基于流类的磁盘文件操作
15.4.1 文本文件的操作
15.4.2 二进制文件的操作
习题15
第16章 C++表示有效范围的名词发展3——命名空间
16.1 命名空间的作用
16.2 命名空间的定义和使用
16.2.1 命名空间的定义
16.2.2 命名空间的使用
习题16
第17章 C++对预想不到的运行错误控制——异常处理
17.1 异常处理的作用
17.2 异常处理的语句规则
17.3 异常处理示例
习题17
第18章 C++的名词、动词融合发展4——标准模板库
18.1 标准模板库的引出
18.2 标准模板库中的容器(类)
18.3 标准模板库中的迭代器
18.4 标准模板库中的容器适配器
18.5 标准模板库中的泛型算法
习题18
附录A ASCII码表
参考文献