在接触C语言之前,我就认为这是一门非常古怪的学科,毕竟一开始我甚至连教材都看不太懂,就别说要写出来一个能够跑起来的C语言程序了...

    然后,我又觉得C语言十分简单,有手就行的那种,看懂了基本格式似乎也没什么难的。

    其实吧,我的看法也不完全正确。

    一方面,C语言其实和其他的科目挺像的,只是用的不是“人类”语言而已(虽然说C语言也是人类发明的),简单来说,就类似于养一只宠物(就比如说是猫吧),你要让它做什么,它就会做什么,前提是你要保证你对它要十分了解,了解到甚至连对方的语言都能了如指掌,就像是和中国人说中文一样(这就很像是能明白猫叫声含义的“猫语者”),同时还要保证你对它发出的命令是完全正确的,没有一丝错误才行,否则,对方是不能理解你的指令是什么意思的,同时你的指令它也不会去执行,就好比是平时你对猫咪“喵喵喵”的时候它不能理解你的意思,哪怕发声错了一点,它都不能理解(就是一个强迫症),所以这就需要我们去学习它们的语言构成,学习它们是如何利用声带发出那么尖的声音的,学习它们发音的基本准则等等,这样子一来,当你对它们“喵喵”叫的时候,它就能听懂了,然后你基本上就能给它们一个准确无误的指示,从而让它们为你高效地处理更多的事情。

    另一方面,即便是所有计算机语言中就简单的语言,这也不代表C语言很好学。举个简单的例子,我手上有一份名单,上面有若干个人的名字以及他们的班级、学号、姓名和各科考试的成绩,现在我需要做一个表格把这些信息整合起来,并保留在某一个地址当中,当我需要某个成员的信息的时候,我只需要输入他的其中一个信息,系统就会反馈出所有与他相关的信息...其实这里就涉及了数组、地址以及链表等基本内容,这可能需要花上不止一星半点的时间才能完成,但事实是,这很正常,所有的基本内容虽然都是分开来学的,但是这真的不代表在生活中我们遇到的所有问题可以只用一种语法就能解决(有,但是不多),哪怕是后面章节的作业也会包含前面学过的内容,这是很明显的,当然,在这样的情况下题目的难度一下子就会上来,想一想,一个题目兴许需要一百甚至两百行的代码才能完美运行,但是呢,要是要做一个游戏呢(当然也有简单的)?动辄几千行甚至上万行还真的有可能,尤其是那种随机函数非常多的,每一个随机产生的新元素都涉及了地址的转移以及覆盖,更可怕的是,但凡当中出了一点错误(哪怕只是一个标点符号),整个程序就没办法运行(也有可能会运行出一堆乱码),要是在茫茫大海之中没有把这根针挑出来的话,血压这不就上去了吗?头发就是在这个时候掉干净的。

    当然,废话了这么多,其实也只是想表达一个想法,只要功夫深,铁杵磨成针。但凡有那么一点钻劲,那么C语言(以及其他的科目)对于一个大学生来说确实不是很难,天赋基础什么的对这个科目其实起不到什么决定性的作用,毕竟都是从零开始,没有谁比谁差的道理。

    但还是要多一句嘴,少熬夜打游戏,保护好头发才是我们代码人最重要的事情。不喜轻喷。

更多推荐

一个大一学生学习C语言的心得