刚学了C语言,想写点程序。有什么好玩的?
很多人对学习C语言感到无所适从,经常问我同一个问题:C语言到底怎么学?我是一名老师,做了很多年的程序开发。和很多刚入门的人一样,我学的第一门计算机语言是C语言。经过这几年的发展,我深深体会到C语言对于一个程序员来说有多重要。不懂C语言就想写低级程序,这听起来几乎很可笑。如果不懂C语言,想写出优秀高效的程序,根本不可能。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人:“张三是谁”。第二种方法:你问“你是张三吗?”直到问的人是张三。第三种方法:你问每个人“你认识张三吗?给我看看”。不要小看这个问题。你说你一定会选择第一种方法。恭喜你答对了,因为这个方法是最快最高效的。但是,找到解决问题的最佳方法,以及你在编程中使用的手段,是检验一个程序员编程水平的重要标志,并不容易实现。刚才的问题和数据结构与算法中的问题类似:映射数据结构,穷举搜索和半搜索。所以,掌握数据结构和一些常用算法是登峰造极的必经之路。