如何好的学习C语言

我是计算机专业科班出身,到目前为止6年的工作经验,学过c++、python、golang,但是自认为学的最好的就是c语言,所以对这个问题,有一些自己的心得。

我认为学习c语言,可以分成几个阶段来学习:

初级阶段

这个阶段,其实就是入门阶段。这个阶段的学习方法也很简单,看书、做题。不过这个简单的看书做题却又有一些注意事项。就是书看什么书,题做什么题。首先,对于初学来说,我认为看谭浩强的c语言就可以了,毕竟是初学,不必看难度太大、写的太深的书。至于做题,分两种方式,一种是把谭浩强c语言对应的题集买下来,好好的做一遍;另外一种是把这些题再在电脑里面编一遍。纸上做题是为了锻炼思维、巩固基础,电脑上编程才是真正的学以致用,两者都需要进行。相信按照这个过程,会提升你对c语言的兴趣,也能让你快速入门。

有人可能会说谭浩强的c语言太浅,这里我要解释下为什么我要推荐这本书。因为我觉得作为初学者,应该由浅入深,上来就看太难的东西,会打消自己的学习兴趣。

中级阶段

这个阶段,是对c语言的进阶阶段。这个阶段的学习方法是看书、练习、推敲。这个阶段的重点偏向于c语言语法背后的原理,例如全局变量和局部变量在内存中分配的区别,又比如栈中分配和分配在堆中又有什么区别等等。这个阶段需要看的书应该主要是《c专家编程》、《c陷阱与缺陷》这样的书。在这里,我还要特别推荐一本宋劲杉写的《c语言一站式编程》。这本书的作者虽然不是计算机专业的,但是我认为真的写的非常好,对于了解c语言背后的原理,非常适合。经过这个阶段,你对c语言已经有一个非常不错的功底了。

进阶

这个阶段的标题我没有用高级阶段,只用了进阶。因为我觉得高级阶段要懂得东西太多,而且不仅仅限于c语言本身或者是编程的东西,所以我用了进阶。

在这个阶段主要是对算法和数据结构上面的学习。入门首先推荐严蔚敏的数据结构。这本书不厚,都是基础的知识,需要将这本书中的知识好好的掌握。这本书学完,数据结构基本上没有问题了,基础算法也了解一些了。那么就可以再学习《算法导论》,并且选择一些算法自己动手实现。

当然,这个阶段你也可以选择不重点在算法上面研究。除了严蔚敏的数据结构是必须掌握的外,你也可以选择学习《unix环境高级编程》、《unix网络编程》这样的书籍进行学习。但是我偏向于算法的学习。

实战

经历了上面三个阶段,我认为你基本上已经知道自己还要学哪些、该怎么学习了。但是我还是要提醒你,这个时候还可以找一个c语言实现的开源项目,好好的研究一下。个人认为最好的就是linux内核源码。

总结

c语言作为一门编程语言,应该是每个软件开发人员都应该掌握的,而对计算机专业的学生来说更是基础。如果你按照我上面说的步骤,把这些知识都掌握的话,相信你的c语言能够达到一个较好的水平。

另外,补充一句,c语言确实是最伟大的编程语言,没有之一。

最后,如果你想学C/C++可以私信小编“01”获取素材资料以及开发工具和听课权限哦!

举报
评论 0