C语言好还是C++好?

我做些小程序小软件什么的,以后搞软件开发,应该学C还是C++?C和C++区别很大吗?如果学了C,向C++转变难吗?... 我做些小程序小软件什么的,以后搞软件开发,应该学C还是C++?C和 C++区别很大吗?如果学了C,向C++转变难吗? 展开
 我来答
IT一入深似海
推荐于2017-09-14 · TA获得超过112个赞
知道答主
回答量:14
采纳率:0%
帮助的人:19.5万
展开全部
c++
java的长处 都是c的短处

c的长处是够精炼,可以开发很底层东西,并作为新语言的母体

c的有些语法格式过分死板 比如
int i;
for(i=0;i<10;i++);

而java中除了可以这样写之外 还可以
for(int i=0;i<10;i++);

综上 总结一下
优点:
c应该够精炼 够简单 可以作为其他语言的母体 或基于硬件的开发(操作系统等)
缺点:
生产力比较低 我的意思 用c某些方面开发效率很低

学习C++有一些难点需要注意:
知识点广泛而且难度高。按照几年前Scot Mayer在Effective C++中对C++的定义来看,C++是一门多范型语言,包括了C、面向对象编程和泛型编程。程序员需要正确理解很多基础概念,比如,堆和栈的区别、指针、指针的指针、虚函数的内部原理、继承引发的对象内存布局、多继承引发的模棱两可、模板以及编译器推导、STL算法等。C++的内容如此广泛,因此每个知识点的学习和积累都不是件容易的事情, 自然误用的情况常会发生。
C++打开了直接面向操作系统API编程的大门,因此使用C++完成工作,很多时候需要学习大量的平台相关的API,这些API有的非常复杂。比如被称为噩梦般的技术,Windows提供的COM/COM+库,其实就是需要了解一大堆基础知识才能操纵好。再比如:面向接口编程、虚函数表、设计模式中的工厂模式、Windows DLL地狱的由来、Windows注册表、序列化、Windows安全、RPC、IDL语言、支持脚本语言的自动化技术(IDispatch)、对象引用计数器,线程安全和套间和ATL模板技术等。
而在C++的演化过程中,因为缺乏商业公司的大力赞助,缺乏良好设计的跨平C++类库,多数人只能使用标准C++库,但跨平台效果也不佳。直到近几年Boost为代表的现代C++库起到了很大的作用。同时,Java程序员早就享受着非常好的支持,SUN的丰富的JDK,大量活跃的开源社区(比如Apache) 对Java的推动也是非常明显的。
C++程序员成长周期长,特别是中国很多靠做项目挣钱的成长型企业面对选用C++作为编程语言会有所顾虑。
优势同样很明显:

假定程序员能很好的运用C++,那么程序可以获得很高的性能,消耗较少的资源。在云计算时代,C++在很多关键业务上起到不可替代的作用,也为这个地球节能。举个例子,我有一次要在美国服务器上部署一个JSF编写的网站,安装GlassFish失败是因为虚拟机核心线程和进程的总数被限制,只能换成C++编写的网站。这台服务器还同时运行着C++编写的TCP服务程序和NoSQL数据库。
板松罕听荷
2019-08-25 · TA获得超过3708个赞
知道小有建树答主
回答量:3113
采纳率:33%
帮助的人:185万
展开全部
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++的子集,它的基本概念和设计方法相对比较容易理解,初学者可从它入手。
3.如果要学好C++,建议初学者最好别在如VC,BCB平台下写程序,那种自动化的代码生成,花花绿绿的界面,会让你手足无措。最好先找一片空地(unix,dos),从头做起,写几个大点的程序,数个回合,再到VC,BCB下看看,你会轻松得很。在我看来,学好C/C++是成为VC,BCB高手的必由之路。
4.不要妄想速成,必须得一个byte,一个bit的去抠,尽量搞清楚每一个问题。
5.几本好书:
机械工业出版社的那套“计算机科学丛书”从C到C++,到面向对象设计,一应俱全,都TMD是经典中的经典,而且价格公道,童叟无欺。
国内也有几本好书,谭老爷子的书好倒是好,就是程序错误太多。强烈推荐清华周之英的《现代软件工程》(上、中、下),它是我所见到的国内少有的一本好书,精华的精华,要点的要点,细细品来,至少也属降龙十八掌等级的东东。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
knife1911008
2014-02-03 · 超过16用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:38.8万
展开全部
两种语言,不能说哪个好哪个坏。
C语言更低级,更原始,更不受限制。C++更高级,更复杂,更方便使用。
但两者,都可以相互替代,一种语言可以做到的,另外一种肯定也能做到。

还是学C语言吧,那些面向对象的语言,vb,delphi,都被封装过。
被封装过,所以,很多功能会受到限制,但学起来很简单

C语言虽然更不受限制,但不能说它的功能很强大,因为它太简单
要做个事情,还是要调用其他接口,比如画图,就得掉图形库的接口

编程10年的人都不能说自己很厉害,语言只是编程的工具,编程思想才是最关键的,一门语言学精了,其他语言只要10天就转过来了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gogo19970621
2014-02-03 · 超过19用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:40.4万
展开全部
如果你真想学编程,差不了这一个。
C和C++其实差不多的,只是c++是“改进版“。
长期的话,建议先学C,再上C++。基础牢。
但也不好说,业内对此也有很大争论,对C是不是要学。
转变是很容易的,只要记住区别就行了,比如C++可以重新定义C中的关键字等(+std::)
如果你要设计介入现实(单片机),建议学C
如果想在软件玩玩的话,还是vb比较好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kshixiang
2014-02-03 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:105万
展开全部
C的话和C++语法大致相同只是C++加上了面向对象,而C不具备,这两种语言基本不要太大区比较 没多大意义,语言只是工具 重要的是要树立编程的思想,等你做了一段时间又这种编程思维的时候语言很多都是相同的,一通百通
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式