c语言作为一门高级语言来说,它本身的知识点是很少的,很容易掌握,它没有诸如『类,接口,继承,多态,分派,模板』等等唬人的概念,当然不是说你不能通过c实现这些概念而是这个语言本身没有那么多花活。所以掌握c语言语法可以说是比较简单的。的确可讲的不多。
但是,less is more,少即是多。即便熟练掌握c语言的语法,你也几乎干不了活,由于基础设施的缺乏,标准容器的缺少,各种标准碎片化严重,很多东西你要自己撸,俗称『造轮子』,这就对你数据结构和算法上面的要求比较高了。掌握这些东西可能比单纯掌握c语言要复杂不少,当我们在讨论c语言学习的时候,默认就包括了数据结构和算法的学习,这也是为什么说c语言难的缘由。
大学还是有必要深入去学习数据结构和算法的,毕竟这是培养『编程思维』很重要的一个环节,就算你以后不会用c语言,这些编程思维仍然是你最大的助益之一。
个人认为分为如下几方面:
在学习基础的时候,除了听老师讲,还要多练习。
可以动手去实现书本上的习题,亲自去写代码,去debug,把程序run起来。
关于编译器,常见的有如下几种:
基础这块,核心的基础知识掌握并会初步运用,其实就可以开始做一些mini的项目了,在实践中学习更有体感,理解更深刻。
并不建议大家在理论基础上花太多时间,毕竟计算机是时间性强的学科,必须多动手,多实践。
在做项目的过程中,大家还要掌握良好的编码习惯,这里挑选了业内比较推崇的2个编码规范:
另外,学习计算机一定不要想着速成,没有什么捷径和超能力。要下苦功夫去啃那些经典书和源码,然后自己动手写,所有技术大佬都是一行行代码敲,一本本书啃出来的。