谭浩强C语言答案详解:交换变量、求余及三角形面积计算
需积分: 9 196 浏览量
更新于2024-07-27
收藏 214KB DOC 举报
本资源是C语言谭浩强版的解答集,涵盖了第十章至第十五章的内容。以下是章节中部分知识点的详细解析:
1. **第九章:编译预处理与宏定义**
- **9.1 宏定义与参数交换**:
宏`#define CHANGE(a,b,t) t=a; a=b; b=a`用于实现两个整数参数a和b的值互换。在`main()`函数中,通过`scanf()`读取用户输入的两个整数c和d,然后调用这个宏来交换他们的值,最后用`printf()`输出交换后的结果。
- **9.2 余数计算宏**:
`#define Q(a,b) a%b`定义了一个宏,用于计算两个整数a和b相除的余数。在`main()`中,读取c和d的值后,通过这个宏计算余数,并输出结果。
- **9.3 三角形面积计算**:
宏`#define SSS(m,n,k) (m+n+k)/2`用于求三角形的半周长,它是面积公式的基础。另外两个宏`#define AQRT(m,n,k)`用于求面积,这里有两种不同的实现方式:
- 方法一:使用`sqrt()`函数直接计算,简化公式为`((m+n+k)/2)*((m+n+k)/2-m)*((m+n+k)/2-n)*((m+n+k)/2-k)`。
- 方法二:同样计算半周长,但将乘法部分替换为`(m+n+k)/2`,避免浮点数乘法带来的精度问题,公式为`sqr(((m+n+k)/2)*((m+n+k)/2-m)*((m+n+k)/2-n)*((m+n+k)/2-k))`。
2. **使用宏进行程序编写**:
这些宏的使用体现了C语言预处理器的强大功能,通过宏定义可以简化代码,提高可读性和可维护性。在实际编程中,宏通常用于常量替换、算法封装或者格式化输出等场景,这里的例子展示了如何将复杂的数学运算封装成宏,方便在多个地方复用。
3. **输入输出与格式控制**:
在`main()`函数中,`scanf()`用于从用户处获取输入,`printf()`用于输出结果。通过控制台输出,可以看到变量的精确值,以及格式化输出如`%.3f`用于保留小数点后三位。
本资源提供了谭浩强版C语言教材中第9至15章的关键知识点解答,涉及宏定义、数学计算和基本的输入输出操作,适合学习者查阅和巩固C语言基础。通过理解和实践这些例程,可以加深对C语言预处理器和函数式编程的理解。
119 浏览量
2013-07-21 上传
2024-01-03 上传
2023-12-15 上传
2023-08-29 上传
2023-10-13 上传
2023-05-11 上传
2023-11-07 上传
cqqxyl1222
- 粉丝: 0
- 资源: 6
最新资源
- Python tkinter编写的科学计算器程序
- 祖国母亲的项链flash动画
- Redirector:WordPress重定向器插件
- RominManogil_3_02032020:Projet N°3开放式教室
- gostack-template-fundamentos-reactjs
- SHR-crx插件
- 毕业设计&课设-工程硕士学术项目.zip
- KVStorage:喜欢Android的键值数据库,一个简单的容易使用的Kv数据库
- XS:具有功能语义和常规语法的可扩展外壳(从es和rc降序)
- 快乐小猪英文歌flash动画
- C#制作一个可以旋转的饼型图
- 毕业设计&课设-基于MATLAB的UWV仿真.zip
- Ecommerce_Backend
- 美术课件画太阳flash动画
- BiteCodeLab2
- unifiapi:与UBNT Unifi控制器进行交互的Python代码