神奇宝贝大全进化:能直接学习C++吗?

来源:百度文库 编辑:高校问答 时间:2024/04/29 19:00:58
现在要学习C++,能不能直接学啊。
本来想先学VB,再学C,再学C++的,时间上不够,直接学习C++行不行啊?
有经验的老鸟请指教一下小弟,谢谢了。

说说你们的看法。最后要学的是JAVA,想先打个基础,时间不多,几个月。

不是吧?JAVA的难度可比C++浅多了。根本没有先学C++给JAVA打基础的道理。
另,C与C++完全是风马牛不相及的两种语言,惟一相同的时他们的语法和语句(可以说C++是C的加强),但是在编程方法上,C是结构化,C++是面向对向,完完全全两种不同的编程方法,先学C反而容易搞混自己的思维,不适应C++的方法,不如直接学C++来得快。所有的C转向C++的程序员,都要花好大的时间来搞清C++与C为什么不同(编程方法)。所以,不学C直接学C++是很正确的。但如果你懂一些编程,如VB、delphi等,那学C++会更容易一些。
用几个月给C++打基础也算够了,学东西切忌贪多贪全,先笼统地把C++的书在短时间内看完,边看边实践,始终保持新鲜感和乐趣。碰到不太懂的地方再重新深入。一边写一边学,这个方法最好。

另外,如果你想学JAVA的话就直接去学,别碰C++,那东西魅力太大,碰了之后会离不开的:)

直接学就是了,找本好点的书,推荐C++ Primer Plus
一个月就差不多了,然后多写点程序,培养手感。

其实直接学习JAVA也可以,就是OOP可能不好理解。所以开始用C++是不错的。先学VB或C,基于过程的编程会让你对OOP的理解有偏差,只是能培养一些编程思想。而几个月对培养编程思想作用很小,所以不推荐。

如果你的最终目的是为了学习JAVA的话,我认为还是直接学习JAVA的好,因为C++比JAVA要复杂,JAVA可以说是C++的简化,去掉了多继承、加上了GC、多线程支持等东西。
而且JAVA基本上你按照SUN的来就可以了,标准化做得比较好,而C++虽然有一个标准,但是各个公司有自己的一套,你在linux下面和在windows下面用C++都不同。而对于初学者,单单是搞IDE环境,认清C++标准库、名字空间、VC、BCB、GCC等就要花费一大半精力了,所以你如果要学习JAVA,想通过学习C++来入门的话,就不必了。反之,倒是可以试试。
每种语言都有自己的特性,而C++被称为最难学的语言也不是没有道理的,它是C的后继,支持1.过程设计思想;2.抽象数据类型思想3.面向对象思想4.泛型思想,而其他语言都只是支持一两种。
JAVA其实是比C++要容易入门的,而C++倒是很可能让入门者失去信心,因为它太庞大了。单单是买它的经典书,大概就上千块还不止。这还是语法上面的。

回答:完全可以

但是选书很重要

这是一个最让人挠头的问题,选什么书总是见仁见智,什么书最好是一个永远找不到标准答案的难题,来我们这个论坛的朋友多半是冲着书来的。我不想评论哪本书好哪本不好,我只是大致列一个书单,简单讲两句。

我的书单并不定位于一个没有任何语言编程基础的初学者,我觉得这样的初学者不适合直接学习 C++ 语言。我的书单定位于那些有其它语言的一定的编程基础的 C++ 初学者,他至少应该知道什么是变量,什么是运算符,什么是表达式,关键字,语句,程序,至少应该知道赋值语句是干什么的,分支判断语句干什么,循环语句干什么,当然他不必知道 C/C++ 的词法和语法,也就是说他有以上的概念,但不知道这些东西在 C/C++ 中是如何实现的。在这个基础上,我把书单分为入门类、进阶类、应用技巧类。

入门类:

C++ Primer, 3rd Edition

Thinking in C++, 2nd Edition

C++ 大学教程(这本书我没看过,但不少初学者说不错,留此存目)

The C++ Standard Library: A Tutorial and Reference

进阶类:

The C++ Programming Language, Special Edition

The Design and Evolution of C++

Inside C++ Object Model

C++ Templates: The Complete Guide

STL 源码剖析

Generic Programming and the STL

Modern C++ Design: Generic Programming and Design Patterns Applied

应用技巧类:

Effective C++, 2nd Editon

More Effective C++

Exceptional C++

More Exceptional C++

Effective STL

Ruminations on C++

对这个书单我有几点说明:

1、除我注明的那本以外,其它书我基本看过,或浏览过,了解其大致内容。也因此这些书就局限在我的眼光之内,既然不愿给大家推荐我没看过的书,也就难免有遗珠之憾。

2、很多人认为 The C++ Programming Language 是入门书,我认为不妥,这本书号称"专家自学指南",并非浪得虚名,读者水平越高越能从这本书里学到更多的东西。如果身边没有一个很好的老师随时指导的话,我不建议初学者选用这本书,一上来就看这本书容易产生挫折感,影响学习的信心。这本书也可以作为语言参考手册常备身边,随用随查。

