文档库 最新最全的文档下载
当前位置:文档库 › C语言及C++初学(摘抄)

C语言及C++初学(摘抄)

*2011*8*10*---*2011*8*19*
======================================================
0.FAQ就是Frequently Asked Questions(常见问题解答)。
1.程序员就象是猎人,他们更换语言就像猎人更换武器一样,不管他使用哪一种武器,捕猎的基本原理没有变化,变化的只是武器的使用方法。
2.程序也同样有词汇和语法上的一些规定,这些规定就构成一门语言。显然任何一门编程语言都是人造语言。人造的东西,因发明人的想法而不同,就形成了不同的语言。
3。任何一种计算机语言的难度都不会超过英语,更比不上汉语。
4.请记住学会和学好是两个层次。
5.身体是革命的本钱。健康的身体对编程大有益处。
6.学习编程重要的是持之以恒,而不是依靠爆发力,每天半小时比一周一次6小时效果好的多。
7.网站浏览:https://www.wendangku.net/doc/182622165.html, https://www.wendangku.net/doc/182622165.html,和https://www.wendangku.net/doc/182622165.html,。
8.C++被称为是真正的程序员使用的语言不是没有理由的,她的复杂度和性能超出你的想象。有无数的编程新手,在第一个月不到就放弃了,你最好确定你不是他们中的一员。【毅力】没有尺子可以来度量,在这里我只能先祝愿各位读者都能坚持到最后。
9.编程并不象你想象的那样轻松,不是野餐和聚会。可以这样说学好C++,三年不开张,开张吃三年。
10编程不是豪华海上旅游,而是修行。修行不需要五星级饭店,但也要有破屋以遮风雨,否则感冒发烧了,怎样来修行呢。
11.反复地看教材,要牢记一点,你所提出的大部分问题,教材上都有解释,只是你没有认真看而已。反复地阅读,直到你觉得你已经可以编写出那本教材了,才可以丢弃他。教材比老师好的理由之一是,你可以带教材上厕所去卧室,而老师不行。当然,老师也有比教材优越的地方,那就是他可以给你解释教材上没有的问题。但记住老师也是人,你不动脑子就去找他,他会厌烦的。不要鄙视你的老师,即使他其它方面不如你,至少在编程这件事上他能做你的老师就是他比你强的硬道理。
12.你以为光看语法书和背诵单词而不练嘴就能说好英语么,显然不对。编程也是,熟能生巧在任何地方都是一样的。首先看懂教材上的那些例子,确保看懂之后,按着他的思路把它默写出来,当你尝试过就会知道看懂和默写是两个完全不同的程度。对于那些例题,只要你用心看过就会领会他的算法。那么,你再默写一遍,即使和他的原程序样子不一样,也总算是把这个算法表达出来了。反复这样练习,这个表达问题不就解决了么。而且在这个过程中,至少你学到了一个算法。基于此原则,任何你遇到的可以看懂的例程,我都建议你默写它。然后就可以做书后面的习题

,独立想,不要看答案或提示。等到整本书后面的习题你都能做对的时候,你就算入门了。
13.算法和数据结构就是程序里的修辞手法谋篇布局,学习算法就是学习前人的智慧.
14.在学库之前,先要确定你所要工作的平台和环境,然后就是一套步骤,找教材,做练习但更好的方案是去找一个实际的小型应用,在使用中学习效果,无与伦比。编写一个QQ或者BT,绝对能让你对网络操作部分了如指掌。
15.看书和做题之外,还有一个内容不可缺少,就是阅读别人的程序。没有哪个作家不大量阅读别人的作品,同样你也可以从别人的代码中吸取营养。代码就是程序的全部,是真实的实现方法,一切都在代码中,甚至有时长篇累牍的说明还不如几行代码清晰明白。
16.记得没人会同情你,我亲爱的兄弟。当你遇到编程遇到问题,首先应该是去看编译器提供的信息。然后就去查教材和文档。再者上网去查。
17.阅读这篇文章《提问的智慧》
https://www.wendangku.net/doc/182622165.html,/jh/29/8675.html
https://www.wendangku.net/doc/182622165.html,/bbs/forum_posts.asp?TID=1581&PN=1&TPN=1
这个也行,《提问的智慧 图片版》
https://www.wendangku.net/doc/182622165.html,/viewthread.php?tid=750796&extra=page%3D1
https://www.wendangku.net/doc/182622165.html,/bbs/forum_posts.asp?TID=1573&PN=1&TPN=1
18.在小学的数学教材里,有一种题型,叫应用题。他会给出很多生活中的场景,然后让你用数学知识来解决。在解这种题时,其实分为三个步骤,首先是要提取出数理模型,比如常见的追击相遇这类问题,就要使用速度时间模型,然后把这个模型数学化,找出各个变量之间的关系,确定已知量和未知量,形成可求解的方程,最后求解。编程的情况与此类似。首先要建立一个抽象描述模型,然后建立数学表达,接下来略有不同,不是亲自求解,而是给出求解的方法,也就是算法,最后把算法转化为程序。
19.记住一个重要的思想:编程中任何问题都要分解到足够小,小到机器可以一次解决的程度。
20.算法总是从问题出发,通过一定的模式,逐渐细化再细化,直到可以直接转成程序。
21.提高数学素养,这不是说多背数学公式和多做数学题,而是大脑受过的数学思想训练,是指一种数学的思维方式。
22.在信息时代,任何主观障碍都不存在。如果你要研发什么新技术的话,只需要一台便宜的二手电脑、一张linux光盘和一个上网账号,再加上为之献身的决心,你就可以达到想要的任何编程深度。(在《提问的智慧》上找这句话)
23.关于态度、情绪和其他和技术无关,关于学习态度和方法的一些提示。
《循序渐进学编程》 https://www.wendangku.net/doc/182622165.html,/bbs/forum_posts.aspTID=1353&PN=2
《一个程序员给初学编程人的建议》
http://www

