初级篇
第1章 C语言学习基础
1.1 预备知识:计算机系统的硬件与软件
1.1.1 计算机硬件系统
1.1.2 计算机软件系统
1.1.3 计算机语言
1.2 C语言简介
1.2.1 C语言的发展历史
1.2.2 C语言的特点
1.3 工程问题求解方法论
1.4 算法及其描述方法
1.4.1 算法的基本概念
1.4.2 算法的描述方法
1.5 C语言程序初探
1.5.1 亲身经历第一个C语言程序
1.5.2 认识C语言程序的基本结构
1.5.3 项目任务
1.5.4 要记住的C语言基本词汇
1.5.5 C语言的语句分类
1.6 对初学者的忠告
1.7 本章小结
第2章 C程序设计初步
2.1 程序入门
2.2 C语言的数据及其类型
2.2.1 C语言中的数据
2.2.2 数据类型概念
2.2.3 C语言数据类型
2.3 程序中的常量和变量
2.3.1 程序中的直接常量和符号常量
2.3.2 C语言程序中的变量
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.5 程序中的人机交互设计
2.6 C语言的基本语句
2.7 C语言中的输入输出语句
2.7.1 标准格式输入输出语句的简单应用
2.7.2 输入输出的复杂格式控制
2.7.3 字符/字符串数据的输入输出
2.8 工程计算问题求解与数学函数的应用
2.8.1 工程应用案例:数值问题求解
2.8.2 常用数学函数及其头文件
2.9 项目任务:“学生信息管理系统”软件界面的优化设计
2.10 本章小结
第3章 控制结构和数据文件
3.1 算法开发
3.1.1 自顶向下设计的算法思想
3.1.2 结构化程序设计思想
3.2 构造程序中的条件
3.2.1 关系运算符与关系表达式
3.2.2 逻辑运算符与逻辑表达式
3.2.3 控制条件的描述与表示
3.3 选择结构程序设计
3.3.1 选择结构语句(ConditionalStatements)
3.3.2 选择结构的嵌套
3.3.3 switch语句、break语句和goto语句
3.3.4 项目案例
3.4 循环结构(LoopStructure)程序设计
3.4.1 循环机制
3.4.2 实现循环的三种语句
3.4.3 三种循环的比较
3.4.4 循环嵌套
3.5 数据文件
3.5.1 I/O语句
3.5.2 数据文件的读取
3.6 应用案例:数值技术
3.6.1 定积分的计算
3.6.2 一元方程根的数值计算
3.7 本章小结
中级篇
第4章 函数模块化编程
4.1 模块化程序设计
4.2 函数的概念和分类
4.2.1 函数的概念
4.2.2 函数原型与定义
4.2.3 函数的分类
4.3 函数的调用与返回
4.3.1 函数间的数据传递方式
4.3.2 函数的嵌套与递归函数
4.3.3 项目案例
4.4 变量的作用域与生存期
*4.4.1 变量的存储空间分配概念
4.4.2 变量的作用域——局部变量和全局变量
4.4.3 动态存储与静态存储
4.5 编译预处理
4.5.1 宏定义
4.5.2 文件包含
4.6 本章 小结
高级篇
第5章 数组和矩阵
5.1 数组的基本概念
5.2 一维数组
5.2.1 一维数组的定义(逻辑结构,LogicalStructure)
5.2.2 一维数组的存储结构(物理结构,PhysicalStructure)
5.2.3 一维数组的初始化
5.2.4 一维数组元素的引用
5.3 数组与函数
5.3.1 数组元素作为函数的实际参数
5.3.2 一维数组名作为函数参数
5.3.3 应用案例:开发常用统计度量函数
5.4 排序算法
5.5 数据查找算法
5.6 数据插入算法
5.7 二维数组与多维数组
5.7.1 二维数组的定义与引用
5.7.2 二(多)维数组的存储与管理
5.7.3 二维数组的初始化
5.7.4 遍历二维数组元素
5.7.5 二维数组元素的计算与处理
5.7.6 项目任务实现
5.7.7 二(多)维数组名作为函数参数
5.8 字符数组与字符串处理库函数
5.8.1 字符数组定义及初始化
5.8.2 字符数组的输入输出
5.8.3 字符串处理函数
5.8.4 应用案例:开发文本编辑常用操作
5.8.5 项目任务:信息的保存和读取
*5.8.6 项目任务:用户信息管理
*5.8.7 项目任务:用户信息的查询和编辑操作
5.9 本章 小结
第6章 指针
6.1 指针的基本运算与操作
6.1.1 基本运算和操作
6.1.2 多级指针概念与地址关系
6.2 利用指针访问数组
6.2.1 指向一维数组和数组元素的指针
6.2.2 指向二(多)维数组和数组元素的指针
6.3 指针数组
6.3.1 指针数组定义与说明
6.3.2 指针数组与二维数值数组
6.3.3 指针数组与字符串(或文本)处理
*6.3.4 项目任务:用指针数组实现学生成绩管理
6.4 指针与函数
6.4.1 指针作函数参数
6.4.2 指针函数
6.4.3 函数指针
*6.5 动态内存分配
6.5.1 动态内存的基本概念
6.5.2 指针与动态内存函数
6.5.3 项目任务:用动态内存分配实现学生成绩管理
6.6 本章 小结
第7章 结构体.联合体及用户自定义类型
7.1 结构及结构变量的引入
7.1.1 结构类型的定义
7.1.2 结构体变量的定义和初始化
7.1.3 结构体变量的使用
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.4.3 返回结构体类型值的函数
7.5 链表
7.5.1 链表的基本概念
7.5.2 链表的基本操作
7.6 特殊的数据类型——联合体
7.6.1 联合体类型的定义
7.6.2 联合体变量的定义
7.6.3 联合体变量的使用
7.6.4 结构和联合的区别
7.7 用typedef定义类型
7.8 枚举类型
7.9 本章 小结
*第8章 项目案例综合实现
8.1 “学生信息管理系统”需求分析
8.2 系统流程处理设计
8.3 详细设计
8.4 编码
8.5 软件使用说明
附录
参考文献