
1.2 编写第一个C语言程序
我们现在要用C语言编写一个相当简单但相当有用的程序。该程序是由C语言的创始人Brian W.Kernighan与Dennis M.Ritchie在The C Programming Language(《C程序设计语言》)一书中首先引入的。该程序要把一行文字(也就是Hello, world)打印到计算机屏幕上。
这个简单的程序之所以很重要,有这样几个原因。第一,它让我们知道用C语言编写的程序应该是什么样子。第二,也是更为关键的一个原因,即它帮助我们确认开发环境中的各个组件都已经安装好,并且能够正常地运行,这包括操作系统(Operating System,OS)、文本编辑器、命令行界面以及编译器。第三,它让我们初次接触基本的程序开发流程,我们以后学习编程并通过编程解决实际问题时,还会多次重复这套流程,因此,大家一定要熟悉该流程,并熟练地运用它来开发程序。
这是一个有意义的程序,因为它能够把某些内容打印到Terminal(终端/终端机,也叫console,控制台)上,让我们意识到它确实做了一件事情——显示了一条信息。我们其实还可以用C语言写出更短的程序,虽然也能正确地构建并运行,但并不能用以观察程序的实际功能。因此,我们的第一个C语言程序就应该是Hello, world!程序。无论是阅读本书,还是通过其他方式学习编程语言,你都应该设法观察程序的实际功能,这是相当重要的。
Hello, world!程序是Kernighan与Ritchie在40多年前提出来的,后来还用在了许多编程语言以及各种场景之中。例如,Java、C++、Objective-C、Python、Ruby等语言都有对应的Hello, world!程序。某些网站也会以“Hello World”的形式给新手介绍该网站的功能,例如,存放开源代码的GitHub网站就是如此[1]。
Hello, world!
下面这段代码是C语言的Hello, world!程序,它既不执行运算,也不接受用户输入的信息。它只会打印一条简短的欢迎词:

目前的这种写法跟该程序最初的模样相比有几处细微的修改。凡是最近20年间发布的C语言编译器都能够顺利地构建并运行这个修改后的版本。
在详细了解这个程序的每一部分之前,你先试试能不能找到其中负责打印欢迎信息的那行代码。程序中使用的标点可能有些奇怪,我们会在下一章讲解这个话题。请注意,有些标点是成对出现的,有些则不是。大家可以先试着把这段代码中成对出现的5组标点跟单独出现的另外5个标点找出来("Hello, world!"这句欢迎词本身所含的标点不计算在内)。
除了某些标点要配对,程序中还有一个需要匹配的东西,其不太容易看出来,我们会在下一章详细讲解。友情提示,这个需要匹配的地方涉及int main()与return 0;这两行代码。
在开始讲解如何创建、编译并运行这个程序之前,我们必须先简单地介绍整个开发流程以及开发过程中需要用到的工具。
[1] 参https://guides.github.com/activities/hello-world/。——译者注