答案: C是面向过程的,C++是面向对象的~~ 这个是最主要的区别~~--------------------------------------------------------------------------------------------------------------------- C++起初是对C语言的改进和扩充后来独立成为了一门集面向对象与面向过程于一身的语言但同时维护了同 C 的向后兼容性,这也必须包括兼容了原始设计中的所有的弱点。有很多修正这些弱点的尝试,但是兼容性是最大的困扰,从而限制了对C++的发展。
C语言之所以要起名为“C”,是因为它是主要参考那个时候的一门叫B的语言,它的设计者认为C语言是B语言的进步,所以就起名为C语言;但是B语言并不是因为之前还有个A语言,而是B语言的作者为了纪念他的妻子,他的妻子名字的第一个字母是B; 当C语言发展到顶峰的时刻,出现了一个版本叫C with Class,那就是C++最早的版本,在C语言中增加class关键字和类,那个时候有很多版本的C都希望在C语言中增加类的概念;后来C标准委员会决定为这个版本的C起个新的名字,那个时候征集了很多种名字,最后采纳了其中一个人的意见,以C语言中的++运算符来体现它是C语言的进步,所以就叫C++,也成立了C++标准委员会; 美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)博士在20世纪80年代初期发明并实现了C++(最初这种语言被称作“C with Classes”)。一开始C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、命名空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC 1488-1998。C++是具有国际标准的编程语言,通常称作ANSI/ISO C++。1998年是C++标准委员会成立的第一年,以后每5年视实际需要更新一次标准,下一次标准更新将是在2009年,目前我们一般称该标准C++0x。遗憾的是,由于C++语言过于复杂,以及他经历了长年的演变,直到现在(2009年)只有Visual C++ 2010 CTP开发环境的编译器完全符合这个标准。另外,就目前学习C++而言,可以认为他是一门独立的语言;他并不依赖C语言,我们可以完全不学C语言,而直接学习C++。根据《C++编程思想》(Thinking in C++)一书所评述的,C++与C的效率往往相差在正负5%之间。所以有人认为在大多数场合C++ 完全可以取代C语言(然而我们在单片机等需要谨慎利用空间、直接操作硬件的地方还是要使用C语言)
面向过程的程序C和C++基本都一样的,cout是流输出,printf是格式输出,其实用起来C++和C我没有感觉什么不一样的,可能是我很少用面向对象编程的原因。不过搞字符串的话string 比 char * 确实好用很多。也就是用C++的话,很多问题可以简化,因为C++对C增加很多优化。在GUI编程的时候,C++很方便,用C的话,比较麻烦,不是一般人干的了的。你比较一下C的数据结构和C++的数据结构就看出来两者的差别了。具体的感觉就是C要考虑的东西很多,几乎每个正常的程序里面都有大量的错误检查,而在C++的里面,错误检查明显没有那么多。C要考虑的东西很多,要干什么都要自己做,C++就简单一些,很多事情,她已经帮你做好了,你可以不用做那么多。呵呵,C++兼容C,就是C的程序,改成.cpp一样可以编译运行,但是包含C++比C改进和扩展的那部分的C++程序,改成.c的话就不会编译了。简单的用集合来说,C就是C++的子集。
以上内容,均参考自: http://zhidao.zhaoxi.net/question/139551746.html?push=qlC语言是面向过程C++是面向对象
可以这么说。C++语言是C语言的扩展
语法基本一致,但是有了面向对象的概念,比如继承,封装等
既然有了面向对象的概念,所以代码肯定是又所改变的,比如说C语言不能用NEW关键字。而C++却可以NEW
C语言是面向过程化高级编程语言,C++是面向对象的高级编程语言。C是面向过程,C++是面向对象,C++的特征是:继承,封装和多态