3、入门类前三本选一本即可,第一本我详细读过,第二本我大致浏览过,第三本没看过。第四本我极力推荐,每个初学者都应该好好看看,很多人认为应该归入进阶类,我放在入门类自有我的道理。有网友反应 Thinking in C++ 对于初学者太难,我感觉如果符合了我上面对初学者的初步要求的话,读这本书应该没什么问题。

4、我不建议用国内的书入门,我见过大部分国内书的内容只是讲了一个更好的 C,不是 C++。我认为初学者应选择一本对语言介绍比较全面、详细的书,以便对 C++ 有一个全面而系统的认识,一知半解是学习的大忌。如果一本自称全面的 C++ 书中缺少 String, Containers, Generic Algorithms, Namespaces, Templates, Exception Handling, RTTI 中的一个,你有理由不看它,如果一本自称全面的 C++ 书没有讲到标准库或 STL,你有理由不看它,如果一本自称全面的 C++ 书中的头文件还带有 ".h" 后缀,你有理由不看它。

5、应用技巧类并非最后再看,我单独把这些书列出,是因为这些书要和前两类书一起看,没有先后顺序。

6、选书的原则以及与每一阶段学习的关系,到下一部分我还要继续展开。

7、上述大部分书都有中文版,翻译质量大部分还不错,建议英文较好的最好直接读英文版,英文不好的也可看中文版。

下面我谈谈对纸版书和电子版书的看法。初学时最好去买一本纸版书,这样无论你躺着,坐着还是站着,也无论你身在何处——教室、图书馆、实验室、湖边长廊,你都可以很方便地拿出来看。很多同学的实验室和寝室中都配有电脑,似乎看电子版很方便,但是当寝室中老大在大呼小叫地打 CS,老二抱着电话和准老婆谈情说爱,老三抱着枕头说着梦话,老四抱着吉他唱着调跑到北冰洋去的自创情歌时,无论你是老几,我不相信你能对着电脑屏幕,心平气和地看着 C++ Primer 电子版,寝室根本不是学习的地方,最好还是拿上一本纸版书,到自习室、图书馆去吧。

课间短剧

讲到此处,digerati 同学举手发言:"老师,我有笔记本电脑啦,我可以带到自习室去,还是看电子版。"

涅盘老师当场被噎出四个跟头,晕了过去。五分钟后悠悠醒转,感觉口干舌燥。"水......水......"

涅盘老师喝了两口水,清清嗓子,继续讲课:

刚才,digerati 同学说得......说得......很好......是吧......哈哈......这个......那个......是呀......啊......

你可以把笔记本电脑带到自习室去,但你在马路边等 MM 或者 GG 的时候,或者坐公共汽车的时候,笔记本电脑总是不如纸书方便嘛?是吧?

zhazha 同学举手发言:"老师,我有掌上电脑啦,比你那本两块砖头重的书方便多了,我可以在等 MM 的时候看电子版。"

涅盘老师当场被噎了八个跟头,一天都没有醒。

转天,涅盘老师才醒过来,有气无力地抬起胳膊,伸出手:"眼镜......给我眼镜......"

zhazha:"老师,您戴着呢。"

涅盘老师:"那我怎么什么都看不见啊?"

zhazha:"您还没睁眼呢!"

涅盘老师艰难地睁开眼睛:"怎么还看不见呢?"

zhazha:"老师,您睡了一整天了,揉揉眼睛。"

涅盘老师用力揉揉眼:"还是不清楚。"

zhazha:"您再揉揉......"

涅盘老师:"还是不行......"

zhazha:"您再揉揉......"

涅盘老师:"还是不行......"

如此反复50次。

涅盘老师双眼红肿,极为愤怒,不耐烦地嚷着:"不能再揉了!!!我为什么还是看不清???"

digerati:"老师,很抱歉,我们忘了告诉您,昨天您眼镜的两个镜片都摔碎了,现在您只戴着眼镜框......"

涅盘老师:"@#&*@$%$#&"又晕了过去......

......

几天以后,继续上课,涅盘老师原来只有两名同学,现在他面对空空的教室......

同学们,啊......上次课,啊......digerati 同学 和 zhazha 同学,啊......上课捣乱,啊......被停课请家长,啊......家长至今未到,啊......他们现在还在办公室罚站,啊......如果其他同学,啊......再上课捣乱,啊......就和他们一样的下场,啊......

就在涅盘老师对着空教室慷慨激昂的时候,digerati 和 zhazha 正舒舒服服地坐在办公室的沙发上,翘着二郎腿,喝着涅盘老师的龙井茶......哈哈!

可以直接学习C++,C/C++/JAVA是完全不同的3种语言,之所以大家总认为先学这个或那个好,是因为3种语言的语法较为近似,其实你完全可以任意选择一门来学习

朋友!我建议你学好基础!在学C + + !!这样你以后学C + + !!更好学了!!你不懂基础!很难学的!!
我也学过!我有这个经验!!我先学的C + +
我学两个星期!!没有学懂什么!!我又开始学基础!!
又学的C + + !这才我懂了!!你应该懂得:
好的开始是成功的一半!!