此文章适用于刚上大一大二的迷茫萌新,转专业的粉嫩新人,还有准备卷408数据结构的考研大佬。仅代表我个人的浅薄之见,成年人要学会自己思考。
从我个人经历说一说如何学这门课程。对于抽象逻辑思维能力一般的同学,我的建议是不要试图理解伪代码,直接写或者背下来真机能跑的代码,做到这点足够本科的考试通过了。这几门课不太需要天赋,需要的是熟练度和代码量,不要自己骗自己,复制粘贴的代码不属于你,哪怕对着别人的代码敲一遍也会遇到问题和收获一些经验。
关于代码练习:
刷题背题就是最好的练习。请注册力扣、牛客网、浙大/清华/杭电OJ。希望每天做几道题练手,尤其是准备考研和跨专业考研的同学,热知识:有些学校复试会上机写代码,淘汰率很高。
C语法基础的语法很简单,理解数据结构也不难,难的是什么情况下组合去用他们。即理解问题-①->解决逻辑-②->代码实现
①不过关说明见的题少,思考的少,算法理论不是很好,学好离散数学,看看各类图解和动画化数据结构可能会有些帮助,多画图,必要时可以手写或者借助AI推理逻辑但不要实现代码
②不过关说明写的代码量少,明明能搞出来伪代码或者算法步骤却实现不了,没什么好办法,多写多背就是了。如果真的搞不定C语言实现代码,看看远处的Python吧家人们。
最绝妙的地方在于①和②也会相互影响。
关于书籍:
《Head First C》《大话数据结构》《啊哈!算法》《算法》《算法导论》《编程珠玑》买了没怎么看 出二手血亏
标准参考书,大而全,像词典《C primer plus》
考研神书《算法与数据结构考研试题精析》立志考研的卷王现在可以买了 不管是大几
本科教材代码实现《数据结构算法解析》写不出数据结构里的代码 买这个
关于编辑器:
Windows下的Visual Studio、Code::Blocks、 Dev C++
Mac下面的Code Runner、Xcode
动手能力强的建议VS Code加CodeRunner插件
CLion没用过,可以申请jetbrains的免费教育许可证
各类在线编辑器
关于教程网站:
菜鸟教程、C 语言简介 - C 语言教程 - 网道、FreeCodeCamp、B站等等
题外话:C语言可能只在本科阶段或者考研途中有些必要性,大部分开发,除了嵌入式,虽然都会一点但是没那么精通,而且今年嵌入式已经爆炸,精通C的优先级又降低了不少。想搞高性能和系统内核的同学建议学习Rust(开源操作系统社区 - 训练营),想搞云计算云服务的建议学Go,想搞各类APP小程序的建议学习Flutter、vue、TS。
最后祝大家都有一个好前程。