https://www.wendangku.net/doc/182622165.html,/bbs/forum_posts.asp?TID=265&PN=1
《 c语言学习经验--请不要做浮躁的人》
https://www.wendangku.net/doc/182622165.html,/bbs/forum_posts.aspTID=1359&PN=2
《成为软件高手的几个忌讳》https://www.wendangku.net/doc/182622165.html,/bbs/forum_posts.asp?TID=155&PN=8
24.C/C++简直就是编程界的普通话.了解"开源组织"???
25.无论过去、现在还是将来,天底下不存在哪一门语言非学不可才能成为高手,思想最重要.学C/C++,主要还是通过他学习编程思想。真正的武林高手,难道会局限于手里的那把大剑吗?!
26C/C++语言有如此之多的好处,但他也不是完美无缺的,第一个致命弱点是复杂性;第二个开发效率也是C/C++的致命伤。
27. Python语言??? Python语言是少有的一种可以称得上即简单又功能强大的编程语言。
28.程序员看来,只要能自动计算的东西,就是计算机。这个说法的重点在于自动和计算这两个词。广义的计算是指能对外界的某种输入做出反应,不一定就是数学运算。自动是说计算是通过自身的运作来完成的,不需外界干预。
29.任何程序都有三个要素:执行者、操作对象(也称为资源)和操作方法(指令)。
30.程序代表人期望电脑能做的事,当人需要做这些事时,人提供指令,再给出某些资源以期电脑能对其做正确的改变。程序只是方法的描述,本身是不能发生任何效用的,直到它被执行,人为给定它一块内存,告诉它计算结果的精度及计算结果的存放位置后,他通过控制CPU才改变人为给定的这块内存的状态以表现出计算结果。
31.软件大体就是程序和主要由程序产生的数据。广义的说,乐谱、菜谱、工作手册、仪器的操作说明也是某种程序,我们不妨称之为类程序。
32.机器有三大特点:第一,就是机器很傻;(例,从三个数里选出最大最小值,人类可以一眼就看出,但机器只能先从两个里找出最大的,在把这个最大的和第三个比较,然后再这样重复一遍找出最小值。如果是四五个数,机器也是这样反复操作 );第二,快而不乱(机器没有感情);第三,机器和我们言语不通。
33.程序其实是电脉冲形式的指令的集合。
34.编译器的工作本质上类同于翻译,程序员写完所有的源代码,由编译器一次性转为可执行文件留待以后执行,这种类似笔译的模式我们称为编译。
35.我们先按某种方法和规则,生成一个我们能看懂的指令序列(源代码),再通过某个转化的工具(编译器),把它变成机器可以运行的指令(可执行程序)。这个我们能看懂的指令序列的规则的总和(词汇和语法),就是我们通常说的计算机语言,为了和机器语言相区别,被称为高级语言。
36.操作系统是一大类特殊的程序,是最基础的程序。

