C语言和C++的区别
C语言与C++的区别有很多,下面是简要概述:
1、面向不同
C语言是面向过程的,
C++是面向对象的。
函数库
C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;
C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。但你也可能单独调用API。
3、结构概念不同
C言中结构只有成员变量,而没成员方法,C语而在但是在C语言中结构的成员是公共的,什么想访问它的都可以访问;
C++中结构中,它可以有自己的成员变量和成员函数。
4、写作数量不同
C语言可以写很多方面的程序,
C++可以写得更多更好,C++可以写基于DOS的程序,写DLL,写控件,写系统。
5、组织不同
C语言对程序的文件的组织是松散的,几乎是全要程序处理;
C++对文件的组织是以工程,各文件分类明确。
1. C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是 如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程 (事务)控制)。
2. 对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应 的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控 制。
所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
对语言本身而言,C是C++的子集,那么是什么样的一个子集?从上文可以看出, C实现了C++中过程化控制及其它相关功能,而在C++中的C(我称它为“C+”),相对于原来的C还有所加强,引入了重载、内联函数、异常处理等等玩艺儿,C++更是拓展了面向对象设计的内容,如类、继承、虚函数、模板和包容器类等等。
C++在历史上曾经是C的扩展,不过现在两个都各自有发展,所以现在的C++与现在的C没有谁是谁的扩展的关系。
现在有人说C和C++是大熊猫和小熊猫的关系,也就是说只是名字相近——这多少有欠公允。不过C和C++的确是有巨大区别的,C语言简单有效,但处理大问题就很麻烦像把左轮手枪;而C++则简直是一辆坦克,功能齐备,但更肥大——无非都是兵器而已。至于说学习上C是C++的基础,倒是一大误区,枪械和火炮长得可能有点像,甚至也有点渊源,但终究全不是一回事。
先学C,后学C++有好处也有坏处,应该说至今仍有争论。
我的看法是,如果是做应用软件一类的编程,就不应该先学C,而且应该在初学时少接触C的旧式编程风格,而是把大部分精力放在C++的标准库(包括基于STL的编程,这方面国内一般的教材最欠缺),以及基于对象和面向对象的编程上。这是因为C++的这些应用从编程方式到代码风格都与C语言大相径庭,初学养成C式的编程习惯就很改掉,反而限制对类和泛型编程的理解。
如果是想接触比较底层的东西,以后做软件库开发、系统编程之类,那么学C语言,尤其是一些像宏、指针、内存管理等知识就很有好处(这些东西在前一种应用中却都要尽量避免)。但先学C的好处并不明显,因为直接学C++同样可以学到这些东西,只要改变一点学习侧重就可以了。
上面是从应用方向角度说的。至于学习的困难程度,直接学C++并不难,而且在一些方面更简单一些;只不过C++的内容比C多罢了。C++的创始人Stroustrup就大力提倡不要学C,并列举了先学C的种种坏处。因此我的意见也是不学C,直接学C++。
现在国内讲C++的书一般是先讲与C相似的一块,后讲C++独有的内容,没有融合在一起,看似C成了“基础”。其实这种讲法主要是由于国内编教材的教师多是学C语言(甚至机器码、汇编)出身的,可能到很晚才接触C++,因而有思维定势。其实看国外许多教材,一入门就强调类的概念,入门不多久就大量用到STL,过程式的语法与这些一块讲,同样也很直观(对象的概念实际上比函数的概念直观得多),可以学得通。
1、C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
2、C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。
它们用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。所以相对于C,C++包含了更丰富的“设计”的概念,但C是C++的一个自洽子集,也具有强大的功能,同样值得学习。
这两个符号是关系运算符,它们的含义是不同的。
==的名称等于,例如a==b,如果a等于b,则返回true,否则返回false。
!=的名称不等于,例如,a!=b,如果a不等于b,则返回true,否则返回false。
关系运算符的值只能是0或1。当关系运算符的值为true时,结果值为1。当关系运算符的值为false时,结果值为0。
扩展资料:
其他关系运算符
“<”小于,例如a<b,如果a小于b,则函数返回true;否则返回false。
“<=”小于或等于,例如a<=b,如果a小于或等于b,则函数返回true;否则返回false。
“>的名称大于,例如a>b。如果a大于b,则函数返回true;否则返回false。
“>=”名称大于或等于,例如a>=b,如果a大于或等于b,则可以返回true;否则返回false。
上面4中关系运算符的第一级是相同的,==和!=运算符具有相同的级别,前四个级别高于后两个级别。关系运算符优先于算术运算符。关系运算符优先于赋值运算符。
参考资料来源:百度百科-关系运算符
C++语言全称:The C++ Programming Language,它是是在C语言的基础上开发的一种通用编程语言,应用广泛。C++支持多种编程范式 :面向对象编程、泛型编程和过程化编程。最新正式标准C++14于2014年8月18日公布。 其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大受用的最强大编程语言之一,支持类:类、封装、重载等!C++主要用于大型的应用程序开发,比如游戏开发。C++实际上是对C语言的扩展,是C语言的超集,比如下面的代码:
class test{ }; //c++中的自定义类
int a; //c语言定义 int变量a
int b = 0; //定义int变量b并初始化为0
int c = b; //定义int变量c并用变量b的值初始化
int d; //定义变量d
d = c; //把变量c的值赋值给变量d
在c++中将c语言的这些基本的操作进行了扩展,使C语言拥有更强大的功能,同时也是C++的超级特性。
test a; //定义test的默认构造函数
test b = 0; //调用test带有参数的构造函数;
test c = b; //调用 test的复制构造函数
test d;
d = c; //调用 test的赋值运算符重载符。
C语言全称:The C Programming Language,它是一门通用计算机编程语言,它是在BCPL语言上发展而来的,BCPL的作称是Basic Combined Programming Language,因为C语言在它的基础上开发出来的,所以很多C程序员喜欢将BCPL解释成(Before C Progamming Language)。C语言应用广泛。它的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。因此C语言在针对硬件编程以及系统底层开发中得到大量的应用,现在大部用户使用的Windows系统以及Linux系统都是用C语言开发出来的。
广告 您可能关注的内容 |