本文目录
C与C++有何区别
C/C++是指C语或C++,是指一系列的语言C和C++的关系:好比是win98跟winXP的关系。C++是在C的基础上增加了新的理论,玩出了新的花样。所以叫C加加。C和C++的区别:C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“设计这个概念已经被融入到C++之中”。再引用高手一些话:C++与C有什么不同呢?我们现在一步步地来分析一下一、类,类对于初学者,它是一个累赘。类的封装使得初学者对程序产生厌倦,感到不适和麻烦。二、引用,引用是C++中最好尽量不要用它,除非万不得已。引用对于初学者就更容易产生混淆,不知道哪个是引用,哪个是变量。三、函数的重载,初学者学函数的重载好像没什么坏处,但是,这会使初学者潜意识里对C语言的变量类型的重要性产生淡化,要记住C语言是对变量类型最敏感了的,变量的类型在C语言里的重要性是不言而喻的。四、流操作符,和上面同样的道理,使得对变量类型的重要性产生淡化,有时会产生使初学者莫名其妙的结果。五、操作符重载,典型的高级应用,初学者可能根本用不着,这个东东会让他们觉得C++很难,门槛高,看不懂。六、继承,以及虚函数,看起来深奥,实用价值很低。还有些东东我就不发表评论了,如:new,delete操作符等七、误区:以问答形式:问:C++是面向对象化的而C是面向过程化的?答:第二对,第一问错,C++并非完全面向对象化,真正的面向对象化的语言恐怕只有Java才算得上。问:C++能实现C所不能的功能吗?答:至少我还没有发现问:学了C再学C++有障碍吗?比如程序设计思想答:至少我还没有看见谁有此症状。问:学了C再学C++又要重头开始吗?答:不,C++下可以实现C语言的一切功能。问:我学完了C一定还要学C++才能编程吗?答:完全没必要。问:C++比C好在哪里?答:更加符合软件工程学问:学完了C再学C++是不是很容易?答:那要看你是不是真正的学完了C语言。希望你能对C/C++概念上有所了解。对于你的补充问题,个人认为虽然可以,但是C语言是基础,最好能先学C语言,这样并不是浪费时间,反而对你学习C++更有帮助,令你更易上手!
C和C++具体区别
C和C++区别为:结构不同、设计不同、函数库不同。
一、结构不同
1、C语言:C语言结构只有成员变量,而没成员方法。
2、C++:C++结构中可以有自己的成员变量和成员函数。
二、设计不同
1、C语言:C语言进行过程化、抽象化的通用程序设计。
2、C++:C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
三、函数库不同
1、C语言:C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中。
2、C++:C++对于大多数的函数都是有集成的很紧密,是一个集体。
c与c++区别
c语言和c++的区别:
1、全新的程序思维,C语言是面向过程的,而C++是面向对象的。
2、C++在写程序方面比C语言写得更好更多,C++可以写基于DOSr程序,写DLL,写控件,写系统。
3、C语言有标准的函数库,它们是松散的,只是把功能相同的函数放在一个头文件中;而C++的大多数函数都是集成的,很紧密。特别是C语言中没有的C++中的API。
4、C++中的图形处理和C语言的图形处理有很大的区别。C语言中的图形处理函数基本上是不能用在中C++中的。C语言标准中不包括图形处理。
5、C语言和C++中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在C++中结构中,它可以有自己的成员变量和成员函数。但是在C语言中结构的成员是公共的,不管什么人想访问都可以;而在VC++中它没有加限定符是为私有的。
6、C语言对程序的文件的组织是松散的,几乎是全要程序处理;而C++对文件的组织是工整的,文件分类十分明确。
c与c++的区别有哪些
编程的学习学无止境,只掌握一门语言是远远不够的,那么c与c++的区别有哪些呢?下面是我整理的详细内容,希望对大家有所帮助!
C与C++的区别
1、C++是面向对象语言,C是面向过程语言。
2、结构:C以结构体struct为核心结构;C++以类class为核心结构。
3、多态:C可以以宏定义的方式“自定义”部分地支持多态;C++自身提供多态,并以模板templates支持编译期多态,以虚函数virtual function支持运行期多态。
4、头文件的调用:C++用《 》代替” “代表系统头文件;且复用C的头文件时,去掉”.h”在开头加上”C”。
5、输入输出:鉴于C++中以对象作为核心,输入和输出都是在流对象上的操作。
6、封装:C中的封装由于struct的特性全部为公有封装,C++中的封装由于class的特性更加完善、安全。
7、常见风格:C中常用宏定义来进行文本替换,不具有类型安全性;C++中常建议采用常量定义,具有类型安全性。
8、效率:常见的说法是同等目的C通常比C++更富有效率(这其实有一定的误解,主要在于C++代码更难于优化且少有人使用编译期求值的特性)。
9、常用语言/库特性:
a、数组:C中采用内建数组,C++中建议采用vector。相比之下vector的大小可以动态增长,且使用一些技巧后增长并不低效,且成员函数丰富。
b、字符串 C中采用C风格的string(实则为字符串数组),C++中建议采用string,对比与上一条类似。
c、内存分配:C中使用malloc与free,它们是是C标准库函数,C++中建议使用new/delete代替前者,他们说是C++的运算符(这是笔试面试常考点)以C++中的new为例,new可分为operator new(new 操作)、new operator(new 操作符)和placement new(定位 new)。其中operator new执行和malloc相同的任务,即分配内存,但对构造函数一无所知;而 new operator则调用operator new,分配内存后再调用对象构造函数进行对象的构造。其中operator new是可以重载的。placement new,就是operator new的一个重载版本,允许你在一个已经分配好的内存中构造一个新的对象。
d、指针:C中通常使用的是原生指针(raw pointer),由于常出现程序员在申请后忘记释放造成资源泄漏的问题,在C++98中加入了“第一代”基于引用计数的智能指针auto_ptr,由于初代的各种问题(主要是无法解决循环指针),在03标准也就是TR1中引入了shared_ptr,weak_ptr和unique_ptr这三个功能各异的智能指针,并与11标准中正式确定,较好的解决了上述问题。
C++与C先学哪个
先学C再学c++
由于语言的简洁性,许多初级程序员会在c++之前学习C。作为一种过程语言,初学者通常更容易掌握。它是一种更简单的语言,具有更少的选项,因此,它是编程的坚实基础。许多程序员从C语言转向Java或c++。通过先学习C语言,程序员可以适应这种语言的过程性,然后通过c++学习面向对象编程。c++比C要复杂得多,对于初学者来说是难以应付的。
先学c++再学C
对于已经习惯面向对象编程和过程编程的高级程序员来说,在C之前学习c++是一个可以理解的选择。在当今的编程世界中,c++被越来越多地使用,而且它通常被认为是更健壮的语言,尽管C更适合某些应用程序。
对特定领域感兴趣的程序员,比如上面提到的视频游戏行业,可能不会使用C语言,事实上,可能永远都不需要使用它。此外,一些人可能会发现同时学习C和c++很令人困惑,因为这两种语言有相似之处,很容易让开发人员出错。