瑞问:“我写完了,前面说过的编译器,计算机里有吗?”
并不是每个计算机使用者都需要C语言编译器,通常计算机里并没有提供C语言编译器,我们需要去互联网上搜索并下载C语言编译器。C语言已经经历过了很长时间的发展,所以你能找到很多种C语言编译器。我推荐大家使用GCC编译器,你需要到互联网上去寻找最新版GCC编译器下载安装。如果不知道如何下载并安装使用GCC,你也可到互联网上搜索一下相关的帮助。
瑞说:“现在可以开始写程序了,我写的程序也应该有个名字吧?”
在计算机里所有的程序都要有一个名字,C语言程序的名字是可以随便起的。但是需要注意,计算机系统在设计文件名的时候进行了这样的约定:一个完整的名字是由“文件名.扩展名”构成的。文件名,顾名思义,是用来识别文件的,扩展名是计算机里用来约定这个文件是什么类型的。例如,人们特别容易通过扩展名来判断,图片文件扩展名可能是JPG,声音文件扩展名可能是mp3。
瑞问:“C语言的扩展名是什么?”
C语言程序文件的扩展名约定为c,我这里用cpp。
注意: 按理说,cpp是C++程序文件的扩展名。C++是在C语言的基础上发展的一门编程语言,它完全包含C语言,因此,把文件的扩展名命名为c或cpp目前区别不大。因为本书后续会少量地使用C++的一些功能,所以,我们索性就把扩展名定义成cpp。
我们把C语言程序保存好,并且给了一个名字后,就可以使用GCC编译器编译程序了。GCC将我们所写的程序“翻译”成计算机能够执行的程序。假设程序文件的名字叫test.cpp,我们就可以在控制台上输入命令:
瑞问:“控制台又是什么?”
现在大家熟悉的计算机环境都是图形化的界面,而过去计算机的操作环境是在黑色的背景下,有一个光标在一闪一闪的界面,如图1-1所示。我们将这个界面称为控制台。事实上,控制台一直存在。我们看到的漂亮的图形化界面,只不过是在控制台的基础上外加了图形展示,其目的是让人们更舒服地使用计算机。如果你使用的是Windows操作系统,就需要在开始菜单里输入cmd启动黑色屏幕的控制台,然后才能在控制台上输入要编译的命令。
图1-1 控制台
瑞问:“我能理解g++就是启动那个编译器,test.cpp是我写的程序,后面的又是什么?”
编译命令中有-o test.exe,这里的-o是告诉计算机,对于编译后生成的文件名,我要自己指定。test.exe就是编译生成的名字。
瑞问:“编译好了怎么运行呢?”
编译成功后,就可以输入test,并按回车键。如果这个过程顺利,那么你将看到屏幕上出现“Hello World!”。
瑞问:“为什么我的程序运行不了?”
要先看一下是否生成test.exe文件。
通常你编写的第一个程序没这么顺利,只要在编写程序时犯了一点错误,编译都不会成功,并且会在编译命令的后面反馈信息。对程序员来说,这样的场景很正常,你需要打开程序文件改正错误,再次编译,直到没有任何问题,编译成功并生成test.exe文件。
注意: 每次修改后,一定要在再次编译前保存文件。
瑞说:“这个过程太麻烦了。”
你也有可能会遇到找不到你所编写的程序的问题,因为文件存储在计算机里的什么位置上,是一件有点复杂的事情。如果你真的搞不定,我就再教你一个更简单的办法。
C语言的程序员发现,开发C语言程序必须进行——编写程序并保存,将它编译成可运行的程序,然后运行——这一系列的操作。程序员自然会想到用程序的方式来简化这些操作,于是就出现了一种叫集成开发环境的程序。我推荐Dev-C++这个集成开发环境。正如你期望的那样,使用它,程序的编写、保存、编译和运行都将在这里完成,再也不需要切换来切换去了。
探索: 你需要自己琢磨下载并安装Dev-C++这个软件。
这个软件和大多数的软件一样,在菜单里找到“文件”项并右击,在弹出的快捷菜单上选择“新建”→“源代码”,就可以开始写程序了,如图1-2所示。
图1-2 在Dev-C++中开始写程序
写完程序(图1-3)后,在菜单里找到“保存”选项,或者直接使用组合键Ctrl+S来发出保存命令。之后,会出现一个对话框,如图1-4所示,这就是让你提供文件名,并且选择程序存储在哪里的对话框。你可以在其中输入文件名“test”,它会自动提供cpp这个扩展名,我建议你清楚地选择程序的保存位置。
图1-3 程序本身
图1-4 保存程序
程序保存后,你需要编译并且运行它。F9键是编译的快捷键。F10键是运行的快捷键。如果你按了F11键,则同时编译并运行。
如果一切顺利,你会看到出现一个黑色的窗体,如图1-5所示,显示出你想要的结果“Hello World!”。
图1-5 显示结果
如果程序中有错误,那么在编译时,屏幕下方有一个专门的区域会给出错误的提示。此时,你需要回过头来仔细地检查,找到错误,把它改正,再重复“保存—编译—运行”这一过程。这是每个人都会经历的困难时期,因此,当你发现成功地显示了“Hello World!”,那么恭喜你,这是一个重要的里程碑!你闯过了成为一个伟大程序员的第一关!无论其间有多么令人沮丧的事情,永远要记得计算机是不会犯错误的,出现错误一定是你的问题。我们现阶段还不熟悉计算机的脾气,别着急,随着写的程序越来越多,我们会越来越了解编程这件事情,出现问题也就不再可怕了。
瑞说:“这个Dev-C++太好了,我不用在几个窗口之间切换来切换去了。”
我不准备详细地讲解怎么使用Dev-C++这个工具,如果你想知道更多的使用技巧,则可以到互联网上去寻找答案。C语言发展了这么久,市面上有非常多的集成开发工具,它们各有优缺点,你可以根据自己的喜好选择。本书用的是Dev-C++。
注意: 如果你的第一个程序没有成功运行,我建议你不要往下看。在学习编程的过程中,你学懂什么不重要,只有将程序成功地写出并运行才是真学会了,因此,在学这本书时,如果某个阶段的程序你写不出来,那么就不要向下看了,先努力让程序成功地运行起来。