如何学好C++
展开全部
编程、编程、再编程!大部分老师都是这句话。事实上也是这样,c++不编程永远都学不好。
至于书的话,刚开始学最好是C++ Primer Plus或者是C++Primer(对C++有一定了解的人都会觉得这本书非常好,但是如果对C++不太了解或者是没有学习过其他编程语言的还是推荐C++Primer Plus本)。国内的书大部分都不够深入。这两本书中的理论可以快速浏览,但你一定要将里面的例子看懂,不懂的话再往前翻或者寻求帮助。一定不要只看一遍,一遍你最多学习到里面的一部分。如果你觉得刚开始就很难理解,一定要去问,脸皮一定要厚,不要一直看理论,没几个受得了。
如果你觉得你把上述的书吃透了(In fact it was not so),你可以看看thinking in C++,如果你能把这本书也看完,我觉得我没有必要和你推荐了,因为那个时候你对C++已经有比较深入的了解了。
最后要和你提的是命名规范和注释(这个适用于大多数语言并且很重要)还有英语,顺便附上学习C++的五十条忠告:(实际上你大部分都不会记得,这只是针对想深入专研C++的人,只能希望他们经验中有几条能给你点启发)
1.把C++当成一门新的语言学习(和C没啥关系!真的。);
2.看《Thinking In C++》,不要看《C++编程思想》;(即看英文版)
3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;
4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;
5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;(这句话对大部分人来说没什么意思,因为我们会自动忽略)
6.会用Visual C++,并不说明你会C++;
7.学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书;(这个真心难)
8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的;(能做到不娱乐的都是牛人)
9.看Visual C++的书,是学不了C++语言的;
10.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!?
11.浮躁的人容易问:我到底该学什么;——别问,学就对了;
12.浮躁的人容易问:XX有钱途吗;——建议你去抢银行;
13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!
14.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行;
15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;
16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
17.C++不仅仅是支持面向对象的程序设计语言;(忽略直到你对C++了解)
18.学习编程最好的方法之一就是阅读源代码;(必须看,这也是C++难学的地方)
19.在任何时刻都不要认为自己手中的书已经足够了;(并不是让你一味地看新书,是提醒你不要觉得自己C++已经学得足够好了,可以不用学了)
20.请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准;(很重要,但不要急着去看)
21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;(再次提醒不要和那些理论死磕,人的记忆是有限的,看不懂先放过,等到编程的时候遇到不懂的再回来看)
22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;
23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序;
25.和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好;
26.请看《程序设计实践》,并严格的按照其要求去做;
27.不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;
28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密;
29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已;
30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++;
31.学习编程的秘诀是:编程,编程,再编程;(你懂的)
32.请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》《面向对象软件构造(Object-Oriented Software Construction)》《设计模式(Design Patterns)》《The Art of Computer Programming》;
33.记住:面向对象技术不只是C++专有的;
34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;
35.把在书中看到的有意义的例子扩充;
36.请重视C++中的异常处理技术,并将其切实的运用到自己的程序中;(慢慢来)
37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;(很有效)
38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;(难以坚持)
39.C++语言和C++的集成开发环境要同时学习和掌握;(难道用文本编写?刚开始尽量不要用Visual Assist x 之类的辅助编程工具)
40.既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;
41.就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主;
42.当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43);(很有效)
43.别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的;
44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的;
45.每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了;(对老师讲最好了)
46.记录下在和别人交流时发现的自己忽视或不理解的知识点;
47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX;
48.保存好你写过的所有的程序——那是你最好的积累之一;
49.请不要做浮躁的人;
50.请热爱C++!
至于书的话,刚开始学最好是C++ Primer Plus或者是C++Primer(对C++有一定了解的人都会觉得这本书非常好,但是如果对C++不太了解或者是没有学习过其他编程语言的还是推荐C++Primer Plus本)。国内的书大部分都不够深入。这两本书中的理论可以快速浏览,但你一定要将里面的例子看懂,不懂的话再往前翻或者寻求帮助。一定不要只看一遍,一遍你最多学习到里面的一部分。如果你觉得刚开始就很难理解,一定要去问,脸皮一定要厚,不要一直看理论,没几个受得了。
如果你觉得你把上述的书吃透了(In fact it was not so),你可以看看thinking in C++,如果你能把这本书也看完,我觉得我没有必要和你推荐了,因为那个时候你对C++已经有比较深入的了解了。
最后要和你提的是命名规范和注释(这个适用于大多数语言并且很重要)还有英语,顺便附上学习C++的五十条忠告:(实际上你大部分都不会记得,这只是针对想深入专研C++的人,只能希望他们经验中有几条能给你点启发)
1.把C++当成一门新的语言学习(和C没啥关系!真的。);
2.看《Thinking In C++》,不要看《C++编程思想》;(即看英文版)
3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;
4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;
5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;(这句话对大部分人来说没什么意思,因为我们会自动忽略)
6.会用Visual C++,并不说明你会C++;
7.学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书;(这个真心难)
8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的;(能做到不娱乐的都是牛人)
9.看Visual C++的书,是学不了C++语言的;
10.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!?
11.浮躁的人容易问:我到底该学什么;——别问,学就对了;
12.浮躁的人容易问:XX有钱途吗;——建议你去抢银行;
13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!
14.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行;
15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;
16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
17.C++不仅仅是支持面向对象的程序设计语言;(忽略直到你对C++了解)
18.学习编程最好的方法之一就是阅读源代码;(必须看,这也是C++难学的地方)
19.在任何时刻都不要认为自己手中的书已经足够了;(并不是让你一味地看新书,是提醒你不要觉得自己C++已经学得足够好了,可以不用学了)
20.请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准;(很重要,但不要急着去看)
21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;(再次提醒不要和那些理论死磕,人的记忆是有限的,看不懂先放过,等到编程的时候遇到不懂的再回来看)
22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;
23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序;
25.和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好;
26.请看《程序设计实践》,并严格的按照其要求去做;
27.不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;
28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密;
29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已;
30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++;
31.学习编程的秘诀是:编程,编程,再编程;(你懂的)
32.请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》《面向对象软件构造(Object-Oriented Software Construction)》《设计模式(Design Patterns)》《The Art of Computer Programming》;
33.记住:面向对象技术不只是C++专有的;
34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;
35.把在书中看到的有意义的例子扩充;
36.请重视C++中的异常处理技术,并将其切实的运用到自己的程序中;(慢慢来)
37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;(很有效)
38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;(难以坚持)
39.C++语言和C++的集成开发环境要同时学习和掌握;(难道用文本编写?刚开始尽量不要用Visual Assist x 之类的辅助编程工具)
40.既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;
41.就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主;
42.当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43);(很有效)
43.别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的;
44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的;
45.每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了;(对老师讲最好了)
46.记录下在和别人交流时发现的自己忽视或不理解的知识点;
47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX;
48.保存好你写过的所有的程序——那是你最好的积累之一;
49.请不要做浮躁的人;
50.请热爱C++!
展开全部
01
找一本好的书本教材,辅助看教学视频
好的教材,可以让你更快更好的进入C/C++的世界。在校学生的话,你们的教材通常都是不错的。如果是自学,推荐使用谭浩强出的C/C++经典入门教材。
看视频是学习比较直观的方式。建议先看课本,不懂的地方,更看视频,这样效果更好。推荐看孙鑫的教学视频。
>02
学好基本语法,弄清C/C++的特点
学习C/C++,说白了,就是学习它的语法、功能、结构等。然后按照它的语法编写代码。C/C++语法是学习的根本。开始学习时,可能有些难懂。没关系,这很正常。多看多问,多实践,慢慢的你就入门了。
>03
没有捷径,一定要多动手实践
学习C/C++,和学数学一样,在学懂理论后,一定要实践。学习C/C++不能搭便车。有时候,语法和例子很简单,很容易看懂,但到自己动手写的时候,又是另一种感觉。只有多动手编程,哪怕是简单的小程序,重复实现书上简单的例子,也是在积累和提高。
>04
选择合适的开发环境
自C/C++诞生以来,出现了很多编程环境。综合界面友好、易用性等,开始学习C、C++时,推荐使用经典的VC++6.0开发环境,至今还在广泛的使用。
当你觉得C++已经比较深入时,可以改成VS2010或者VS2012等。这类开发环境里集成了大量的C++类库和开发工具,使得你可以快速开发出高水平的软件。
>05
学习编程规范,编程中坚持遵守
俗话说,无规矩不成方圆。编程是一个将思维逻辑变为代码,让计算机来执行的过程。特别需要规范。无论是变量、函数命名还是代码格式,都需要一致规范。这样便于代码的阅读和修改。代码的规范性,在代码质量中占据着重要的比重。
>06
给代码添加足够的注释说明
代码注释的作用,豪不夸张的说,就像旅游景点的指示牌。我们在编程时,对自己的想法十分清楚。但一段时间之后呢,或者让别人来阅读代码呢。如果注释丰富,读代码就大体可以用读注释来代替了。
注意,注释要对那些有一定难度的语句、过程方法或结构等的注释,非常浅显宜懂的就不需要注释啦。养成对难懂代码注释的习惯吧。
>07
多看别人的代码
对同一种功能的实现,可以有很多种编码方式。多读别人的代码,非常有利用开拓思路,提高编码的灵活性。甚至经常可以从别人的代码中得到启发,产生灵感,创作出优秀的代码。
>08
代码尽量写的简单,易于理解
代码的简单性、正确性是最重要的。不要为了追求高效率而写出晦涩难懂的代码。后续阅读和修改代码时,你会为晦涩的代码付出很多代价。记住,尽量将代码写成初学C/C++就能读懂的,那么你的代码就十分的优美了。
>09
编程中多用STL和模板编程
C++中,除了面向对象编程这个优点外,还有一个闪光点就STL。初学者可能没怎么接触过。等你的C++有了一定的提高后,你应该积极的拥抱STL了。STL是一个模板编程,提供了很多容器、算法和迭代器。使用它们,会让你的代码变的简洁、高效、优雅。
>10
学习设计模式,掌握常用的几种设计模式
设计模式就是高手们总结的一些关于编程方法的总结。非常的有用。学习设计模式,可以提高我们编程的灵活度以及设计的合理性。不仅C/C++,其他编程语言,如C#、Java中,设计模式也在大行其道。所以,你没有理由错过高手们总结的编程精华。
>11
加入C/C++群和论坛,与高手交流,向其学习请教
这对提高你的C++非常有帮助。个人的智慧是有限的。如果你汇集了众多高手们的编程经验,那么你的大师之路必将走的更顺利哦。
>12
喜欢它,并坚持走下去
C/C++的学习,容易入门,却难以精通。永远不要因为害怕困难,而减少你对它的兴趣。每年都有很多人在学习C/C++,因为它很强大。如果你能坚持下去,那么你也是强大的。
坚持下去,你会发现,C/C++越学越轻松,越来越快。精通C、C++,必将是让你成为稀缺高级人才的重要法宝。
找一本好的书本教材,辅助看教学视频
好的教材,可以让你更快更好的进入C/C++的世界。在校学生的话,你们的教材通常都是不错的。如果是自学,推荐使用谭浩强出的C/C++经典入门教材。
看视频是学习比较直观的方式。建议先看课本,不懂的地方,更看视频,这样效果更好。推荐看孙鑫的教学视频。
>02
学好基本语法,弄清C/C++的特点
学习C/C++,说白了,就是学习它的语法、功能、结构等。然后按照它的语法编写代码。C/C++语法是学习的根本。开始学习时,可能有些难懂。没关系,这很正常。多看多问,多实践,慢慢的你就入门了。
>03
没有捷径,一定要多动手实践
学习C/C++,和学数学一样,在学懂理论后,一定要实践。学习C/C++不能搭便车。有时候,语法和例子很简单,很容易看懂,但到自己动手写的时候,又是另一种感觉。只有多动手编程,哪怕是简单的小程序,重复实现书上简单的例子,也是在积累和提高。
>04
选择合适的开发环境
自C/C++诞生以来,出现了很多编程环境。综合界面友好、易用性等,开始学习C、C++时,推荐使用经典的VC++6.0开发环境,至今还在广泛的使用。
当你觉得C++已经比较深入时,可以改成VS2010或者VS2012等。这类开发环境里集成了大量的C++类库和开发工具,使得你可以快速开发出高水平的软件。
>05
学习编程规范,编程中坚持遵守
俗话说,无规矩不成方圆。编程是一个将思维逻辑变为代码,让计算机来执行的过程。特别需要规范。无论是变量、函数命名还是代码格式,都需要一致规范。这样便于代码的阅读和修改。代码的规范性,在代码质量中占据着重要的比重。
>06
给代码添加足够的注释说明
代码注释的作用,豪不夸张的说,就像旅游景点的指示牌。我们在编程时,对自己的想法十分清楚。但一段时间之后呢,或者让别人来阅读代码呢。如果注释丰富,读代码就大体可以用读注释来代替了。
注意,注释要对那些有一定难度的语句、过程方法或结构等的注释,非常浅显宜懂的就不需要注释啦。养成对难懂代码注释的习惯吧。
>07
多看别人的代码
对同一种功能的实现,可以有很多种编码方式。多读别人的代码,非常有利用开拓思路,提高编码的灵活性。甚至经常可以从别人的代码中得到启发,产生灵感,创作出优秀的代码。
>08
代码尽量写的简单,易于理解
代码的简单性、正确性是最重要的。不要为了追求高效率而写出晦涩难懂的代码。后续阅读和修改代码时,你会为晦涩的代码付出很多代价。记住,尽量将代码写成初学C/C++就能读懂的,那么你的代码就十分的优美了。
>09
编程中多用STL和模板编程
C++中,除了面向对象编程这个优点外,还有一个闪光点就STL。初学者可能没怎么接触过。等你的C++有了一定的提高后,你应该积极的拥抱STL了。STL是一个模板编程,提供了很多容器、算法和迭代器。使用它们,会让你的代码变的简洁、高效、优雅。
>10
学习设计模式,掌握常用的几种设计模式
设计模式就是高手们总结的一些关于编程方法的总结。非常的有用。学习设计模式,可以提高我们编程的灵活度以及设计的合理性。不仅C/C++,其他编程语言,如C#、Java中,设计模式也在大行其道。所以,你没有理由错过高手们总结的编程精华。
>11
加入C/C++群和论坛,与高手交流,向其学习请教
这对提高你的C++非常有帮助。个人的智慧是有限的。如果你汇集了众多高手们的编程经验,那么你的大师之路必将走的更顺利哦。
>12
喜欢它,并坚持走下去
C/C++的学习,容易入门,却难以精通。永远不要因为害怕困难,而减少你对它的兴趣。每年都有很多人在学习C/C++,因为它很强大。如果你能坚持下去,那么你也是强大的。
坚持下去,你会发现,C/C++越学越轻松,越来越快。精通C、C++,必将是让你成为稀缺高级人才的重要法宝。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多练习,最好结合具体实际做点项目,就提高的很快了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-07-06
展开全部
基础知识很重要,打好基础!!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多看,多写,多读
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询