郝斌C语言课程学习总结
C语言的背景
第一代计算机语言:0101
第二代计算机语言:汇编
第三代计算机语言:我们熟悉的各种语言
从时间点上,C语言出现在第三代语言的早期,相比同代的语言更接近操作系统,效率更高但对代码编写的要求更高。
C和其他语言的区别
C语言是面向过程语言的代表,核心内容是流程控制、函数和指针。尤以后两者为重点,也是其他语言没有的。
虽然说没有,但也不完全准确。因为最后只不过是换了种表现形式呈现,但从入门者的学习视角看,会有很多相似点,一定程度上可以缓解学习的焦虑。
为什么要学C?
很多语言是在C的基础上开发的,C作为入门的语言,花较少的时间可以对编程有直观的理解。
尤其是学习其他语言如Java、C++时,通过对比深刻理解面向过程和面向对象的区别。
语言不存在绝对的好坏,只是针对不同的场景有更适合的语言。
下图为2020年8月TIOBE统计的各语言排名。可以看到C和Java遥遥领先。如果想认真学Java,并以Java作为未来发展方向的,非常建议先从C入门,可以不用深入,但需要了解。
时间安排和对本套课程的建议
****的时间大约为38小时,但是针对从零开始的新手,尤其是前面的很多内容为通用的计算机基础知识。如果打算深入研究或者只想快速上手语言的,建议不管是哪类教程,都可以快速的跳过这部分内容。
****的好处是可以反复观看和快进,所以建议直接开1.5倍速,针对老师在教程中提出的问题,暂停视频先自己思考一下,然后再继续看解答。
在前期会有很多语法没有涉及,如果想丰富课堂上练习或者小项目的功能,可能会耗费很多时间在网上搜索资料,效率会低很多。建议前期先以复现代码为主,在完成阶段性的语法学习后,再去实现复合功能的代码。
总结
个人觉得有价值的部分:
- 语法讲解,覆盖面比较全
- 授课比较耐心
尚有欠缺:
- 部分涉及底层的内容太简略,充其量当成导读。传递的价值观有些过时(课程录于09年),这部分的内容也不能忽视。如果要形成正确认识请自行学习相关课程。
- 练习较少,基本都集中在课堂内容。