找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2467|回复: 16
收起左侧

C++语言怎样编程啊?

  [复制链接]
ID:405761 发表于 2018-10-6 10:06 | 显示全部楼层 |阅读模式
如题
回复

使用道具 举报

ID:405761 发表于 2018-10-6 11:54 | 显示全部楼层
有人吗?
回复

使用道具 举报

ID:155507 发表于 2018-10-6 12:55 | 显示全部楼层
C++是最难的语言。这个世界上最难的编程语言可能非C++莫属了。你千万不要以为几天就可以学好C++,C++的学习曲线是相当BT的,C++是一门很自由的语言,自由到了有点BT和恐怖的地步。

基本功
数学(随着深入学习,你会需要更高深的数学知识)、英语(用于查找最新资料以及养成编写程序的正确命名习惯)


1. 选书,市面上的书非常多,在此不想作任何推荐,因为意义不大,每本书都因人而异。最重要的是:你要找到你习惯的书,翻开C++入门书后,能够看得懂或者比较习惯于它里面的文字描述(偶尔出现不懂的专业术语可以暂时留着,继续往下看)。

2. 选书2,由于C++是一门实践性很强的语言课程,所以在选书的时候最好找到这种书:书中有详细关于使用C++上机软件的步骤(我们称这种软件为IDE(集成开发环境),比如Visual C++ 6.0/.Net , DevC++ ,Intel C++ 等等)。

3. 学习之初,买到书之后,就应该按书上去操作IDE,熟悉并能操作基本的功能。比如新建、保存、另存为,以及各种常识性内容:文件后缀的意义.cpp为源文件,.h为头文件,.c为专门的C语言源文件,以及生成的exe文件放在什么目录下,等等。

4. 学习之初2,熟悉了IDE的使用后,再继续看书,把每一段可以编译并运行的代码输入IDE编辑区,编译运行,看效果是否是预料之中,并小范围修改代码,改写后再看,达到对代码的一个感性认知与理性认知的结合。

5. 长途跋涉,对书的咀嚼很重要,最好一字不漏,因为对于一个陌生事物,你一旦遗漏,可能要耗费很多精力在搞清楚后续内容上,但,记住,只是让你不要遗漏书中所描述的内容,不是说遇到实在不太理解的东西后就驻足不前,你把问题都记下,继续往后看,时刻试图去用后面的东西联系前面的困惑,看是否能有所突破。

6. 切记,学C++最重要的是把你所见到的代码在IDE上写一遍,运行并反复改动代码,达到对你遇到的所有代码都有一个功能-语法的对应。你知道改后的效果,并要以此格式去类推。

7. 思维要清晰,如何能够清晰?客观,如何能够客观?不要把东西想复杂化了。比如一个语法,你只需要关心它能产生什么作用(尽量用自己通俗的逻辑去接纳它),而对于它的其他隐藏作用和未知的东西,你暂时不用考虑。所见即所得。

8. 化简,化简很重要,解决问题的时候,当问题对你来说看似复杂,你应该分清主次,并把最关键的内容抽象出来,当做独立的问题,并思考你能否解决。再扩展回归到复杂问题。

9. 与、或、非、相等、不等;这几个逻辑术语,能够让你的所有疑问都消除,当你写的程序错误率很高时,要学会前因后果分析,以及灵活运用注释,把不相干的注释掉,看最后哪条语句才是病句。最后还需要学会调试工具(初期可以用输出语句来代替出错点检测)。

