c语言Q:构造一个圆类circle,属性为半径radius,圆周长和面积,要求定义以半径为参数、缺省值为0的构造函数,周长面积的计算在构造函数中实 现
时间: 2024-11-09 16:18:22 浏览: 18
在C语言中,我们可以创建一个Circle类来表示圆形,并包含半径(radius)、周长(perimeter)和面积(area)作为其成员变量。由于C语言并不直接支持类的概念,我们将采用结构体(struct)和静态成员函数的方式来模拟这个类的行为。下面是一个简单的示例:
```c
#include <stdio.h>
#include <math.h>
// 定义Circle结构体
typedef struct Circle {
float radius; // 半径
float perimeter; // 周长
float area; // 面积
// 构造函数,接受半径作为参数,如果没有提供,默认半径为0
void create_circle(float r) {
if (r > 0) {
radius = r;
perimeter = 2 * M_PI * radius; // 计算周长
area = M_PI * pow(radius, 2); // 计算面积
} else {
printf("Invalid radius! Setting to default value of 0.\n");
radius = 0;
}
}
} Circle;
int main() {
// 创建一个默认半径的Circle实例
Circle my_circle;
my_circle.create_circle(5);
// 打印圆的相关信息
printf("Radius: %.2f\n", my_circle.radius);
printf("Perimeter: %.2f\n", my_circle.perimeter);
printf("Area: %.2f\n", my_circle.area);
return 0;
}
```
在这个例子中,`create_circle`函数就是构造函数,它接收半径参数并初始化圆的属性。如果提供的半径小于或等于零,会设置默认值0。
阅读全文