哈欠 发表于 2024-1-19 23:16:04

这才是你最想要的 C 语言学习路线!

计算机科班的同学,不出意外,进入编程世界的第一门的语言学的肯定是 C 语言了。
其他立志做技术行的同学,从 C 语言入门百利无害。
很多人都觉得 C 语言入门难,不能像 Python 这种编程语言一样快速获得成就感。
为啥现在还有这么多技术大佬建议学一下 C 语言呢?
因为 C 语言是一门面向过程的语言,运行速度极快,是计算机产业的核心语言,像操作系统、硬件驱动、数据库这些都离不开 C 语言。不学 C 语言,就很难深入了解计算机底层的运行机制。
现在常见的高级语言的底层几乎都是 C 语言实现的。
在大学的时候搞 ACM,用过三年的 C 语言,自认为比较熟悉,给大家总结一下 C 语言的学习路线。
C 语言的学习其实就三个阶段就好了:
(1) 入门阶段
这个阶段学习 C 语言的基础语法知识。
目标是可以开发一些简单的控制台小程序。
(2) 提高阶段
这个阶段学习 C 语言自带的库函数,形成 C 语言的基本知识框架。
目标是开发一些基本的应用程序。
(3) 应用阶段
这个是实战阶段,要具备一定的综合性应用软件开发能力。
目标是能够开发像贪吃蛇、图书管理系统、学生信息管理系统等项目。
注意!下面都是超极干的干货,记得先帮我 @Rocky0429 点个赞呀,么么哒。
一、入门阶段

入门阶段主要需要学习下图的内容:

http://pic4.zhimg.com/v2-9311be23b00ecfb07908252f6d31fb43_r.jpg
1.视频推荐

此时同学们应该是小白阶段。
对于小白来说,不建议上来就看书,因为干看看不懂,容易劝退。
可以先从视频教程开始。
C 语言的视频教程我只推荐一人:浙江大学翁恺老师的 C 语言课,yyds!
是一个课程质量非常棒,讲课幽默,深入浅出的课程,非常容易理解!
当时学 C 语言的时候,自己还是个从来没接触过编程的菜鸡,当时的学习全靠翁恺老师了!
不多说,看过的都知道。翁恺老师的课是在 MOOC 上开的。
主要分两门:

[*]第一门是面向高考结束想提前自学一些编程的或者是刚开始学习的大一新生,叫《程序设计入门-C语言》,涵盖了主要的 C 语言知识点。
完成本课程之后,就能具有初步的运用C语言编写程序的能力。
2.第二门是《C语言程序设计进阶》,这门课就是要告诉你C语言到底有哪些独特的地方,为什么能长期占据15%上下的编程语言份额。这门课同样也是带你项目实操,和设计入门搭配使用,效果翻倍。
2.书籍推荐

我姑且认为现在题主有了一点基础,可以能配合视频看书了。
《啊哈 C语言》
这本书是为计算机纯小白量身打造。
风格幽默,生动形象,通俗易懂,读起来令人耳目一新,对入门小白培养兴趣的帮助很大。
在语言艺术这方面,是登峰造极,让人不得不佩服作者的才华和用心。
只不过内容并不深入,真的是对零基础,大佬绕路。

http://pic2.zhimg.com/v2-bd933897384cd4811c8cdf3398007b1d_b.jpg
《c primer plus》
语法全覆盖,细节多,知识点讲的清楚,但是内容极多,是本大部头,容易劝退。如果你觉得入门差不多,可以啃一下。
现在是第六版了,书的封面啥的都换了,内容也更贴合现在的需求。
一共17章:

[*]第1、2章介绍了C语言编程的预备知识。
[*]第3~15章详细讲解了C语言的相关知识。
[*]第16章、17章介绍C预处理器、C库和高级数据表示。

http://pic3.zhimg.com/v2-0718fe07159b287c0286e73f95bac2d6_b.jpg
如果你在这个阶段觉得差不多了,可以尝试找一些在线的练习题做下。
这里推荐一下牛客网,在线的编程题库做的很不错。
可以通过下面这个我的专属链接,开启你的 C 语言测试之旅~
传送门:牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网
http://pic1.zhimg.com/v2-8629f9fbdd7f4586a0be5725b2d77e38_r.jpg
二、提高阶段

这个阶段你已经对 C 语言有一定认知了,这个时候我们就可以深入学习 C 语言中最重要的指针等内容了。
1.提高内容

这一个阶段需要学习的内容主要有下图:

http://pic4.zhimg.com/v2-ef1062b50eb2dc56885590d58bb94b47_r.jpg
2.书籍推荐

《C 和指针》
指针和指针操作一直是c语言中的重点和难点,反正我当时学到这里的时候,就很头疼。
这本书是 C 指针的经点之作,通过对指针的基础知识和高级特性的探讨,来让我们学会把指针的强大功能融入到自己的程序中去。
但是这本书不只是指针,更是一本很棒的 C 语言入门书,提供和C语言相关的全面资源,还有比较深入的讨论,让你形成一个正确的c语言观。

http://pic3.zhimg.com/v2-fde88d3ea94c60c18e944d7d25e6f342_b.jpg
《C 专家编程》
任何人都可以享受编程,编程应该是一项精妙绝伦、充满生机、富有挑战的活动,而讲述编程的书籍也应时时迸射出激情的火花。
这本书展示了最优秀的 C 程序员所使用的编码技巧,还对 C++的基础知识进行了介绍。
书里关于 C 的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习 C++ 这些内容进行了细致的讲解和深入的分析。
差不多对几十个实例进行讲解,生动有趣,对 C 程序员具有非常高的实用价值。

