This commit is contained in:
2024-08-10 19:46:55 +08:00
commit 2233526534
798 changed files with 35282 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
# C 语言前置概念学习
如何学习 C 语言?**第一步:Throw away the textbook。**也许你可以通过以下途径:
以下方式难度由易到难,但并不意味着收获由小到大:
1.Video[B 站翁恺的 C 语言课程](https://www.bilibili.com/video/BV1dr4y1n7vA)(非常基础,缺点是只看视频学的过浅)
<Bilibili bvid='BV1dr4y1n7vA'/>
2.MOOC[翁凯 C 课程的 MOOC 慕课](https://www.icourse163.org/course/ZJU-9001)(同上,慕课的习题和 Projects 性价比不高,几乎没有差别)
3.Web[菜鸟教程](https://www.runoob.com/cprogramming/c-tutorial.html)(基础但是覆盖面较广,不够深入)
4.Web[CNote](https://github.com/coderit666/CNote)(例子密集,学习曲线平滑,覆盖面广且具有深度)
::: tip 📥
《C Primer Plus》第六版中文版216MB附件下载 <Download url="https://cdn.xyxsw.site/files/C%20Primer%20Plus%E7%AC%AC6%E7%89%88%20%E4%B8%AD%E6%96%87%E7%89%88.pdf"/>
:::
5.Book**教材替换用书——《C Primer Plus》**(基础且深入的恰到好处,有一定拓展,可能后面的章节有点难懂,是一本不可多得的好书,不要忽视课本习题及 Projects
6.MOOC[Introductory C Programming 专项课程](https://www.coursera.org/specializations/c-programming)**全英文**,好处是涉及到计算机思维,包含许多常用 tools 的教学例如 git、make、emacs、gdb视频讲解结合文档阅读对于 C 的重要核心知识讲解透彻,难度颇高,建议用作提升)
7.Web[LinuxC 一站式编程](https://akaedu.github.io/book/)(难度大,枯燥硬核,收获多,基于 linux
## 学习建议:可以选择其一或多种学习
- 对于缺乏计算机基础这里的基础指的是计算机的日常使用的同学1、2是不错的选择但在学完后要选择 4、5、6 进行补充巩固提高。
- 对于有一定计算机基础的同学,直接上手 4、5、6 都是很不错的选择。
- 对于有一定 linux 基础以及计算机基础的同学,或是同时想同步学习 linux 的同学7 是可选择的。
关于“6.Introductory C Programming 专项课程”的一些思考
该课程的免费修读需要在 coursera 上申请助学金(并不困难)[申请教程](https://zhuanlan.zhihu.com/p/394479617)。
对于以上几种方式6 有其特殊性6 不仅仅是对于 C 语言的学习其其中包含的计算机思维Tools 的使用等等都有其普遍适用性。对比其他方式(包含学校课程)不难发现,对于计算机思维的训练与提升,在一定程度上,我们存在着缺失,但它又是极其重要的,如果你希望在学习 C 的同时又有其他多方面的提升,强烈建议你试试该课程(不要被英语劝退![2.5 以理工科的方式阅读英语](../2.%E9%AB%98%E6%95%88%E5%AD%A6%E4%B9%A0/2.5%E4%BB%A5%E7%90%86%E5%B7%A5%E7%A7%91%E7%9A%84%E6%96%B9%E5%BC%8F%E9%98%85%E8%AF%BB%E8%8B%B1%E8%AF%AD.md) )。
当然你也可以通过其他方式培养计算机思维以及学习 Tools 的使用。但是越早培养,越有优势。
计算机思维与计算机科学与编码能力
![](https://cdn.xyxsw.site/Hqzbbs6iYobnxWxz11Ocfa9gnHd.png)
### **CS education is more than just “learning how to code”!**