本节书摘来自异步社区《C语言编程——零基础初学者指南(第3版)》一书中的第1章,第1.2节,作者 【美】Greg Perry , Dean Miller,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.2 编写C语言程序需要什么
C语言编程——零基础初学者指南(第3版)
在计算机上编写并执行C语言程序之前,需要一个C编译器(C compiler)。C编译器用于创建(build)或编译(compile)C程序(编译是一个技术术语,指将程序转换为计算机可读的内容),让你在需要查看结果时可以运行已编译的程序。现在有许多非常优秀且免费的软件包,可以用它们来编辑并编译你的C程序。通过网络搜索即可找到诸多这样的软件。本书使用的是Code::Blocks(www.codeblocks.org )。
提示 如果在搜索引擎中查找“C Programming Compilers”,会搜索出许多免费的软件,其中包括Borland和Microsoft提供的。但是,为什么本书使用Code::Blocks?因为它为各种操作系统(Windows、Macs和Linux)提供了不同的版本,无论你用什么操作系统都可以使用Code::Blocks。
如果你正打开Code::Blocks的主页,阅读网站的第一行,可能会有些担心:
The open source, cross platform, free C++ IDE.
(开源、跨平台、免费的C++集成开发环境)
开源(open source)指的是用户可以更换或改进软件的代码(现在想这样做尚早,暂时将其放在一边)。跨平台(cross platform)意味着该软件可以在不同的操作系统上运行。作为初学者,只需要关注自己所使用的平台即可。免费(free),不言自明。IDE是集成开发环境(integrated development environment)的缩写,这意味着可以用其编写、编辑和调试程序,不需要切换其他软件。我们很快就会接触到调试。
不要因为看见C++而担忧。在Code::Blocks中,既能编写C程序也能编写C++程序。目前,要找到一个纯正的C编译器比较困难。因为C编译器都会附带C的更高级版本,即C++。因此,在寻找C编译器的同时,你会发现它一定是C和C++组合的编译器,而且一般都会强调C++的功能。这非常不错,在学习C语言后,你已经有一个C++编译器。等将来学习C++,就不用再去学习新IDE的输入和输出。
Code::Blocks的主页,如图1.1所示。要下载C/C++集成开发环境,只需单击页面左侧主菜单中的“Downloads”选项即可。
图1.1 Code::Blocks的主页(请留意“Downloads”选项)
在选择“Downloads”选项后,将弹出另一个页面,对3个选项作进一步讨论:Binary、Source和SVN。后两个是高级选项,初学者可以忽略。请单击“Download the binary release ”即可。
注意 安装时需注意两点。第一,本书的屏幕截图与你在互联网上所见的主页可能稍有不同——Code::Blocks会不断更新软件,其版本号会不断增加。我在编写本书时使用的Code::Blocks版本号为10.05,但是出版前最后核实,其版本号已更新至12.11。在你拿到本书时,版本号可能会更大。第二,如果你是Windows用户,确保你下载的是较大的文件(标题中有mingw)。这个版本包含测试工具,在你成为资深C语言程序员时会用得上。
下一页显示的各选项,依操作系统而异。如果选择Windows选项,请继续选择第二个选项,如图1.2所示。这样即可下载完整的编译器和调试器,迟早用得上。
图1.2 选择Windows集成开发环境下载(可选择任意一个下载源进行下载)
在确定开始下载后,可以去干点别的(找点东西吃)——下载的文件较大,下载时间依你的网速而定。下载完成后,点击文件并接受所有默认设置(只有资深的程序员才会根据自己的需要进行安装)。很快,就能在计算机上运行Code::Blocks了。退出“每日提示”(Tip of the Day),并将Code::Blocks相关的程序都设置为.c和.cpp文件后,才能关闭文本窗口。此时,屏幕上显示的是该软件的视窗,如图1.3所示。
图1.3 欢迎来到编程之家
注意 你编写的C程序叫作源代码(source code)。编译器将C源代码翻译成机器语言(machine language)。计算机由成千上万的电路开关(开或者关)组成。因此,计算机最终的指令必须是二进制(binary),前缀bi-代表“二”。电路的两种状态被称为二进制状态(binary state)。用C编译器将C程序转换为1和0(表示内部的开或关的设置),比你亲自愚公移山要容易得多。