c++第一课 和c语言的差别
作者:互联网
c与 c++的区别:
c语言采用了一种有序的编程方法-结构化编程:将一个大型程序分解为一个个小型的、易于编写模块,所有的模块有序的调动起来形成了一个程序的完整的运行链。这种结构化编程反映出来过程性编程的思想,即c语言是一门面向过程的语言,更注重程序实现逻辑、怎么更好、更快、更直接的完成某一功能。
c语言是一种面向过程变成的语言 在,在编写大型项目时,并不利于程序的 复用性、扩展性,导致在后期维护时带来很多繁琐的工作,面临巨大挑战。针对于此,OOP(Object-Oriented Programming)的概念诞生了,与结构化编程不同的是,OOP更注重数据,让语言来满足问题的需求,设计出与问题本质特性相对应的数据格式。
OOD(Object-Oriented Design) :面向对象的设计
OOA(Object-Oriented Analysis) :面向对象的分析
c++是一门面向对象编程的语言,更注重的是程序整体的设计,后期方便维护、优化和管理,让一个功能尽可能地通用。这就是常说的面向过程和面向对象,其本质还是在其设计思想上。
c++是由c衍生出来的一门语言,不但兼容包含了c语言还增加了一些新特性继承、多态,函数重载,支持泛型编程(模板函数、模板类),强大的STL库等。
面向对象的三大特性:封装、继承、多态。
封装:将零散的数据和算法放到一个集合里,方便管理和使用
复用性: 公共功能 过程的抽象 体现为能被重复使用的类 或方法 就要求我们针对某一类功能区开发而不是针对某一个功能去设计
拓展性: 增加新的功能不影响已经封装好的功能
下面这段代码 就是展现了c++的拓展性和复用性
#include <stdio.h>
struct S_Add {
int Add(int a, int b) {
return a + b;
}
double Add(double a, double b) {
return a + b;
}
char Add(char a, char b) {
return a + b;
}
};
根据加法 利用struct 结构体将不同类型分别进行定义 int double char 类型的统一定义
c++输出与输入
<< :输出操作符
Cout<<a<<b;
Cout<<a<<" "<<b ; 空格 中间
cout << a <<" " << b<<endl; 换行
<<endl 加在结尾是换行 !
Cout<<::a<<endl;
:: 是作用域运算符 全局变量作用域
#include<iostream>//输入输出流,不加.h
using namespace std;//打开一个std(标准)命名空间
int main(){
int a=10;
char b='b';
cout<<" "<<b<<endl;
return 0;
}
>>:输入操作符
Cin>>a>>b;
如果对小数想保留后两位
cout << fixed << setprecision(2) << c
#include<iostream>//输入输出流,不加.h
using namespace std;//打开一个std(标准)命名空间
int main(){
int a=10;
char b='b';
cin>>a>>b;
cout<<a<<" "<<b<<endl;
return 0;
}
命名空间的创建打开与嵌套
#include<iostream>//输入输出流,不加.h
using namespace std;//打开一个std(标准)命名空间
//使用一个命名空间
//1using namespace std命名空间
//2手动指定命名空间及成员
//3显示的指定
//定义命名空间:区分同一个作用于下的相同成员
namespace AA{
int A=20;
void show(){
cout<<"AA::show"<<endl;
}
int c=40;
};
using AA::c;//打开AA空间全局并使用全局变量c
using AA::A;//打开AA空间全局并使用全局变量A
//作用域:成员能使用的一个范围
nemaspace BB{
int A=30:
namespace CC{ //命名空间的嵌套
int A=50;
}
};
using namespaceBB::CC; //打开BB空间里面的CC空间
int main(){
int a=10;
char b='b';
cout<<" "<<b<<endl;
return 0;
}
标签:std,差别,语言,int,c++,char,第一课,cout 来源: https://blog.csdn.net/m0_63862830/article/details/122375818