http://pic4.zhimg.com/v2-db29d137c22246fc40f212b3b51a5f37_b.jpg
《C 陷阱与缺陷》
虽然这本书的名字叫《C 陷阱与缺陷》,但本质上这本书说的不是 C 语言的缺陷,而是编程者容易犯的错误。
C 从一开始就是这么设计的,很原始,很危险,所以对编程者有一定要求。
这本书不厚,挺薄的。它不是为了批判 C 语言,而是要帮助 C 程序员绕过编程过程中的陷阱和障碍。
全文的语言很有意思,丝毫没有说教的感觉,举的例子很简单却一针见血,可以作为手边的读物,没事经常翻翻加深印象。

http://pic2.zhimg.com/v2-54da1e1d1e3976b29266cac7a90f7645_b.jpg
三、应用阶段

学编程除了理论外,更重要的是要应用,应用很好理解,前期多敲代码,之后慢慢去升华。
其实编程语言就是要多练,怎么多练,就是代码量。
自己多写,然后多观摩别人的项目,看人家的写法,模仿项目,学习其中的思想,一点点的积累,一步步形成自己的东西,厚积而薄发,慢慢你就会发现你也可以了。
1、C语言实现通讯录/图书管理
这个课程将使用 C 语言完成一个简单的通讯录。会涉及到结构体、数组、链表等重要概念,需要对 C 语言有一定的了解。

http://pic3.zhimg.com/v2-96982d566689f0381c348e2ad76ab2a6_r.jpg
地址:C 语言实现通讯录_C - 蓝桥云课2、C语言实现2048小游戏
2048是之前十分火爆的一款益智游戏,这个课程将使用 C 语言完成一个2048游戏。
适合对C语言有一定基础,需要了解C语言,以及绘图库ncurses的实用。大大提高你的动手能力。

http://pic2.zhimg.com/v2-32b6823ec10ad69ebf21658e09a27d99_r.jpg
地址:C 语言实现 2048 游戏_C3、C 语言实现简单计算器
这是用用C语言做一个简单的计算器,进行加、减、乘、除操作。
程序里面涉及的所有数学知识都很简单,但输入过程会增加复杂性。都是C语言很基础的东西(输入输出),学了之后能写出一个完整的C语言程序。适合涉及C语言的基本语法,与输入与输出。适合初学者学习。

http://pic2.zhimg.com/v2-350bf597f42e45319bc1bbfaf768729d_r.jpg
地址:https://www.lanqiao.cn/courses/754、Tinyhttpd(9.1k+ star)
一个不到 500 行的超轻量型 HTTP Server,可以用来理解服务器程序的原理和本质。
C语言 的入门级项目!用 C 语言从零写一个 HTTP 服务器!用来学习非常不错,也可以帮我们真正理解服务器程序的本质。

http://pic3.zhimg.com/v2-5f1cfa9cc83f1ad77453235dc907f282_r.jpg
传送门:https://github.com/EZLippi/Tiny5、db_tutorial(7.4k+ star)
用 C 从零创建一个简单的数据库。

http://pic3.zhimg.com/v2-206c3341d08caaa48fb3142b5c925e8a_b.gif
传送门:https://github.com/cstack/db_tu6、myscan(100+ star)
myscan 是一个多线程扫描 ip 端口的程序,代码简单不复杂,适合初学者作为练手的学习项目。
命令行如下:
myscan -p Port1[,Port2,Port3...] [-t Thread](default 10) [-d] (DEBUG) StartIp EndIp例子:
myscan -p 80 192.168.1.1 192.168.1.254
myscan -p 21,22,23,80,443,8080 -t 256 192.168.1.1 192.168.1.254传送门:https://github.com/nobackdoor/myscan7、DungeonRush(1.7k+ star)
元气贪吃蛇游戏,这个项目基于传统贪吃蛇进行了一些玩法上的创新,很适合 C 语言初学者。
通过这个项目可以写出一个好玩的游戏,既得到了锻炼又成就感满满。

http://pic4.zhimg.com/v2-3958e457ed7fd9e5d576be8121a9ad67_r.jpg
传送门:https://github.com/rapiz1/DungeonRush8、Ventoy(40.5k+)
Ventoy 是一个制作可启动 U 盘的工具,有了它我们就可以不用反复的格式化 U 盘,直接将镜像文件拷贝到 U 盘里就可以启动了,无需其它操作。

http://pic1.zhimg.com/v2-472a7109ce949bb8987f61a5ef9f2fdc_r.jpg
传送门:https://github.com/ventoy/Ventoy希望对你有所帮助

码字不易,记得帮我 @Rocky0429 点个赞呀。

小林他爸 发表于 2024-1-19 23:16:51

看到这个学长很多次了,就是粉丝特别少,现在粉以后就是老粉啦。想问一下学长c语言学到什么程度可以转行。我们大一c语言,大二学Java。舍友有的直接先学java,学长怎么看👀👀👀

johnwar 发表于 2024-1-19 23:17:27

学 C 语言是为了让你更好的去学别的编程语言。其实这个都是随便的,语言只是工具,编程思维是最重要的。

jeanefu 发表于 2024-1-19 23:17:32

谢谢学长[赞同]

Ryun 发表于 2024-1-19 23:18:29

加油加油!

荷尔蒙暴民 发表于 2024-1-19 23:19:01

粉丝来啦[赞同]

aGDasdg 发表于 2024-1-19 23:19:07

[酷][酷]我看到啦

fanfan480 发表于 2024-1-19 23:20:03

C 陷阱与缺陷部分的介绍   和 C专家变成的介绍重复了 @Rocky0429

shower 发表于 2024-1-19 23:20:11

[赞]感谢指正

lianyuan1986 发表于 2024-1-19 23:20:46

学长,学完C后有C++的学习路线吗?[种草]
页: [1] 2 3
查看完整版本: 这才是你最想要的 C 语言学习路线!