C与C++有区别吗?

2025-05-18 12:25:02
推荐回答(4个)
回答(1):

C是一种简单的语言。它真正提供的只有宏,指针,结构,数组和函数。不管什么问题,C都是依宏,指针,结构,数组和函数来解决的。而C++不是这样,宏,指针,结构,数组和函数当然存在,此外还有私有和保护型成员,函数重载,缺省参数,构造和析构函数,自定义操作符,内联函数,引用,友元,模板,异常,命名空间等。
对每个人来说,习惯C++需要一些时间,对于已经熟悉C的程序员来说,这个过程尤其令人苦恼。因为C是C++的子集,所有的C的技术都可以继续使用,但很多用起来又不太合适。由于C++语言的语法是基于C语言,大多数学习C++语言的读者应当系统地掌握传统的软件工程所述的面向过程的分析与设计方法和C语言程序设计等,并且完全掌握面对对象编程的思想。

买一本 《C++经典入门》 看一看先入个门,然后最好是多实践,先不说别的,如果你可以把以上那本书完全的领悟了,那你也是高手,因为人家无非就是用书里的东西去用各种方法写出来代码。当然一本书是不够的,一本书看一遍也是不够的!
我也不会英语,我也不会C语言,2年前自学C++的时候到处被泼冷水,2年后的我现在走上岗位了。看你什么心态,不过说实话,如果我不是自己有兴趣的话,曾经还好几次真想放弃了,送你以下几句话!

【牢记24条】

1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。

2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久都是只对部分功能熟悉而已,不系统还是不够的。

3.看帮助,不要因为很难而自己是初学者所以就不看;帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,总觉得不够直观。

4.不要被对象、属性、方法等词汇所迷惑;最根本的是先了解最基础知识。

5.不要放过任何一个看上去很简单的小问题--他们往往并不那么简单,或者可以引伸出很多知识点;不会举一反三你就永远学不会。

6.知道一点东西,并不能说明你会写c++,是需要经验积累的。

7.学c++并不难,--难的是长期坚持实践和不遗余力的博览群书;

8.看再多的书是学不全c++,要多实践。

9.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;

10.学习c++最好的方法之一就是多练习;

11.在任何时刻都不要认为自己手中的书已经足够了;

12.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;

13.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;

14.请把书上的例子亲手到电脑上实践,即使配套光盘中有源文件;

15.把在书中看到的有意义的例子扩充;并将其切实的运用到自己的工作中;

16.不要漏掉书中任何一个练习——请全部做完并记录下思路;

17.当你用脚本到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个代码的完整性,然后分析自己的错误并重新编写和工作。

18.别心急,写脚本确实不容易;水平是在不断的实践中完善和发展的;

19.每学到一个脚本难点的时候,尝试着对别人讲解这个知识点并让他理解----你能讲清楚才说明你真的理解了;

20.记录下在和别人交流时发现的自己忽视或不理解的知识点;

21.保存好你做过的所有的源文件----那是你最好的积累之一;

22.对于网络,还是希望大家能多利用一下,很多问题不是非要到论坛来问的,首先你要学会自己找答案,比如google、百度都是很好的搜索引擎,你只要输入关键字就能找到很多相关资料,别老是等待别人给你希望,看的出你平时一定也很懒!

23,到一个论坛,你学会去看以前的帖子,不要什么都不看就发帖子问,也许你的问题早就有人问过了,你再问,别人已经不想再重复了,做为初学者,谁也不希望自己的帖子没人回的。

24,虽然不是打击初学者,但是这句话还是要说:论坛论坛,就是大家讨论的地方,如果你总期望有高手总无偿指点你,除非他是你亲戚!!讨论者,起码是水平相当的才有讨论的说法,如果水平真差距太远了,连基本操作都需要别人给解答,谁还跟你讨论呢。能找到很多相关资料,别老是等待别人给你希望,看的出你平时一定也很懒!

浮躁的人容易问:我到底该学什么;----别问,学就对了;
浮躁的人容易问:c++有钱途吗;----建议你去抢银行;
浮躁的人容易说:我要中文版!我英文不行!----不行?学呀!
浮躁的人分两种:只观望而不学的人;只学而不坚持的人;
浮躁的人永远不是一个高手。
参考资料:C++STL程序员开发指南

回答(2):

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++概念上有所了解。

回答(3):

大体区别就是:C是面向过程语言,而C++是面向对象语言。面向对象简单的说就是把数据与执行函数封装起来定义为类,我们在编程时直接定义一个对象就可运用里面的数据和函数,而不用去考虑它里面的执行函数是怎样实现的,这只是我自己的一点点理解,一两句话你可能还不大明白,你自己认真的在书里找一两个例子比较下就可能体会到其中的不同了

回答(4):

C和C++都讲究模块化编程,但是C以函数来实现模块化,而C++可以用类更好地实现模块化。
用函数实现模块化最多只有若干个功能,类中可以包含有N个函数,优点可见一斑