1 概述
1.1 程序设计和程序设计语言
1.1.1 程序与软件
1.1.2 程序设计语言发展
1.2 算法
1.2.1 问题求解过程
1.2.2 算法及其表示
1.2.3 结构化程序设计
1.3 C语言概述
1.3.1 C语言历史
1.3.2 C语言特点
1.3.3 C语言程序结构
习题
2 基本数据类型及其运算
2.1 基本语法单位
2.1.1 字符集
2.1.2 保留字
2.1.3 标识符
2.2 基本数据类型
2.2.1 整数类型
2.2.2 实数类型
2.2.3 字符类型
2.2.4 数据类型转换
2.3 常量和变量
2.3.1 数值常量
2.3.2 符号常量
2.3.3 变量
2.4 运算和表达式
2.4.1 算术运算符与算术表达式
2.4.2 关系运算符和关系表达式
2.4.3 逻辑运算符与逻辑表达式
2.4.4 位运算符及其表达式
2.4.5 赋值运算符与赋值表达式
2.4.6 条件运算符与条件表达式
2.4.7 逗号运算符和逗号表达式
2.4.8 sizeof运算符
2.4.9 运算符的优先级和结合性
习题
3 简单程序设计
3.1 表达式语句
3.2 基本输入输出函数
3.2.1 字符输出函数putchar
3.2.2 字符输入函数getchar
3.2.3 格式输出函数printf
3.2.4 格式输入函数scanf
3.3 程序举例
习题
4 流程控制
4.1 复合语句
4.2 选择语句
4.2.1 if语句
4.2.2 switch语句
4.3 循环语句
4.3.1 while语句
4.3.2 do-while语句
4.3.3 for语句
4.3.4 循环的嵌套
4.4 跳转语句
4.4.1 break语句
4.4.2 continue语句
4.4.3 goto语句
4.5 程序举例
习题
5 数组
5.1 一维数组
5.1.1 数组定义
5.1.2 数组的引用
5.1.3 一维数组赋初值
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 二维数组的定义、引用和初始化
5.4 程序举例
习题
6 函数
6.1 函数的定义与调用
6.1.1 函数概述
6.1.2 函数的定义
6.1.3 函数的调用
6.2 函数参数
6.2.1 形式参数与实在参数的概念
6.2.2 形式参数与实在参数的结合
6.2.3 数组作为函数参数
6.3 函数的类型
6.3.1 函数的类型说明
6.3.2 返回语句
6.4 函数嵌套与递归调用
6.4.1 函数的嵌套调用
6.4.2 函数的递归调用
6.5 局部变量与全局变量
6.5.1 局部变量
6.5.2 全局变量
6.6 变量的存储属性
6.6.1 局部变量的存储方式
6.6.2 全局变量的存储方式
6.7 内部函数与外部函数
6.7.1 内部函数
6.7.2 外部函数
6.8 程序举例
习题
7 编译预处理
7.1 宏定义指令
7.1.1 #define
7.1.2 #undef
7.2 文件包含指令
7.3 条件编译指令
7.4 程序举例
习题
8 指针与引用
8.1 地址、指针和指针运算
8.1.1 地址与指针
8.1.2 指针说明
8.1.3 指针的运算
8.1.4 动态内存分配
8.2 指针与数组
8.2.1 数组指针
8.2.2 字符数组指针
8.2.3 指针数组和多级指针
8.3 指针与函数
8.3.1 指针作为函数参数
8.3.2 带参main函数和命令行参数
8.3.3 返回指针的函数
8.3.4 指向函数的指针
8.4 程序举例
习题
9 结构与联合
9.1 结构的概念
9.1.1 结构定义与变量说明
9.1.2 结构变量的引用
9.2 结构数组
9.3 结构和函数
9.3.1 结构型函数
9.3.2 结构指针型函数
9.4 结构指针
9.4.1 指向结构的指针
9.4.2 链表
9.5 字段结构
9.5.1 字段结构定义
9.5.2 字段变量的引用
9.6 联合类型
9.6.1 联合类型概念
9.6.2 联合类型变量的引用
9.7 枚举类型
9.8 类型定义
9.9 程序举例
习题
10 输入输出
10.1 输入输出的基本概念
10.1.1 文件、缓冲区与流
10.1.2 C输入输出机制
10.2 终端输入输出
10.2.1 字符输入输出
10.2.2 字符串输入输出
10.2.3 格式化输入输出
10.3 文件输入输出
10.3.1 文件的打开与关闭
10.3.2 文件的读写
10.3.3 文件的数据块读写
10.3.4 其他文件操作函数
10.4 非缓冲输入输出
10.4.1 文件的打开和关闭
10.4.2 文件的读写
10.4.3 文件的随机读写
10.5 程序举例
习题
11 面向对象语言C++基础
11.1 从C到C++
11.2 C++在面向过程方面的扩充
11.2.1 输入输出流类
11.2.2 函数重载
11.2.3 缺省参数
11.2.4 内联函数
11.2.5 引用
11.2.6 动态内存分配/撤销
11.2.7 其他扩充
11.3 类与对象
11.3.1 类的定义与实现
11.3.2 对象创建与引用
11.3.3 构造函数和析构函数
11.4 继承与派生
11.4.1 基类与派生类
11.4.2 派生类的构造函数与析构函数
11.4.3 多继承
11.5 多态性与运算符重载
11.5.1 滞后联编与虚函数
11.5.2 抽象类
习题
附录A ASCII码字符表
附录B C的库函数