介绍给新手的一种C语言学习方法

时间:2023-01-24 20:31:30
对于C语言的学习,不同的人有不同的经历和不同的方法,当中许多方法都具备相对完整的步骤和不错的功效。然而事过境迁,多年以后回头看看走过的路,却很难理顺当初所留下的痕迹。培训新同事或者是在CSDN上解答问题的时候,发现当中有些不错的苗子,由于缺乏适当的引导,最终会很长一段时间陷入不必要的泥潭之中。这可以说是作者写下这篇文章的出发点,希望能让新手学习C语言的时候不再那么迷惘和彷徨。

上梁不正下梁歪,选书非常关键,直接涉及到基础和底子正不正。作者推荐Stephen Prata大师所著的《C Prime Plus》,套路很正内容翔实,同时涉及到标准和平台兼容性的讲解,看完之后还可以一直把它作为参考书籍放在身边。具有强烈中国特色的谭某某的流行教材,可以直接扔到垃圾桶,那是教育垄断下的畸形产物,容易走火入魔。

工欲善其事,必先利其器,选择编程环境也是非常重要的。作者推荐Ubuntu/Vim/GCC/GDB组合,Ubuntu是Linux操作系统的杰出代表,Linux与C语言是无缝结合的,另外也考虑到新手在Windows平台上,很难静下心来练习,难以抵抗游戏的诱惑和病毒木马的骚扰。Vim是最强大的代码编辑器之一,而且是随手可得,不过有一定的学习门槛,如果暂时未下定决心的话,那么可以先暂时用Gedit来编写代码。GCC是非常强大的跨平台编译器,对C语言的标准支持的非常到位,不像VC那样,总喜欢加一些另类的规则。GDB是和GCC配合的跨平台调试器,用简洁的指令就可以完成调试。萝卜芹菜,各有所爱,对于时间有限或者只对GUI有兴趣的新手来说,还有一种不错的选择,就是直接用Code::Blocks集成开发环境。Code::Blocks是开源跨平台的C/C++集成开发环境,可以从http://www.codeblocks.org下载,它体积小巧却功能强大,对Linux和Windows系统它都是支持的。

在C语言的学习过程之中,始终不要忘记欲速则不达的道理,书要一页一页一个字一个字的看,习题要踏踏实实的做。对新手而言,学习《C Prime Plus》的平均速度不要超过一个星期一章,一些重点的章节最好要多于两个星期的研究。在C语言的学习过程之中,难免会遇到各种各样的问题,可以请教朋友或者是在CSDN上提问。新手提问切忌过于依赖别人,比如像“指针如何理解”、“谁来帮我写一个数据结构”之类的问题,别人很难真正理解你的需求。提问之前最好先多思考一下,毕竟是你自己需要解决疑惑,提问的时候尽量缩小所涉及的范围,比如像“如何把IP字符串转为in6_addr类型”、“头文件中为什么总要加上#ifndef/#define/#endif这样的宏语句”这样的提问就很到位。

不是每个问题都能直接从别人那边得到满意的答案,也要逐步学会自己查资料。首先通过Google来寻找方向和线索,百度就算了,查八卦信息还行。然后通过*进一步细化,最后查看具体函数的详细资料。查看函数资料可以在http://www.kernel.org/doc/man-pages/和http://msdn.microsoft.com/zh-cn/ms348103.aspx直接搜索,也可以在Linux下输入man 3加函数名来查找。

遵循以上的学习步骤和方法,你一定可以完成新手的蜕变,作者也相信你一定会要爱上C语言的!最后补充两句,整个学习过程是不会用到Makefile的,它可以放在以后再研究。也有人会问,那么C++又当如何,很简单的说,把书换成《C++ Prime Plus》,然后用G++代替GCC就可以了。