C语言程序设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章 引论

章前导读

对于计算机,也许你是老手,也许你是新人……

但不管怎样,如果你现在要学习编程,那么你应该多多少少知道点什么叫硬件、什么叫软件。

美国一个电脑神童说:“凡是摔到地上会坏的就是硬件。”我深感不妥,众所周知,如果把硬盘摔到地上,硬盘坏了,里头的那些数据也一样坏得让人心疼。

倘若按字面意思去理解,那就更加矛盾重重:硬盘“硬”,是硬件;软盘“软”,也是硬件。

还一种说法是:看得见摸得着的为硬件,看不见摸不着的为软件。刚开始觉得它说得不错,但马上又能发现它的破绽:我现在用的Word 2010,它就在屏幕上,界面美观、操作方便……

金山词霸中有这样的解释:“硬件:计算机及其他直接参与数据运算或信息交流的物理设备。”挺好,硬件就是设备。平常生活中的各种设备,洗衣机、冰箱、电视,还有螺丝刀、钳子,都是硬件。

软件呢?“软件:控制计算机硬件功能及其运行的指令、例行程序和符号语言。”指令、程序和符号语言是什么且不说,至少我们知道了软件是用来控制硬件的运行的。

这就好办了。我们可以打比方:譬如汽车,其本身自然是“硬件”,但关于驾驶车的那一套技术及有关交通规则,我们可称之为“软件”,因为后者控制了前者的运行。

现在来谈“指令、程序和符号语言”。交通方面的“软件”确实就是这些东西。不管你会不会驾车,但你至少应该坐过车吧?当看到警察在车前用指头一指,司机就会脸色发青,之后,一套既定的处罚程序被执行。很快,听说那司机又在学习那些用来表示“单行”“只许右拐”“不许停车”“禁鸣”等奇奇怪怪的符号语言了……

事实上,说软件看不见摸不着其实也正确,因为它们是思想、精神、规则、逻辑,本身是抽象的,确实不可触及。但软件总是要有载体来存放的,要有表达或表现方式,这些使得它们变得形象具体起来。在此意义上,说软件是摔在地上坏不了的东西,也相当行得通。

最后,什么是程序?我们来给它下个定义:

程序是一组按照一定的逻辑进行组合的指令。

因此,在以后的学习过程中,很多时候,我们会觉得程序就是指令;同样很多时候,我们会觉得程序就是逻辑。

当然,更多的时候,我们并不区分程序和软件。也许前者更趋于抽象,而后者更趋于具体。比如,在写那些表达我们思想逻辑的指令时,我们喜欢说“写程序”;而当程序完成,可以待价而沽时,我们称它为软件产品。