面向过程的C语言
面向过程的语言完成方式是顺序的,即从main
函数入口开始顺序调用并执行各个函数,最终返回。
【面向过程加工的是函数】。
#include <stdio.h>
//C 中定义了一个自定义数据类型
struct Circle {
double r;
double Cir_C;
double Cir_S;
};
int main() {
double Circle_C(double r);
double Circle_S(double r);
struct Circle c1;
scanf("%lf", &c1.r);
c1.Cir_C = Circle_C(c1.r);
c1.Cir_S = Circle_S(c1.r);
printf("%7.2lf\n", c1.Cir_C);
printf("%7.2lf\n", c1.Cir_S);
system("pause");
return 0;
}
double Circle_C(double r) {
double C = 2 * 3.14 * r;
return C;
}
double Circle_S(double r) {
double S = 3.14 * r *r;
return S;
}
面向对象的C++语言
面向对象的语言需要完成类的抽象,类拥有属性,包含成员变量、成员函数等。
类是一个数据类型(固定大小内存块的别名)。定义一个类,不会分配内存,实例化时才会分配内存。
类的实例化:用这个类定义变量(对象)。
【面向对象加工的是类】。
#include <iostream>
using namespace std;
//C++中定义了一个自定义数据类型,【类的抽象】
class MyCircle{
public: //类的成员变量(属性)
double m_s;
double m_r;
public: //类的成员函数
void setR(double r){
m_r = r;
}
double getR(){
return m_r;
}
double getS(){
m_s = 3.14 * m_r * m_r;
return m_s;
}
//protected:
//private:
//类的访问控制属性,这个问题用不到私有与保护,选择省略
};
int main(){
MyCircle c1; //类的实例化
double r;
cout <<"请输入c1圆的半径:"<< endl;
cin >> r;
c1.setR(r); //调用c1对象的类的成员函数
cout << "c1圆的面积为:" << c1.getS() << endl;
return 0;
}