首页 理论教育C语言程序设计基础教程:解决生活与计算机问题

C语言程序设计基础教程:解决生活与计算机问题

【摘要】:但不幸的是,目前人类还不能用自己的母语向计算机发出指令。对计算机来说,指令必须被表示成一种计算机能“理解”的语言。计算机能“理解”的唯一语言就是机器语言,机器语言是由一系列二进制的0和1组成的。为了让计算机执行由高级语言编写的程序指令,必须把这些指令从高级语言形式转换成计算机能理解的机器语言形式,这种转换是由编译器来完成的。

在日常生活中,人们做任何事情都要遵循一定的程序,即要按一定的顺序来操作,其中某些步骤的顺序是不能改变的,就像我们必须“先穿袜子后穿鞋”一样,实际上这就是生活中的“算法”。

如果问题很复杂,那么通常还要使用分治策略,将原始问题逐步分解为一些易于解决的子问题,然后将每个子问题各个击破。以准备早餐为例,可以按照如下方法将“准备早餐”进行任务分解,然后对其中的每个步骤逐步细化:

最终将上述步骤写成一个类似于菜谱的完整“算法”:

与现实生活不同的是,计算机执行特定任务是通过执行预定义的指令集来实现的。这些预定义的指令集就是所谓的计算机程序。按照一定的算法编写计算机程序实际上就是在告诉计算机该做什么和怎么做。(www.chuimin.cn)

计算机程序和计算机之间关系就像食谱和厨师之间的关系一样,计算机程序指定了完成某一任务需要的步骤。但不幸的是,目前人类还不能用自己的母语向计算机发出指令。因此,计算机中的算法是通过用计算机指令编写的程序来实现的。

对计算机来说,指令必须被表示成一种计算机能“理解”的语言。计算机能“理解”的唯一语言就是机器语言,机器语言是由一系列二进制的0和1组成的。由于机器语言很难直接使用,所以通常将计算机指令表示成一种特殊的语言,这种特殊的语言被称为程序设计语言,程序设计语言不是机器语言,机器语言是一种低级语言,而程序设计语言则是一种高级语言,虽然看上去它很像英语,但它不是英语,而是一种介于机器语言和英语之间的一种语言。使用高级语言来编写程序比使用低级语言容易得多。为了让计算机执行由高级语言编写的程序指令,必须把这些指令从高级语言形式转换成计算机能理解的机器语言形式,这种转换是由编译器来完成的。