| 选课类别:计划内与自由选修 | 教学类型:理论实验课 |
| 课程类别:本科计划内课程 | 开课单位:信息科学技术学院 |
| 课程层次:通修 | 学分:3.0 |
建议将这门课的名称改为C语言导论😓。这门课虽然经历了改革,但是到目前为止放在语法上的关注点还是过多了一些。作为一门校定通修课,我完全找不到把重点放在语法上对非信智部学生的意义。甚至,作为一位打了7年OI的选手,为了应付考试我自己也有很多语法点是现学的。也就是说,这门课学到的很多知识在这我这7年的编程经历里是完全用不到的。反观PKU,同为大一校定通修课的计算概论,同学们可以自主选择Python/C等语言,而他们的教学重点也在“程序设计”而非“语法”上。毕竟,以后帮助同学们科研的是把现实问题转化为代码实现的能力,而不是对着一副写出来故意让你看不懂的代码挑刺的能力。
口说无凭,我们来看几往年道期末真题:

不知道了解这些“常识”可以对我们的发展起到什么作用。

B选项:预处理不属于C语言的一部分。不知道考一些没有意义的定义干嘛。
C选项:a+b||c/d先计算a+b而非c/d。不知道考脑筋急转弯干嘛。
再放两道半本次期末考题:

最后看看本次期末考题的易错点:

1.真的有人会傻到先在神声明一个变量之前使用它并且在编译给出了"was not declared in this scope"之后不会改的吗?
2.static声明全局变量的主要用途是不被其他文件访问,但是请问有多少个非信智部学生在一生中能接触到封装和模块化编程?
3.依旧脑筋急转弯。对于我自己而言,如果我在编程的时候想从外部更改一个变量的值,我会直接把它设置为全局变量,也并未增加任何不便利性(换句话说我并不觉得有人真会像第三点说的这么干)。
4.fscanf这个函数被发明出来的用途就是从磁盘读取内容,你非要说是先到缓冲区到内存那也没办法,但是真的会有人拿着现成的scanf(***)不用去写fscanf(stdin,***)吗?

期中上机部分II也就是大作业,本学期最低也给到了13分。

第一部分只是我对课程的不满,我也很清晰地知道我也就只能在评课社区bb几句了,但老师本身还是很值得大家选择的。
李老师很温柔,理论课不考勤,实验课不要求到场,在机试100(超简单,本人只用了一半时间就交卷)的情况下期末只需要考到84总评就可以被捞到95(这种情况下大作业多半会捞满)。