10. 好了,接下来,也是最重要的总结了,只要你能把握,就能够初难后易,贯通到底:
① 独立思考解决程序问题,当你的思维能够习惯性地考虑到足够多的可能性后,你会习惯越来越容易的解决别人难以把握的问题。
② 逆向思维,由于程序所体现的东西是二元性质的,即不是这样,就是那样,永远不会模凌两可,所以你从结果可以一步一步倒推到原因。
③ 坚信你所学到的C++内容能够解决你所遇到的所有你需要解决的程序设计问题。其实仅仅从逻辑上来说,你学完任何入门C++书的前7章基本能解决逻辑上绝大部分问题了。很多高深的经典问题比如TSP和寻路等等(当然,可能你还需要一些数据结构知识),但是
你应该相信,即使你没学过多少后续理论,也能在一定程度上局部解决你遇到的任何程序设计逻辑题。注意事项
• 初学者常犯的错误是:
• 分号忘记
• 大括号不匹配,中括号不匹配,小括号不匹配(你应该先打括号,再填入内容:切记,高手都这样)。如果你不这么做,会出现这样的困惑:((()()()((()()((((()()((... 这个右边你能一眼看出要补充多少右括号吗?以及哪个括号对应哪个括号?
• 赋值'=' 与等于 '==' 混淆。
• 作用域问题:没声明就使用变量,没初始化就是用变量,变量名冲突(同一个作用域一样的变量名字被声明了)等等。
• if语句大括号体内范围不明确,最好不论是if、for、while,只要涉及到大括号的语法结构,都不要省略,并明确在视觉上对称,以免混淆哪个应该在哪个包括区域内。
• 指针,要清晰指针和一般变量的区别和使用方法,怎么弄清?不断的写代码,改代码,测试,所见即所得,至少你写的代码得到的结果不会和理论相悖,并能验证你对它们的理解是否有误。
• 类和对象,需要通过写代码去不断验证你对重载、继承、多态、内联、友元、静态、指针对象等等概念的理解和它们之间的正确关系。
• 模板,同样少不了你要不断敲代码改写代码去验证你所认为的是否和实际相符合。改变认知的过程及其重要,学习就是不断构造认知,以及修正观点的过程。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:387733 发表于 2018-10-6 13:02 | 显示全部楼层
这个问题问得太笼统了吧

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:155507 发表于 2018-10-6 13:11 | 显示全部楼层

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、浮躁的人容易问:我到底该学什么;——别问,学就对了;

13、浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!

14、浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行。

15、浮躁的人分两种:a)只观望而不学的人; b)只学而不坚持的人。

16、把时髦的技术挂在嘴边,还不如把过时的技术记在心里。

17、C++不仅仅是支持面向对象的程序设计语言。

18、学习编程最好的方法之一就是阅读源代码。

19、在任何时刻都不要认为自己手中的书已经足够了。

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++的集成开发环境要同时学习和掌握。

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++!

评分

参与人数 1黑币 +12 收起 理由
609763691 + 12 谢谢,辛苦了,看了还是有一些想法

查看全部评分

回复

使用道具 举报

ID:375250 发表于 2018-10-6 13:30 | 显示全部楼层
C++可以试试ARUINO编写程序那个风格可以,51还是一般用C和汇编
回复

使用道具 举报

ID:303383 发表于 2018-10-6 13:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

ID:405829 发表于 2018-10-6 14:29 | 显示全部楼层
家里有人也想学,没基础,不知道能不能坚持学下去

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:405825 发表于 2018-10-6 14:30 | 显示全部楼层
学习任何一门高级编程语言,都不是易事.实践是最有效的捷径.独立思考是必不可少的.

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:150905 发表于 2018-10-6 14:42 | 显示全部楼层
太想看了,如果还有这样的好书请楼主再多上传一些造福大家,谢谢啦!
回复

使用道具 举报

ID:405884 发表于 2018-10-6 16:54 | 显示全部楼层
简易你去学学PYTHON,比起C语言容易多了,毕竟C语言是所有语言里最难得
回复

使用道具 举报

ID:407057 发表于 2018-10-9 15:44 | 显示全部楼层
1基础语言学好
2实践
回复

使用道具 举报

ID:408355 发表于 2018-10-11 23:53 | 显示全部楼层
如果只是单片机,应该还是用C是最合适的
回复

使用道具 举报

ID:408355 发表于 2018-10-11 23:53 | 显示全部楼层
如果只是单片机。C语言足够而且应该是最合适的
回复

使用道具 举报

ID:408389 发表于 2018-10-12 08:54 | 显示全部楼层
如果只是单片机。C语言足够而且应该是最合适的,高级一点例如stm32就要会点c艹了

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:408447 发表于 2018-10-12 10:24 | 显示全部楼层
建议看一本C语言的书
回复

使用道具 举报

ID:408891 发表于 2018-10-13 09:44 | 显示全部楼层
其实c++难的原因是因为灵活度大。学的东西也多,建议先学c。主抓流程控制,函数,和指针,把面向过程搞明白,才能学好c++
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表