如何学习C语言?

第一,C语言的语法结构非常简洁精致,写出来的程序也非常高效,很容易描述算法。大部分程序员都愿意用C语言来描述算法本身,所以如果你想在编程上有所建树,就必须学会它。

第二:C语言可以让你深入系统底层。你知道的哪个操作系统不是用C语言写的?所有的windows,Unix,Linux,Mac,os/2都是内外兼修。如果你不懂C语言,怎么深入这些操作系统呢?更不用说你写他们的内核程序了。

第三:很多新的语言都来源于C语言,C++,Java,C#,J#,perl...哪个不是?掌握了C语言,可以说掌握了很多语言。经过简单的学习,就可以使用这些新语言进行开发,再次证明了C语言是编程的重要基础。还有,多说一点:就算现在招程序员,考试也全是C语言。如果你想加入it行业,你必须掌握好C语言。

那么如何学习C语言呢?

1:工欲善其事,必先利其器。

以下是学习C语言的一些基本事项:

一个开发环境,比如turbo C 2.0,曾经占据了DOS时代开发程序的一半以上。但是在windows时代,使用turbo C有一些缺点,编辑程序非常困难,而且拖拽,没有函数变量的自动感应功能,查询参考资料也不方便。建议用Visual C++,相对来说比较笨重,但是一旦安装,使用起来非常方便。

一本学习教程,现在C语言教材多如牛毛,但我推荐你使用谭浩强主编的《C语言程序设计》第二版,清华大学出版社。这本书很适合初学者,内容也很准确。

另外还有很多辅助学习的软件。毕竟现在是窗口时代,学习软件很多,不像我们学习的时候那么老套,只看书做题。我推荐一个“集成学习环境(C语言)”,里面知识点总结和套路讲解都很好,还有一个题库测试环境。据说有几千个问题,windows下甚至还有一个trubo C。初学者不用安装其他编译器就可以练习编程,非常适合初学者。还有一个“C语言学习系统”软件,但是感觉就是一个题库系统。如果觉得题做的不够,不妨试试。

2.向日葵系列

学习计算机语言的最好方法是什么?回答:看节目。

是的,阅读程序是学习C语言最快最好的方法。和我一样,现在学习J#、C#和C #等新语言,不再是一行一行的吃书,而是学习它们的套路。当然,对于没有学过任何计算机语言的初学者来说,最好是先把教程看完,而且每学完一章,都要仔细理解这一章的所有概念,然后不要放过这一章提到的所有套路,再仔细研究程序,直到每一行都理解为止,然后找几个编程题目,最好是和套路相似或相同的,尽量把这个你已经看过的程序写出来。不要以为你看了套路。你可以写和它一样的程序,绝对不行。不信就试试看。如果你写不出来,也不用担心。回去继续研究套路,想想为什么写不出来。然后反复写这个程序,直到写对为止。恭喜你,你很快就要开始了。

3.达到顶峰

其实编程的最高境界就是掌握解决问题的各种手段(数据结构)和方法(算法)。

写低级程序是编程高手吗?不,写底层程序无非就是掌握硬件结构。再说硬件和硬件不一样。给一个芯片写驱动无非就是掌握这个芯片的各种寄存器及其组合,然后写值和读值,仅此而已。这只是熟悉一些io功能。那么什么是精通编程呢?怎样才能掌握编程?比如你面前有10个人。找一个叫“张三”的人。你该怎么办?第一种方法:直接问这10人:“张三是谁”。第二种方法:你问“你是张三吗?”直到问的人是张三。第三种方法:你问每个人“你认识张三吗?给我看看”。不要小看这个问题。你说你一定会选择第一种方法。恭喜你答对了,因为这个方法是最快最高效的。但是,找到解决问题的最佳方法,以及你在编程中使用的手段,是检验一个程序员编程水平的重要标志,并不容易实现。刚才的问题和数据结构与算法中的问题类似:映射数据结构,穷举搜索和半搜索。所以,掌握数据结构和一些常用算法是登峰造极的必经之路。最后,我向清华大学出版社推荐严为民的《数据结构》。希望每一个想成为编程高手的人都来学习这本书。

答案:2005年3月8日10: 39

提问者对答案的评价:

你是专业人士,对吗?你能联系我吗?

***11条评论...

其他回答***对┆报告评论的5个回答

sober2000

【初级】如何学好C?

1.克服畏难情绪,理性理解计算机语言。

我们大部分学生在学习之前都害怕困难。他们觉得C语言难学,其实不会。这主要是因为他们不懂计算机语言。此外,一些学生英语学得不好。当他们看到计算机编程是用英文写的,他们在学习之前就放弃了。其实学语言没有他们想的那么难,英语不好对学计算机语言影响不大。比如学习C语言,需要的关键词少,语法复杂。只要大家不怕困难,一定会学好的。

2.学好前三章,打好基础。

学习计算机语言没有太多需要记忆的知识,比如C语言。只要学会前三章:标识符、运算符和表达式、序列结构编程,打好基础,后面的学习就会轻松很多。我在教学中经常遇到这种情况。有些同学学习后甚至忘记了printf()、scanf()、putchar()、getchar()等常用函数的使用。如果不能熟练掌握这些基础知识,他们又如何学习下面的内容呢?

3.改变学习方式,多思考,多分析,多实践。

根据我多年的了解,我们的学生在小学和初中的学习过程中有很多填鸭式的教学模式,导致学生思维不灵活,无脑,不善于分析问题,只会死记硬背。这种情况是学习计算机的最大障碍。说实话,没有一定程度的了解和掌握,学好和用好电脑真的很难。所以,学生不要满足于老师教了多少,而要开动自己的大脑,对遇到的问题多分析多思考,多在电脑上练习,适当看一些相关的课外书补充自己的知识,这样才能学好用好。就像我前面提到的那个学生,一开始他总是对我教了他多少感到满意。后来如果他做了我分析后的习题,总觉得没有成就感。由于填鸭式的教学,学生无法在学习中尝试学习快乐和成功,自然也就学不好。

4.从实例中提取精华,掌握一些有代表性的编程方法。

其实这和学数学是一样的。总的来说,无论是课本上的例题,还是老师布置的习题,都是有代表性的,代表了某些问题的解决方法。因此,学生在学习中不应满足于理解或掌握例题、习题的解法,而应进一步提炼这些有代表性的解法,作为解决类似问题的通用方法。比如我在讲授数组排序方法的应用时,经常会讲到两种排序方法:冒泡法和选择法。其实作为一般应用,不管哪种排序方法好,只要是排序问题,用其中一种(或者改造一下)就能解决问题。

5.加强数学的学习,提高自己的数学基础。

当然,如果想学得更深入,要求更高,学好数学知识对于编程来说无疑是必要的。在后续的编程学习中,对算法等的理解需要相当的数学知识,所以在学习中,学生也要努力学习数学,扎实的数学基础对编程学习很有帮助。