玩C的时候怎么防喜欢吸人的pf和C?
题记:原标题叫《从C到无穷大》,太晦涩了。后来想用“C,D,E,F……”,太混乱了。所以,我用了这个题目,它的缩写恰好是CDEF。不管我用什么样的题目,我想表达的都是一个意思,就是C语言课程结束后我们该怎么办。我们都学过很多课程,每个课程都有大纲和教材。严格按照大纲学习,把教材背得滚瓜烂熟,是一以贯之的学习策略,导致了无数次考试,一路到大学。如果学习C语言的目的只是为了期末考试,最多再加上一个“二级”,那么请不要继续看这篇文章,因为下面的话只会给你带来负面影响。真正的大学课程的学习应该是无止境的。没有一个机构能给它画一个框框说该学什么不该学什么,也不会有一本教科书能回答你以后会遇到的所有问题。本文只希望能帮助到那些热爱编程,把编程当成自己未来旅途中不可或缺的元素的同学。帮助大家以C为起点,探索无尽的未来。怎么学CC永远学不会!从语法上来说,C可能是所有高级语言中最简单的,常用关键词不超过30个,语法规则不复杂,没有需要记忆的“成语”。如果C语言只是像英语一样的单词和语法,那么大家可以说学完课程就学会了C。每一种自然语言都可以用简单的文字和语法描述复杂宏大的世界,但并不是每个人都能像爱因斯坦、霍金、马克思、李白、金庸等那样用语言表达令人钦佩的内容。即使和周围的人相比,同样说中文的你也很难说出完全一样的话。C语言也是如此。它是一种语言工具,通过它我们表达我们对世界的理解,或者具体地说,我们对程序的看法。视野和思维直接影响我们写的代码的美观。如果我们总能写出漂亮的代码作为学习C语言的准则,那么C就永远学不会,因为视觉和思维的训练无止境,就像我们没有真正学过中文一样。既然C有那么多东西要学,那我们应该学什么呢?学C的目的不是为了学C,否则会太狭隘。我们应该利用学习C的机会,开阔自己的视野和思维,锻炼自己的能力,成为世界(包括计算机世界和编程世界)的主人,而不是C语言的奴隶。第一学习学习“学习”是一个主动创造而不是被动接受的过程。真正的学习需要主动广泛的求知,跟踪最新的进展,综合思考判断各方意见,实践检验,然后形成自己的见解,传播出去。c语言学习也符合这个规律。经典书籍要读,手册和网上文献要经常查阅,网络提供了接触最新知识的机会。这里推荐两个网站:网页链接和网页链接(注:站长另寻爱人,本站关闭)。后者是哈工大的一个学生在大四的时候创建的,旨在研究深度技术,被一位微软员工评价为“到处都有很多牛逼的人,还有很多PureC”。但真正能把世界各地牛逼的人聚集在一起的地方是新闻组:news://comp.lang.c .如果你不知道什么是新闻组,马上去搜索引擎找答案(网页链接是适合新手的新闻组入口)。搜索引擎是最重要的知识来源,google.com是第一个。遗憾的是,理工大学校园里的计算机房不能出国参观,所以Baidu.com不得不勉强使用它们,尽管它找到的信息的可用性和可信度都很差。尤其是英语阅读能力很重要,不要回避英语信息,因为总会有你回避不了的一天。挤破头往上冲,很快你就会发现,读英文比读中文快乐多了。如果把学到的东西都接受了,那就没意思了。当阅读范围扩大后,你会发现即使是权威的观点也会有很多矛盾,你总会看到所谓的“真理”被推翻。所以,抱着“怀疑”的心态去读书,可能更有利于习惯背书的中国学生打开思路。C语言有很多历史悬案,无休止的争论也没有结果,比如缩进是用空格还是制表符,以及“{”是否应该是单行。你要有自己的看法,“信书不如无书”。学习编程和使用计算机远比读书重要。手工编程的学习效果比努力学习要好0xFFFFFFFF倍。上电脑不仅仅是打字书的例子,它只能训练打字员。做一些有挑战性的事情,比如编一个小游戏,做一个恶作剧程序,甚至可以考虑开发* * *享受软件。如果觉得无从下手,就下载别人的源代码。同时,不要把自己困在TC2里,要走得更宽。VC,gcc,Dev-C++,Eclipse……...是巨大而美妙的。其次,除了C++,很难找到其他像C这样与计算机如此接近的高级语言。只有了解了C语言和计算机的内部原理,才能轻松愉快地驾驭C。课堂教学可以教你类型、选择、循环、输入输出等。我喜欢称它们为C语言的“毛尖”,也就是我连“皮毛”都没摸过。当你写下一行代码时,你不仅可以想象它的执行效果,还可以知道它会给CPU、内存和各种计算机设备带来什么。那种感觉很奇妙,很刺激。在这种情况下,你能感受到你是真的在控制C,用C为所欲为,而不是在C的束缚下疲于应付各种莫名其妙的问题,为了找到这种感觉,不要满足于课堂和一本教材,更不用说迷信非专业人士所持有的经典。既然有这么好的机会接触到很多世界级大师和老师的作品,就应该抓住机会和他们直接对话。下面是一些适合入门的顶级教材。[Deitel94]已经出了第四版,但是在国内只能买到第二版。是一本可以引导你走上编程正确道路的书。【Prata04】作者写过一系列“入门”书籍,经典,几经升级,内容丰富。【Kelley97】也是经典教材。它最大的好处就是没有中文版,可以强迫你用英文思考。[Roberts94]很不一样。作者是斯坦福大学计算机系资深教授,著名的学术型计算机教育专家。它的书是教编程的,不是C语言(scanf()最早出现在539页),所以如果你想学习优秀的编程技术,这本书是非常好的入门读物,但是如果你想学习高深的C语言,那就无济于事了。【Harbison02】是一本“全集”,大概是唯一一本值得收藏随时阅读的书,所以不是入门书,但作为初学者的辅助参考书是很不错的。课程结束后,首先要把教材撕掉(对,就是上面有我名字的那本。与其让我在二手书市经常看到,还不如撕了扔掉,然后马上看[Kernighan88]。这本书,是C语言的设计者写的,用极其简洁但准确的文字描述了C,每次举办都能提高人们对C语言的理解。想要得到绝对准确的信息,除了看[C99]别无选择,虽然很丑。然后你可以阅读[Kernighan99]和[Linden94]来提高自己的实际编程能力,拓宽自己的知识面。前者强调技巧和数据结构,后者强调经验和原理,特别是后者能让你发现编程是世界上最有趣的事情。当你随着编程的增加,错误越来越多的时候,找【Maguire93】,成为bug终结者。如果你通过学习C语言对计算机的深层原理产生了浓厚的兴趣,那就看【Bryant02】。另外,还有一本专门“贬低”C语言的书——【Koenig 89】,也值得一读。这些书的作者在认真完成自己工作的同时,也将许多超出本书范围的相关内容以参考文献的形式推荐给读者。从参考文献中,你可以找到一些值得品尝的东西。虽然中国人的原创技术书并不比外国人的经典,但也有其价值,有时候拿一个高质量的产品。这里推荐一本书【芮林03】,自然没有大师的书那么厚重,但却颇有特色,毫无意义,一些即兴的感受也为编程增添了一点人情味。学生阶段第三次学习数学,最大的遗憾是,不仅本科时没有认识到数学的重要性,而且对数学有着极其错误的看法,以至于今天看到数学好的人都吓得不敢抬头,羞愧难当。当初没有遇到名师指点,就这样结束了,很不幸。今天,我以我痛苦的经历警告你,数学真的是百科全书之母,我们一定要用我们的精力去孝敬他们。如果你想体验数学的奇妙与真实,以及数学与C语言的完美结合,只要去网页链接,在线做题就可以了。数学在编程中体现为算法和数据结构。我没读过多少关于他们的书。以下介绍参考别人的评论而非我个人观点。数据结构比较简单,你先学学。建议看看[Weiss96]再过渡到算法。算法领域有很多彩旗在飘扬。【Cormen01】可能是一个非常合适的入口,有助于你对算法进行概述,找到自己感兴趣的领域,然后继续找其他书进行深化。算法领域最重要的书是【Knuth98】,是一本非常经典笨重的三卷书,也非常贵。任何人只要能看懂其中一卷就足够令人钦佩了。我现在只能把它们献给书架了。C以后学什么?虽然c永远学不完,但你千万不要抓着不放。其实上面说的很多内容已经不属于C语言的范畴了,应该属于用计算机解决实际问题的技术。那么回到语言本身,C可能是大多数学生学习的第一门计算机语言,但应该不是最后一门。计算机是人类发明的最伟大的工具,对每个人来说都是不可避免的。随身携带几种计算机语言,是潇洒走天下的有力保障。诚然,考完试能再用C的人是少数,但能不再编程的,在工科院校还是凤毛麟角。c语言功能强大,号称万能,但并不是解决所有问题的最佳选择。没有一种语言可以征服世界,它们都有自己不擅长的专业领域和方向。一定要根据自己的领域特点,选择一门或几门最适合自己的语言进行自学,同时也不用担心学习C语言的过程会白费,因为虽然语言之间的“形”不同,但“神”都是相通的。在本文的第二部分,很多建议你学习的内容都是这个“神”的一部分。能够超越语言去思考编程,才是编程的真正本质。如果你能用语言表达你的想法,你就是一个真正的编程大师。参考注:括号内的标题为英文原名。斜体“中文”表示中文版,“英文”表示英文影印版,“E”表示英文电子版,“电”表示中文电子版(不含超星格式),删除线表示该版本已绝版。请不要找我要电子版,大部分电子版都是盗版。请仔细下载。同时,因为世界总是在变化,我不能保证当你读到这篇文章时,这些信息仍然有效。[Deitel94]H.M.Deitel,C程序设计教程(CHowtoProgram),第2版,in。这本书里有许多错误。不知道是原版还是译本,但至少译本的排版很乱,有点浪费好书。[Prata04]StephenPrata,CPrimerPlus(CPrimerPlus),第5版,e .“Primer”的标题太大了,中文版根本不翻译标题。[Kelley97]AlKelley,IraPohl,ABookonC:ProgramminginC,英语。[Roberts 94] Erics Roberts,C语言的艺术和科学(基于别名的入门和计算机科学),中文和英文。虽然不同,但有很多创新值得铭记。我在学习他把图形库引入C语言教学的方法。《C语言参考手册》(C:AReferenceManual),第5版,英文。其实这本书是有中文版的,但是为了你的健康,还是算了吧。阿门...[kernigan 88] kernigan,Ritchie,TheCProgrammingLanguage(第二版),中英文e .本书缩写为“K &;R2”,被誉为C语言的“圣经”。Ritchie是C语言之父。[C99]ISO/IEC9899:1999,C标准1999版,e .简称C99。可以这样描述:“1。C99永远是对的;2.如果C99错了,请参考第一条。”讽刺的是,我们国家计算机等级考试二级的很多题都是针对C99的。我相信里奇到了二年级就会抑郁。[kernigan 99] kernigan,Pike,实践编程,中电电气。中英文阅读,学习知识,练习英语。[Linden94]PetervanderLinden,ExpertCProgramming,在e .这是一本非常幽默的书(可惜翻译版失去了很多幽默,这是不可能的),因为上面印着一条腔棘鱼,所以在业内被戏称为“鱼书”。[Maguire93]SteveMaguire,《编程精要:──微软开发bug-free cprograms的技巧》,e .网上很多地方流传的电子版名字是“WriteCleanCode”。以下是对马奎尔的澄清。Bryant,O'Hallaron,《理解计算机系统》(一个程序员的洞察力),中文和英文。不得不说,这本书的中文版是为数不多的优秀译本之一。[Koenig89]AndrewKoenig,CTrapsandPitfalls,电子电气。因为年代的原因,书中有些观点已经过时,只是用来练习阅读和批判。[芮林03]芮林、韩永权,《高质量程序设计指南——c++/C语言》,第二版,CLP。我觉得这本书里有很多错误的观点,也有很多正确的观点。欢迎发表您的看法。[Weiss96]MarkAllenWeiss,《数据结构与算法分析——C语言描述》,第二版,in。[Cormen01]Cormen,Leiserson,Rivest,Stein,《算法导论》,第2版,英文E. [Knuth98]DonaldKnuth,The theartofcomputer programming)《I,Volumes I,II,III,中英文。第一个发现书中错误的读者将得到一张由作者签名的2.56美元的支票。Knuth退休了,在家里度过他的闲暇时光。江湖传奇第四卷马上出版了,他正在写第五卷(计划1 * * *写第七卷)。我希望你不要让Knuth写得比你读得快。