内容简介
第1章 欢迎学习C语言
1.1 程序、软件和操作系统
1.2 机器语言和汇编语言
1.3 过程式语言
1.4 面向对象的语言
1.5 计算机术语
1.6 编译和解释语言
1.7 第一个C程序
1.8 C的突出特点
1.9 隐式类型转换
1.10 显式类型转换
第2章 控制语句
2.1 求1到N的整数的总和
2.2 计算数字的阶乘
2.3 生成斐波那契数列
2.4 确定给定数字是否为质数
2.5 计算正弦函数
2.6 计算余弦函数
2.7 计算二次方程的根
2.8 计算整数的反转数
2.9 使用嵌套循环打印几何图案
2.10 生成终值利息系数表
第3章 函数和数组
3.1 确定圆周率π的值
3.2 从数字列表中选择质数
3.3 使用递归进行数字求和
3.4 使用递归计算斐波那契数列
3.5 使用递归计算数字的阶乘
3.6 搜索整数数组中的最大元素
3.7 解决经典的汉诺塔问题
3.8 解决八皇后问题
3.9 计算给定对象集的排列和组合
3.10 对两个矩阵求和
3.11 计算矩阵的转置
3.12 计算矩阵的乘积
第4章 指针和数组
4.1 从包含int类型数据的数组中获取数据
4.2 使用数组名称从数组中获取数据
4.3 从包含char和double类型数据的数组中获取数据
4.4 访问越界数组元素
4.5 存储字符串
4.6 存储字符串而不进行初始化
4.7 在交互式会话中存储字符串
4.8 获取二维数组中元素的地址
4.9 获取二维数组中行的基址
4.10 从二维数组中获取数据
4.11 使用数组名称从二维数组中获取数据
4.12 使用指针数组从数组中获取数据
4.13 物理交换字符串
4.14 逻辑交换字符串
4.15 以交互方式存储字符串
4.16 将命令行参数传递给程序
4.17 使用指向指针的指针获取存储的字符串
第5章 利用指针使用函数和结构
5.1 通过引用传递函数参数
5.2 显示嵌套结构中存储的数据
5.3 使用函数构建结构
5.4 通过将结构传递给函数来修改结构中的数据
5.5 通过将指向结构的指针传递给函数来修改结构中的数据
5.6 使用结构数组存储和获取数据
5.7 在交互模式下使用结构数组存储和获取数据
5.8 使用函数指针调用函数
5.9 实现基于文本的菜单系统
第6章 数据文件
6.1 逐个字符地读取文本文件
6.2 文件打开失败时处理错误
6.3 以批处理模式写入文本文件
6.4 以交互模式写入文本文件
6.5 逐个字符串地读取文本文件
6.6 逐个字符地写入文本文件
6.7 将整数写入文本文件
6.8 将结构写入文本文件
6.9 读取存储在文本文件中的整数
6.10 读取存储在文本文件中的结构
6.11 将整数写入二进制文件
6.12 将结构写入二进制文件
6.13 读取写入二进制文件的整数
6.14 读取写入二进制文件的结构
6.15 重命名文件
6.16 删除文件
6.17 复制文本文件
6.18 复制二进制文件
6.19 写入文件并读取该文件
6.20 将文本文件定位到所需字符
6.21 从键盘设备文件中读取
6.22 将文本写入显示器设备文件
6.23 从键盘设备文件读取文本并将其写入显示器设备文件
第7章 自引用结构
7.1 以交互方式生成数字列表
7.2 使用匿名变量创建链表
7.3 从链表中删除组件
7.4 将组件插入链表
7.5 在交互式会话中创建链表
7.6 处理线性链表
7.7 创建具备前向和后向遍历功能的线性链表
第8章 栈和队列
8.1 将栈实现为数组
8.2 将栈实现为链表
8.3 将中缀表达式转换为后缀表达式
8.4 将中缀表达式转换为前缀表达式
8.5 将循环队列实现为数组
第9章 搜索和排序
9.1 使用线性搜索查找数据元素
9.2 使用二分搜索查找数据元素
9.3 使用冒泡排序对给定的数字列表进行排序
9.4 使用插入排序对给定的数字列表进行排序
9.5 使用选择排序对给定的数字列表进行排序
9.6 使用归并排序对给定的数字列表进行排序
9.7 使用希尔排序对给定的数字列表进行排序
9.8 使用快速排序对给定的数字列表进行排序
第10章 密码系统
10.1 使用反向密码方法
10.2 使用恺撒密码方法
10.3 使用转置密码方法
10.4 使用乘法密码方法
10.5 使用仿射密码方法
10.6 使用简单替换密码方法
10.7 使用Vigenère密码方法
10.8 使用一次性密钥密码方法
10.9 使用RSA密码方法
第11章 数值方法
11.1 用对分法求方程的根
11.2 用试位法求方程的根
11.3 用穆勒法求方程的根
11.4 用牛顿拉夫森迭代法求方程的根
11.5 用牛顿前向插值法构造新的数据点
11.6 用牛顿后向插值法构造新的数据点
11.7 用高斯前向插值法构造新的数据点
11.8 用高斯后向插值法构造新的数据点
11.9 用斯特林插值法构造新的数据点
11.10 用贝塞尔插值法构造新的数据点
11.11 用拉普拉斯-埃弗雷特插值法构造新的数据点
11.12 用拉格朗日插值法构造新的数据点
11.13 用梯形数值积分法计算积分值
11.14 用辛普森的3/8数值积分法计算积分值
11.15 用辛普森的1/3数值积分法计算积分值
11.16 用修正的欧拉方法求解微分方程
11.17 用龙格-库塔方法求解微分方程
附录A 参考表
附录B 库函数
附录C C习惯用法
附录D 术语表