如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
c与c++的区别(2008-10-0920:04:18)标签:c编程it注:本文章来自互联网。本人觉得此文章写不的错就转载过来了,与大家一起分享。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++的一个自洽子集,也具有强大的功能,同样值得学习。几点学习建议: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都是经典中的经典,而且价格公道,童叟无欺。国内也有几本好书,谭老爷子的书好倒是好,就是程序错误太多。强烈推荐清华周之英的《现代软件工程》(上、中、下),它是我所见到的国内少有的一本好书,精华的精华,要点的要点,细细品来,至少也属降龙十八掌等级的东东。如果还是有人想学习c/c++的话,有一些小问题我还是乐意解答的.但是我认为学习c/c++是不重要的,重要的是如何锻炼你的思路.不要找一些连自己都搞不清的问题去做.我认为虽然"潭浩强"同志有骗钱的嫌疑(我手头就有一本几乎一模一样的英文书),但是,是他把这本入门手册引入中国,使无数程序员了解了c语言,我想他的功劳也是不可磨灭的.在<c语言程序设计>这本书中所有的例子都可以用做锻炼思路的基石,他对大家的编程是很有帮助的.我认为是值得一买的.去思考课后的例子对你的编程很有帮助.不要小看一个一个简单的例子,他们是你通往成功的道路.当你基本能够掌握了上一本书中例子后,你就要自己找一些例子程序去看.开始可能是看不懂,但是只要努力就没有什么问题.当你看过几个较大的例子之后,你会茅塞顿开,(大量阅读例子程序是学习c/c++的捷径).你会发现,你的水平有了显著的提高.你看的例子越多,你对windows/dos了解的越多.最好能够再看一些关于系统知识的书籍.他会对你的编程很有帮助的.这是我学习c/c++的一点心得,希望对没有被我吓到而要继续学习c/c++的朋友们有一些帮助.免得有些同志说我破坏中国软件人才的发展.在最后我祝愿所有坚持学习c/c++的朋友们成功!同时感谢阅读过我文章的同志们.想学好c++,非学c不可!!!今天我这么肯定的在这里讲这番话,是不想初学者陷入到语言越新越好的误区,本来这个题目就不是很严谨,但是我有几句话必须讲讲,为c平反!!c++与c有什么不同呢?我们现在一步步地来分析一下一、类,类我并不说它有什么不好,但是对于初学者,它是一个累赘。类的封装使得初学者对程序产生厌倦,感到不适和麻烦。二、引用,引用是c++中最臭屁的东西了,最好尽量不要用它,我就是从来不用引用,除非万不得已。引用对于初学者就更容易产生混淆,不知道哪个是引用,哪个是变量。三、函数的重载,初学者学函数的重载好像没什么坏处,但是,这会使初学者潜意识里对c语言的变量类型的重要性产生淡化