C语言和C++语言的区别是什么?
2018-06-26 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
C语言是结构化和模块化的面向过程的语言,C++语言是面向对象的程序设计语言。C++语言是C语言的超集,也就是说学会了C++,你其实已经把C语言学会了。至于说有什么区别,应该说是编程思想的区别吧,C是基于过程的,强调的是程序的功能,以函数(功能)为中心。C++是面向对象的,强调程序的分层、分类,以抽象为基础,进行对象的定义与展示,即程序设计。具体说来话长。建议你学习C++的时候,学会用面向对象的方式思考和编程。现在在开发大项目的时候,都是应用面向对象的分析和设计的技术。
C语言与C++的区别有很多:
1,全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。
2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。但你也可能单独调用API。
3,特别是C++中的图形处理,它和语言的图形有很大的区别。C语言中的图形处理函数基本上是不能用在中C++中的。C语言标准中不包括图形处理。
4,C和C++中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在C++中结构中,它可以有自己的成员变量和成员函数。但是在C语言中结构的成员是公共的,什么想访问它的都可以访问;而在VC++中它没有加限定符的为私有的。
4,C语言可以写很多方面的程序,但是C++可以写得更多更好,C++可以写基于DOSr程序,写DLL,写控件,写系统。
5,C语言对程序的文件的组织是松散的,几乎是全要程序处理;而c++对文件的组织是以工程,各文件分类明确。
6,C++中的IDE很智能,和VB一样,有的功能可能比VB还强。
7,C++对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入MFC中的类的时候,加入变量的时候等等。
8,C++中的附加工具也有很多,可以进行系统的分析,可以查看API;可以查看控件。
9,调试功能强大,并且方法多样
C语言与C++的区别有很多:
1,全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。
2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。但你也可能单独调用API。
3,特别是C++中的图形处理,它和语言的图形有很大的区别。C语言中的图形处理函数基本上是不能用在中C++中的。C语言标准中不包括图形处理。
4,C和C++中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在C++中结构中,它可以有自己的成员变量和成员函数。但是在C语言中结构的成员是公共的,什么想访问它的都可以访问;而在VC++中它没有加限定符的为私有的。
4,C语言可以写很多方面的程序,但是C++可以写得更多更好,C++可以写基于DOSr程序,写DLL,写控件,写系统。
5,C语言对程序的文件的组织是松散的,几乎是全要程序处理;而c++对文件的组织是以工程,各文件分类明确。
6,C++中的IDE很智能,和VB一样,有的功能可能比VB还强。
7,C++对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入MFC中的类的时候,加入变量的时候等等。
8,C++中的附加工具也有很多,可以进行系统的分析,可以查看API;可以查看控件。
9,调试功能强大,并且方法多样
展开全部
从编程思想的角度:C过程化的编程语言,
而C++则是通过api函数的调用中的参量的赋值,或api函数的返回值等等来
实现c++程序面向对象的编程。
概括的说:C是面向对象,C++是面向过程
什么是api?api简单来说就是提供给编程者以实现基本功能的函数的集合。
从二者的使用形势来看: 二者在使用时的绝大部份是完全一样或者基本一样,这点主要是由语
言的基本方法决定的,因为C++就是根据C发展的。例如:二者在引用
头文件时都是#include “***.h”,在定义宏的时候都是#define ***** @@@
、在定义变量都是类似int a、char ch....
说了这么多相同,不同点也是很多的,这主要表现在C++中为了实现统
编程而新加了很多内容,诸如新的类型,典型代表:类(class)句柄
(handle),以及大量的对原C语言的类型和对新加的类型的起“小
名”等再深说就太复杂,不利于新手对C++的理解。
总之,C++是对C的继承和深化。
造成二者不同的根源:学过C++的都一致认为其很难学:入手很难,即使C语言学的不错,依然
有 障碍!这一点毋庸置疑!为什么C++难学,如何才能学会C++?我个人
认为想学好C++首先就要认清C++和C之间的造成区别的原因。
形势主要表现在头文件上:C的头文件对没有像C++那样对标准函数库的
大量的、密集的集成,这注定了,学习C语言的时候,不用记住太多函数
,只要掌握编程思想就可以编写出程序。而c++则不同,
因为你光知道编程思想是不够的,是不能写出windows程序的,因为写
windows程序需要大量的windows api函数封装,构造出程序等,同时
C++编程新手可能根本不知道有哪些api函数可以实现自己想要的功能。
这也造成了C++的学习困难。。。。。。
说太多了,提问者看到了肯定会烦!
在这里我指明重点:C++和C在对基础类库的集成程度上的差异造成了
二者差异的主要原因。也是难度差异的主要因素。
以上为本人根据自己的实践经验和对二者的认识总结出来的观点和认识,
如果有某位大神认为我说的不对,完全可以指出,但不要乱喷,
我相信能掌握C++的人的素质不会低,毕竟都是程序猿了,作为高级知识分子没必要自降身份。
纯手打,谢谢支持!如果还有不明白的可以问我。
而C++则是通过api函数的调用中的参量的赋值,或api函数的返回值等等来
实现c++程序面向对象的编程。
概括的说:C是面向对象,C++是面向过程
什么是api?api简单来说就是提供给编程者以实现基本功能的函数的集合。
从二者的使用形势来看: 二者在使用时的绝大部份是完全一样或者基本一样,这点主要是由语
言的基本方法决定的,因为C++就是根据C发展的。例如:二者在引用
头文件时都是#include “***.h”,在定义宏的时候都是#define ***** @@@
、在定义变量都是类似int a、char ch....
说了这么多相同,不同点也是很多的,这主要表现在C++中为了实现统
编程而新加了很多内容,诸如新的类型,典型代表:类(class)句柄
(handle),以及大量的对原C语言的类型和对新加的类型的起“小
名”等再深说就太复杂,不利于新手对C++的理解。
总之,C++是对C的继承和深化。
造成二者不同的根源:学过C++的都一致认为其很难学:入手很难,即使C语言学的不错,依然
有 障碍!这一点毋庸置疑!为什么C++难学,如何才能学会C++?我个人
认为想学好C++首先就要认清C++和C之间的造成区别的原因。
形势主要表现在头文件上:C的头文件对没有像C++那样对标准函数库的
大量的、密集的集成,这注定了,学习C语言的时候,不用记住太多函数
,只要掌握编程思想就可以编写出程序。而c++则不同,
因为你光知道编程思想是不够的,是不能写出windows程序的,因为写
windows程序需要大量的windows api函数封装,构造出程序等,同时
C++编程新手可能根本不知道有哪些api函数可以实现自己想要的功能。
这也造成了C++的学习困难。。。。。。
说太多了,提问者看到了肯定会烦!
在这里我指明重点:C++和C在对基础类库的集成程度上的差异造成了
二者差异的主要原因。也是难度差异的主要因素。
以上为本人根据自己的实践经验和对二者的认识总结出来的观点和认识,
如果有某位大神认为我说的不对,完全可以指出,但不要乱喷,
我相信能掌握C++的人的素质不会低,毕竟都是程序猿了,作为高级知识分子没必要自降身份。
纯手打,谢谢支持!如果还有不明白的可以问我。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c++和c语言的区别:1、关键字蓝色标注为C语言关键字,C++继承了C语言的所有关键字,以下红色标注为C++中含有但C语言没有的关键字(根据c++98中提出C++包含63个关键字)。2、源文件区别C语言文件后缀为c,c++原文件名后缀为.cpp。如果在创建源文件时什么都不给,默认是.cpp。3、返回值不同C语言中,如果一个函数没有指定返回值类型,默认为int类型,并返回一个随机数,一般为0XCCCCCCCC。在C++中,如果函数没有返回值则必须指定为void型,否则编译不能通过。4、参数列表在C语言中,函数没有指定的参数列表时,默认可接收任意多个参数。在C++中,有严格的参数类型检测,没有参数列表的函数,默认为void,不接收任何参数。5、C++支持函数重载,C语言不支持在实际开发中,有时候我们需要实现几个功能类似的函数,只是有些细节不同。
例如希望交换两个变量的值,这两个变量有多种类型,可以是int、float、char、bool等,我们需要通过参数把变量的地址传入函数内部。
在C语言中,程序员往往需要分别设计出三个不同名的函数,其函数原型与下面类似:
void swap1(int*a,int*b);//交换int变量的值。void swap2(float*a,float*b);//交换float变量的值。void swap3(char*a,char*b);//交换char变量的值。void swap4(bool*a,bool*b);//交换bool变量的值。但在C++中,这完全没有必要。C++允许多个函数拥有相同的名字,只要它们的参数列表不同就可以,这就是函数的重载(Function Overloading)。借助重载,一个函数名可以有多种用途。6、指针和引用C语言中函数传参方式有两种:传值和传址。
以传值方式,在函数调用过程中会生成一份临时变量用形参代替,最终把实参的值传递给新分配的临时形参。它的优点是避免了函数调用的副作用,却无法改变形参的值。如果要改变实参的值,只能通过指针传递。指针可以解决问题,但是不安全,因此在C++中引入了引用。7、命名空间在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局命名空间中,会导致很多冲突,使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或者名字污染,namespace关键字的出现就是解决这种问题。而C语言中没有。
8、输入与输出
cout代表c++的输出流。
cin代表c++的输入流。
它们都是在头文件“iostream”中定义。
“cout”必须与”<<”一起使用,“<<”起到插入的作用。
在一条语句中可以多次使用“<<”输出多个数据。
例如希望交换两个变量的值,这两个变量有多种类型,可以是int、float、char、bool等,我们需要通过参数把变量的地址传入函数内部。
在C语言中,程序员往往需要分别设计出三个不同名的函数,其函数原型与下面类似:
void swap1(int*a,int*b);//交换int变量的值。void swap2(float*a,float*b);//交换float变量的值。void swap3(char*a,char*b);//交换char变量的值。void swap4(bool*a,bool*b);//交换bool变量的值。但在C++中,这完全没有必要。C++允许多个函数拥有相同的名字,只要它们的参数列表不同就可以,这就是函数的重载(Function Overloading)。借助重载,一个函数名可以有多种用途。6、指针和引用C语言中函数传参方式有两种:传值和传址。
以传值方式,在函数调用过程中会生成一份临时变量用形参代替,最终把实参的值传递给新分配的临时形参。它的优点是避免了函数调用的副作用,却无法改变形参的值。如果要改变实参的值,只能通过指针传递。指针可以解决问题,但是不安全,因此在C++中引入了引用。7、命名空间在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局命名空间中,会导致很多冲突,使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或者名字污染,namespace关键字的出现就是解决这种问题。而C语言中没有。
8、输入与输出
cout代表c++的输出流。
cin代表c++的输入流。
它们都是在头文件“iostream”中定义。
“cout”必须与”<<”一起使用,“<<”起到插入的作用。
在一条语句中可以多次使用“<<”输出多个数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言面向过程,C++面向对象,这是最主要的区别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言面向过程,C++面向对象,C++兼容C。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |