本节书摘来自异步社区《C Primer Plus(第6版)中文版》一书中的第2章,第2.9节,作者 傅道坤,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.9 关键概念
编程是一件富有挑战性的事情。程序员要具备抽象和逻辑的思维,并谨慎地处理细节问题(编译器会强迫你注意细节问题)。平时和朋友交流时,可能用错几个单词,犯一两个语法错误,或者说几句不完整的句子,但是对方能明白你想说什么。而编译器不允许这样,对它而言,几乎正确仍然是错误。
编译器不会在下面讲到的概念性问题上帮助你。因此,本书在这一章中介绍一些关键概念帮助读者弥补这部分的内容。
在本章中,读者的目标应该是理解什么是C程序。可以把程序看作是你希望计算机如何完成任务的描述。编译器负责处理一些细节工作,例如把你要计算机完成的任务转换成底层的机器语言(如果从量化方面来解释编译器所做的工作,它可以把1KB的源文件创建成60KB的可执行文件;即使是一个很简单的C程序也要用大量的机器语言来表示)。由于编译器不具有真正的智能,所以你必须用编译器能理解的术语表达你的意图,这些术语就是C语言标准规定的形式规则(尽管有些约束,但总比直接用机器语言方便得多)。
编译器希望接收到特定格式的指令,我们在本章已经介绍过。作为程序员的任务是,在符合C标准的编译器框架中,表达你希望程序应该如何完成任务的想法。