第一周的课程介绍了 C 语言的基础语法,比如 include
库,声明变量,基础数据类型等,这部分需要赘述的内容不多,且大部分语言的基础都是类似的。
让我印象最深刻的是,整节课程从一开始就在强调代码风格的重要性,包括提交作业时,除了检查代码的准确性,还会检查代码风格是否与仓库风格一致。比如 include
的顺序,括号的位置(这部分对于习惯了 js 的我来说真的是非常不习惯,平时敲完 for
循环或 if
就顺手敲大括号了,现在必须另起一行)。
其次是课程并没有因为是概论课程而忽略了原理的讲解,课上以 include <stdio.h>
为例讲解了编译的流程,每一步计算机完成了什么。
同时,由于每一周的课程结束都需要提交一份作业,因此在第一周的课上就介绍了如何有效地 debug,具体介绍了 printf
、 debugger
和小黄鸭三种最有效的 debug 方法。
第二周介绍了数组这一数据类型,比较特别的地方是,课上详细介绍了它的实现方式,比如如何存储数组里的内容,如何标记一个数组的完结。
这几课学下来的感受和 Week 0 一样,课程的讲解方式非常高效,但对于零基础的人能学到的内容更多,对于了解编程基础知识的人来说新信息不多。