计算机改变了世界,参与者有用户、计算机、程序员和C语言。
用户借助软件使用计算机,而软件由程序员开发。用户通常只是输入数据后查看输出结果,并不关注处理过程。程序员先同用户沟通获得需求;再设计算法,即设计一系列解决问题的指令;最后实现算法,即把指令翻译成计算机能执行的命令。计算机执行命令,满足用户的需求。可用自然语言、伪代码、流程图等多种方式描述算法,但需用编程语言实现算法。C语言是经典的面向过程编程语言,直观地体现了计算机的特点,特别适合初学者学习。商业开发中,需求分析师获得需求,算法工程师设计算法,“程序员”实现算法。
程序员眼中的计算机由五大部件组成,算法指挥计算机的组成部件来完成任务。计算机的五大组成部件是输入设备(如键盘)、存储器、运算器、输出储备(如显示器)和控制器。输入设备用于输入数据,存储器用于存储数据,运算器用于加工数据,输出设备用于输出信息,控制器用于执行指令,指挥各部件协同工作。
计算机中的组成部件有对应的C语言元素。输入设备对应scanf函数,输出设备对应printf函数,内存储器中的存储单元对应变量,运算器对应操作符命令,控制器分析执行C语言命令。
本章用一个求两个整数的和的示例简单分析了算法的设计与实现。
C语言语句由程序员编写用于指挥计算机,其中的字符(串)多为C语言的标记,称作标识符。常见的标识符有关键字、变量和函数。普通用户眼中的字符串在C语言中需加一对双撇号,如abc写作"abc"。语句中的关键字、函数和操作符是C语言命令,而命令的操作数多为变量与形如32的字面量。
函数是完成特定功能的一系列指令的集合,由程序员定义,是C语言中的自定义命令。利用函数无需编码即可实现特定功能,可以极大地提高编程效率。C语言程序从main函数开始执行,编程时需定义main函数。
分析C语言程序时,不要急于查看程序的运行结果,应找出程序中每条语句的命令与操作数,尝试人工执行语句,仔细分析每条语句的作用及语句间的联系,并得到程序最终的输出结果。多上机编程是学好C语言的必由之路,只有实践才能出真知,但理论指导下的实践最有效,一定要养成人工执行代码的习惯。