大一新生怎么学习c语言
大一的新生怎么学C语言呢?作为学长,我简单把我的想法说一下吧。
1. 自学才是硬道理。强大的自学能力是独自解决问题能力的根本,程序员需要拥有强大的独自解决问题的能力。
2. 一个人可以走的更快,但一群人才能走的更远。
3. 入门阶段,coding为主,看书为辅。看书只是C语言学习的最简单的一步。入门阶段,动手实践,刷题才是最重要的。coding能够让你变强。
4. 请记住这个公式:
只看书 + 不实践 == C语言挂科
5. 如果你以后不想当优秀的工程师,不想在计算机这条路上走太远,只当一个平平淡淡的码农。推荐一条路:跟着老师一步一步走,跟着大学的培养方案,一步一步跟着走就行了。
6. 学长从过来人的角度,推荐一条路:MOOC的浙大在线教程当作主干道,买一本《The C Programming Language》先当作信仰供2个月。MOOC在11月前啃完它,然后尝试去看The C Programming Language,就行了。
7. 如果不甘平庸,那么我这里再推荐一条路:现在开始,买一本C primer plus,简单看一遍前几章语法,打开PTA(浙大的online judge),找一些basic的题,然后去疯狂刷,不懂就思考几小时,几小时没有结果,就在新生群里问学长和学姐。假期大量的做题,到了开学,再看看The C Programming language,补充核心语法知识。这样就赢在了起跑线上,就在假期超越大部分同学。
毋庸置疑,这是一条坎坷的路。
但踩坑踩多了,填坑填多了,你就学有所成了。
8. 如果你想通过计算机这条路走向人生巅峰,那么请在大一上向数据结构(知其然)发起进攻,在大一下向算法分析(知其所以然)发起冲锋。如果能在大一结束前真正的学的差不多,那么也就拥有了走上人生巅峰的可能。
9. 不懂就问是不可行的!学习很难受,如果有啥不懂的,就多思考,尝试自己去解决问题。如果确定了自己无法解决,那就可以问老师,问学姐,问学长了。问学姐学长不是为了答案,而是为了见多识广。
在这里推荐点资源:
一、给初中生看的:
1.《啊哈C语言》
优点:简单易懂,生动有趣。
缺点:看完它,水平有限,还要看别的,才能满足大一考试需求。学的只是C语言的冰山一角。
二、给高中生、大一新生看的经典入门书:
1.《C primer plus》
2.《C Programming: A Modern Approach》
优点:这2本,适合小白看。语法全覆盖,细节多,知识点讲的清楚,就像高中的《王后雄教材完全解读》。
缺点:琐碎细节太多,每一节内容太多,C语言的精华都被藏了起来,找不到重点,有很多学了的知识点,其实压根就不会怎么用。
第一本,真正的入门首选书籍。学长翻过类似C primer plus的书,只能说读的累(内容比较多),是给小白看的好书。
第二本,没翻过,但听说过其大名,也看了看目录,可以得到如下不严谨的评价:这本书足够厚,知识点够细,例题够多,质量极高,所以它厚的很有道理,没有复制粘贴的嫌疑,没有搞怪无厘头。本书适合作为百科全书,不懂就翻,不懂就翻,不懂就翻。
3.《The C Programming Language
首先,C语言的信仰书籍:《The C Programming Language》
优点:作者是最大的优点,本书作者是C语言之父。本书内容全是C语言的核心。代码示例大多都是库函数的实现方法。内容简洁明了、干净利落,几乎没有废话、没有过多琐碎细节,只讲最纯粹的C语言。
缺点:不适合小白,而适合有一定编程经验点读者(少数例题涉及到数据结构与算法,并且第一章跨度太大了)。书中示例的难度依次递增,对小白不友好。
因此此书适合作为一本精炼C语言的书,大一上学期结束,后来再倒过来看这本书,会对C语言的理解焕然一新。
三、给想成为大佬的人看的进阶书
适合对象:
单纯想进阶C语言,
想更加理解指针和内存的,
想搞Linux内核的,
想搞基础设备的,
想搞单片机的,
想进微软去改进windows的,
想搞一些贴近生活的硬件的(比如,闹钟,计时器、甚至简单的机器人)。
想搞软件的话,就别进阶C语言了,当然,学有余力的话,选择一门语言深入下去,准没错(具体选啥,取决于你的就业方向比如:你想做游戏/搞图形,搞服务端开发,那么请直接买一本C++ primer)。
有想法的同学可以进阶看一波。
1.《C陷阱与缺陷》
2.《C专家编程》
3.《C和指针》
4.《Head First C》