已知圆的半径(浮点数),求该圆的周长和面积并输出。圆的半径、周长、面积均要用双精度浮点型(double 型)变量来存储。在程序中,你还要定义一个符号常量,常量名为PI,即π值:3.14159265。圆的周长公式为2*π*R,圆的面积公式为π*R*R,其中R为圆的半径。
输入格式:
为一个正的浮点数,代表圆的半径。测试用例保证输入合法。
输出格式:
只有一行。假如输入的半径为5.5,则输出为“The perimeter is 34.5575, the area is 95.0332.”。
注意,结果保留4位小数。 双精度浮点数打印4位小数的方法为:printf(“%.4lf”,area); “%.4lf”中”.4”即表示输出小数点后4位。
输入样例:
5.5
输出样例:
The perimeter is 34.5575, the area is 95.0332.
代码如下:
#include <stdio.h>
#define pl 3.14159265//此处为宏定义
int main()
{
double R, pe, ar;
scanf("%lf", &R);
pe = 2 * pl * R;
ar = pl * R * R;
printf("The perimeter is %.4lf, the area is %.4lf.", pe, ar);
//%.4f就是打印小数点后4位
return 0;
}
对宏定义做解释:宏(Macro),是一种批量处理的称谓。计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。绝大多数情况下,“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。
对它最简单的理解是:#define pl 3.14159265 即之后需要出现圆周率3.1415926535的地方可以用pl进行代替
#define PI 3.14 //注意结束处无分号
宏定义的优点:程序易读性好,使用方便,减少出错
命名常量:和变量类似,命名常量也是内存存储空间的名字,代表一片内存存储空间,但一旦赋值便不允许程序去改变该存储空间中的数据。
const double Pl =3.1415926535;
命名常量和宏定义作用大概相同(这是最肤浅的理解)
下面探讨命名常量和宏定义的区别:
(1)内存分配上: 命名常量会在内存的程序运行数据区分配到内存,而宏定义不会
(2)类型定义上:命名常量精确的定义的数据类型,而宏定义只是简单的替换,没有类型
计算圆周率与圆的周长面积:C++实现与精度控制
本文介绍如何使用C++编程语言,通过定义双精度浮点型变量和常量,计算圆的周长和面积,特别关注了保留4位小数的输出格式。同时讨论了宏定义和命名常量的区别及其在圆周率计算中的应用。
2050

被折叠的 条评论
为什么被折叠?



