采纳率:53%12级 2013.07.16
你好!希望我的回答能给你一些启发。
C语言是结构化和模块化的面向过程的语言,C++语言是面向对象的程序设计语言。C++语言是C语言的超集,也就是说学会了C++,你其实已经把C语言学会了。至于说有什么区别,应该说是编程思想的区别吧,C是基于过程的,强调的是程序的功能,以函数(功能)为中心。C++是面向对象的,强调程序的分层、分类,以抽象为基础,进行对象的定义与展示,即程序设计。具体说来话长。建议你学习C++的时候,学会用面向对象的方式思考和编程。现在在开发大项目的时候,都是应用面向对象的分析和设计的技术。
C和C++的区别有什么
今天在网易上看到有人问C和C++的区别有什么,在这里简略说点.
其他的东西都不需要多说,就象类,继承,引用等,大家都知道.
这里讲的是调用编译的区别.大家看WIN32 SDK的头文件,总是可以看到
ifdef __cplusplus
extern "C"
endif
ifdef __cplusplus
endif
这个就是直接能够体现实际编程时区别的地方. 在WIN系列下.所有的WIN32 SDK提供的LIB都是以C的形式存在的.当然,C和C++同样都支持C,STDCALL,FASTCALL调用.为什么系统提供C编译器编译的LIB而不是C++编译的LIB呢?这里其实就是C和C++编译器不同的地方.
所有的函数名称只有在汇编编译器下才最清楚.因为经汇编编译器编译的函数不经过任何修饰.
C 的编译器编译出来的函数名称如果在汇编编译器看来一个C调用将在函数名前家下划线('_').而一个STDCALL的函数将是_FUNC@NUMBER的形式.如FUNC(void)经过编译器后成为_FUNC@0.一个FASTCALL调用的函数被编译成@FUNC@0.顺便提一下.在WIN32的编译器里不再需要PASCALL调用.VC6已经取消了对PASCALL的支持.
光看C的编译还不够,看一下C++编译器是怎么干的.在缺省情况下.一个C++的函数经过C++编译器后编译出的函数名包括函数名,所属的类,参数类型,调用约定,返回类型.而且更要命的是这么多的信息,只有函数名和类名在编译后还依稀可见.其他就是一长串的ABCD字母,根本就是无法辨认其意义的.我们在VC手册里可以看到
一个例子:
void __stdcall b::c(float); -----------> ?c@b@@QAGXM@Z
一个函数被编译得连名字也不知道怎么样了.这么一来.如果SDK提供的是C++编译器提供了LIB.那么可以说就无法编译任何一个完整的WIN程序.更加不用说什么混合语言编程.
现在,VC编译器提供了个extern语句.当出现extern '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++有什么区别?学了C++考C语言有什么要注意的?
1,全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。但你也可能单独调用API。
c++和C语言的区别?
4,C语言可以写很多方面的程序,但是C++可以写得更多更好,C++可以写基于DOSr程序,写DLL,写控件,写系统。5,C语言对程序的文件的组织是松散的,几乎是全要程序处理;而c++对文件的组织是以工程,各文件分类明确。6,C++中的IDE很智能,和VB一样,有的功能可能比VB还强。7,C++对可以自动生成你...
c++和c语言的区别是什么?
c++与c语言的区别是对象不同、函数库不同、结构不同、设计思想不同。1、对象不同C语言是面向过程的,而C++是面向对象的。2、函数库不同C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对W...
全国计算机等级考试二级C语言和C++的区别?
1、本质不同 C语言是用于考查应试人员计算机应用知识与技能。C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。2、功能不同 C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器...
c和c语言c++什么的有什么不同?
C语言与C++语言主要区别在于编程思想与设计方法上。C语言是结构化和模块化的面向过程编程语言,关注于实现特定功能,以函数为中心组织代码。而C++语言则是面向对象的程序设计语言,强调程序的分层与分类,以抽象为基础,通过对象定义与展示来实现程序设计。C++可以视作C语言的扩展,学习C++同时掌握了C语言的...
C语言与C++有什么区别吗学C语言有什么用
C++在C语言之上增加了面向对象的特性。学习C主要学习编程语言的基本语法,算法。只要掌握一种语言,再学其他的开发语言就事半功倍了。
c语言和c++语言有什么区别
1. 语法差异:虽然C++是基于C语言的,但两者在语法上存在诸多不同。例如,C++支持更多的数据类型和操作符号,如引用、动态内存分配等。此外,C++支持类和对象的概念,具有继承、多态等特性。而C语言更注重基本的数据操作和功能实现。2. 面向对象支持:C语言不支持面向对象编程,而C++则全面支持。面向对象...
c语言和c++的区别和联系
一、C语言和C++语言的区别 1、面向对象编程:C语言不支持面向对象编程,而C++语言支持面向对象编程。面向对象编程是一种编程范型,它将数据和操作封装在一起,形成对象。C++语言通过类、继承和多态等机制实现面向对象编程。2、异常处理:C语言不支持异常处理,而C++语言支持异常处理。异常处理是一种处理程序...
计算机二级C语言和C++有什么区别
计算机二级考试中的C语言与C++主要区别在于编程范式的不同。C++作为高级语言,采用面向对象的编程思路,相较于C语言的面向过程,它提供更强大的功能。对未曾接触C语言的学员,学习C++可能会感到困难。然而,对于通过C语言二级考试的学员来说,将两者相比较学习,会更加得心应手。C语言以面向过程的方式进行...
c++与c语言的区别是什么?
C++与C语言的区别 一、语言机制与特性差异 1. 编译器与代码运行效率的不同:C语言在编译时会尽量生成紧凑、高效的代码,执行效率较高。而C++除了保持C语言的效率外,还提供了更多高级特性如对象封装和多态,编译时需要生成更多用于管理对象的额外代码。这通常不会影响核心程序的执行速度,但对整体代码执行...