他让计算机运行起来,所有的硬件都做好准备,接受别的程序给予的指令。没有操作系统的计算机,就像没有灵魂的身体。
37.特定的计算机和特定的操作系统的组合,就被称为平台。如果你想要在编程上面有所成就,你不得不选定一个平台深入地钻研。
38.程序与用户交流的方式被称为界面。软件复用????
39.找书的诀窍---1.线上论坛新闻组等别人的推荐评价,2.老师和前辈师兄师姐,3.去找著名大学的计算机教材。声名在外的麻省理工、加州伯克利和清华,他们的教授们的眼光绝对是你可以信任的。4.买书时参看出版社,国内的清华大学出版社、机械工业出版社、电子工业出版社、人民邮电出版社四家出好书的机会很高,不过有时翻译质量是个问题。国外的O'Reilly可以说是最专业的计算机图书出版商,他出的没有不是经典的。此外Addison Wesley、Microsoft Press、 Pearson几家也尽是出猛书的地方。
40. 程序员成长的六个阶段
第一阶段 :此阶段主要是能熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。
第二阶段 :此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函数)以及所对应语言的自身的库函数。到达这个阶段后,也就相当于可以进行真实散打对练了,可以真正地在实践中做些应用。
第三阶段 : 此阶段能深入地了解某个平台系统的底层,已经具有了初级的内功的能力,也就是“手中有剑,心中无剑”。
第四阶级 :此阶段能直接在平台上进行比较深层次的开发。基本上,能达到这个层次就可以说是进入了高层次。这时进入了高级内功的修炼。比如能进行VxD或操作系统的内核的修改。
这时已经不再有语言的束缚,语言只是一种工具,即使要用自己不会的语言进行开发,也只是简单地熟悉一下,就手到擒来,完全不像是第一阶段的时候学习语言的那种情况。一般来说,从第三阶段过渡到第四阶段是比较困难的。为什么会难呢?这就是因为很多人的思想转变不过来。
第五阶级 :此阶段就已经不再局限于简单的技术上的问题了,而是能从全局上把握和设计一个比较大的系统体系结构,从内核到外层界面。可以说是“手中无剑,心中有剑”。到了这个阶段以后,能对市面上的任何软件进行剖析,并能按自己的要求进行设计,就算是MS Word这样的大型软件,只要有充足的时间,也一定会设计出来。
第六阶级 :此阶段也是最高的境界,达到“无招胜有招”。这时候,任何问题就纯粹变成了一个思路的问题,不是用什么代码就能表示的。也就是“手中无剑,心中也无剑”。此时,对于练功的人来说

,他已不用再去学什么少林拳,只是在旁看一下少林拳的对战,就能把此拳拿来就用。这就是真正的大师级的人物。这时,Win 32或Linux在你眼里是没有什么差别的。说明:每一个阶段再向上发展时都要按一定的方法。第一、第二个阶段通过自学就可以完成,只要多用心去研究,耐心地去学习。要想从第二个阶段过渡到第三个阶段,就要有一个好的学习环境。例如有一个高手带领或公司里有一个好的练手环境。经过二、三年的积累就能达到第三个阶段。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41 初级程序员和高级程序员的区别
一般对于一个问题,初级程序员和高级程序员考虑这个问题的方法绝对是不同的。比如,在初级程序员阶段时,他会觉得VB也能做出应用来,且看起来也不错。但到了中级程序员时,他可能就不会选择VB了,可能会用MFC,这时,也能做出效果不错的程序。到高级程序员时,他绝对不是首先选择以上工具,VB也好,VC也好,这些都不是他考虑的问题。这时考虑的绝对是什么才是具有最快效率、最稳定性能的解决问题的方法。
软件和别的产品不同。比如,在软件中要达到某个目标有n种方法,但是在n种方法中,只有一种方法或两种方法是最好的,其他的都很次。所以,要做一个好的系统,是很需要耐心的。如没有耐心,就不会有细活,有细活的东西才是好东西。我觉得做软件是这样,做任何事情也是这样的,一定要投入。
程序员到达最高境界的时候,想的就是“我就是程序,程序就是我”。这时候我要做一个软件,不会有自己主观的思路,而是以机器的思路来考虑问题,也就是说,就是以程序的思考方式来思考程序,而不是以我去设计程序的方式去思考程序。这一点如果不到比较高的层次是不能明白的。
你设计程序不就是你思考问题,然后按自己的思路去做程序吗?
其实不是的。在我设计这个程序的时候,相当于我“钻”入这个程序里面去了。这时候没有我自己的任何思维,我的所有思维都是这个程序,它这步该怎么走,下步该怎么走,它可能会出现什么情况。我动这个部分的时候,别的部分是否要干扰,也许会动一发而牵全身,它们之间是怎么相互影响的?
我就是程序,程序就是我!

相关文档
相关文档 最新文档