让我们看一个简单的C程序,并使用它来理解C的基础知识和C编译过程。如果您自己的计算机上安装了前面描述的C编译器,那么您可以创建一个名为sample.c的文本文件,并在我们逐步完成这个示例时使用它。请注意,如果您在文件名中省略了.c,或者如果您的编辑器将.txt附加到名称后,那么在编译它时可能会得到某种错误。
下面是我们的示例程序:
/*示例程序*/
# include < stdio . h >
int main ()
{
printf("这是我的第一个程序的输出!\n");
返回0;
}
当编译和执行时,这个程序指示计算机输出一行“这是我的第一个程序的输出!”然后停止。没有比这更简单的了!现在让我们看看每一行都在做什么:
第1行——这是用C语言编写注释的一种方法,在一行或多行/*和*/之间。
第2行——#include命令告诉编译器查看现有C代码的其他源代码,特别是库,这些库是包含常见可重用指令的文件。引用一个标准C库,其中包含从用户获取输入和将输出写入屏幕的函数。我们稍后会更详细地介绍图书馆。
第3行——这一行是函数定义的第一行。每个C程序都至少有一个函数,或者一段代码,表示程序运行时计算机应该做的事情。函数执行它的任务,然后产生一个副产品,称为返回值,可以被其他函数使用。该程序至少有一个名为main的函数,就像这里显示的那样,它的返回值为数据类型int,这意味着整数。18新利最新登入当我们稍后进一步研究函数时,您将看到空括号的含义。
第4行和第7行——函数中的指令用大括号括起来。一些程序员在不同的行上开始和结束一个括号括起来的块,如下所示。18新利最新登入另一些则将开大括号({)放在函数定义的第一行的末尾。虽然程序中的代码行不必在单独的行上输入,但程序员通常会将每条指令放在单独的行上,用空格缩进,以使代码更容易阅读和编辑。
第5行——这是一个对printf函数的函数调用。该函数是在第1行包含的stdio.h库中编码的,因此您不必自己编写它。printf调用告诉它要打印到屏幕上的内容。不过,位于引号末尾的\n不会被打印出来;它是一个转义序列,指示printf将光标移动到屏幕上的下一行。另外,如您所见,函数中的每一行都必须以分号结束。
第6行——每个返回值的函数都必须包含这样的return语句。在C语言中,main函数必须总是有一个整数返回类型,即使它没有在程序中使用。请注意,在运行C程序时,实际上是在运行它的主函数。所以,当你测试程序时,你可以告诉计算机显示运行程序的返回值。18新利最新登入返回值为0是首选,因为程序员通常在测试中寻找该值以确认程序成功运行。
当您准备好测试程序时,保存文件并编译并运行程序。如果你在命令行中使用gcc编译器,并且程序在一个名为sample.c的文件中,你可以用下面的命令编译它:
GCC -o sample.exe sample
如果代码中没有错误,运行此命令后,您应该在与sample.c相同的目录中有一个名为sample.exe的文件。最常见的错误是语法错误,这意味着您键入了一些错误,例如在一行的末尾遗漏了分号,或者没有结束引号或括号。如果您需要进行更改,请在文本编辑器中打开该文件,修复它,保存更改并再次尝试compile命令。
要运行sample.exe程序,输入以下命令。注意./,它迫使计算机查看当前目录以查找可执行文件:
。/ sample.exe
以上是C语言编码和编译的基础知识,不过您可以从其他C编程资源中了解更多关于编译的知识。现在,让我们打开这个盒子,看看C语言中有哪些用于构建程序的部分。