计算机科班的同学,不出意外,进入编程世界的第一门的语言学的肯定是 C 语言了。
其他立志做技术行的同学,从 C 语言入门百利无害。
很多人都觉得 C 语言入门难,不能像 Python 这种编程语言一样快速获得成就感。
为啥现在还有这么多技术大佬建议学一下 C 语言呢?
因为 C 语言是一门面向过程的语言,运行速度极快,是计算机产业的核心语言,像操作系统、硬件驱动、数据库这些都离不开 C 语言。不学 C 语言,就很难深入了解计算机底层的运行机制。
现在常见的高级语言的底层几乎都是 C 语言实现的。
在大学的时候搞 ACM,用过三年的 C 语言,自认为比较熟悉,给大家总结一下 C 语言的学习路线。
C 语言的学习其实就三个阶段就好了: (1) 入门阶段
这个阶段学习 C 语言的基础语法知识。
目标是可以开发一些简单的控制台小程序。 (2) 提高阶段
这个阶段学习 C 语言自带的库函数,形成 C 语言的基本知识框架。
目标是开发一些基本的应用程序。 (3) 应用阶段
这个是实战阶段,要具备一定的综合性应用软件开发能力。
目标是能够开发像贪吃蛇、图书管理系统、学生信息管理系统等项目。 注意!下面都是超极干的干货,记得先帮我 @Rocky0429 点个赞呀,么么哒。
一、入门阶段
入门阶段主要需要学习下图的内容:
1.视频推荐
此时同学们应该是小白阶段。
对于小白来说,不建议上来就看书,因为干看看不懂,容易劝退。
可以先从视频教程开始。
C 语言的视频教程我只推荐一人:浙江大学翁恺老师的 C 语言课,yyds! 是一个课程质量非常棒,讲课幽默,深入浅出的课程,非常容易理解!
当时学 C 语言的时候,自己还是个从来没接触过编程的菜鸡,当时的学习全靠翁恺老师了!
不多说,看过的都知道。翁恺老师的课是在 MOOC 上开的。
主要分两门:
第一门是面向高考结束想提前自学一些编程的或者是刚开始学习的大一新生,叫《程序设计入门-C语言》,涵盖了主要的 C 语言知识点。
《c primer plus》
语法全覆盖,细节多,知识点讲的清楚,但是内容极多,是本大部头,容易劝退。如果你觉得入门差不多,可以啃一下。
现在是第六版了,书的封面啥的都换了,内容也更贴合现在的需求。
一共17章:
第1、2章介绍了C语言编程的预备知识。
第3~15章详细讲解了C语言的相关知识。
第16章、17章介绍C预处理器、C库和高级数据表示。
书籍地址:
如果你在这个阶段觉得差不多了,可以尝试找一些在线的练习题做下。
这里推荐一下牛客网,在线的编程题库做的很不错。 可以通过下面这个我的专属链接,开启你的 C 语言测试之旅~
传送门:牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网
二、提高阶段
这个阶段你已经对 C 语言有一定认知了,这个时候我们就可以深入学习 C 语言中最重要的指针等内容了。
1.提高内容
这一个阶段需要学习的内容主要有下图:
2.书籍推荐
《C 和指针》
指针和指针操作一直是c语言中的重点和难点,反正我当时学到这里的时候,就很头疼。 这本书是 C 指针的经点之作,通过对指针的基础知识和高级特性的探讨,来让我们学会把指针的强大功能融入到自己的程序中去。 但是这本书不只是指针,更是一本很棒的 C 语言入门书,提供和C语言相关的全面资源,还有比较深入的讨论,让你形成一个正确的c语言观。
《C 专家编程》 任何人都可以享受编程,编程应该是一项精妙绝伦、充满生机、富有挑战的活动,而讲述编程的书籍也应时时迸射出激情的火花。
这本书展示了最优秀的 C 程序员所使用的编码技巧,还对 C++的基础知识进行了介绍。
书里关于 C 的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习 C++ 这些内容进行了细致的讲解和深入的分析。
差不多对几十个实例进行讲解,生动有趣,对 C 程序员具有非常高的实用价值。
《C 陷阱与缺陷》
虽然这本书的名字叫《C 陷阱与缺陷》,但本质上这本书说的不是 C 语言的缺陷,而是编程者容易犯的错误。
C 从一开始就是这么设计的,很原始,很危险,所以对编程者有一定要求。
这本书不厚,挺薄的。它不是为了批判 C 语言,而是要帮助 C 程序员绕过编程过程中的陷阱和障碍。
全文的语言很有意思,丝毫没有说教的感觉,举的例子很简单却一针见血,可以作为手边的读物,没事经常翻翻加深印象。