学习一门程序设计语言的惟一途径就是使用它编写程序,但是如果一开始就面对一个复杂的程序,并详尽的介绍语言的方方面面,将会涉及到许多细节方面的知识,这样很难对语言自身形成一个完整的概念性理解。因此,我们遵循古老的传说,从C语言版本的Hello, World!起步,借此逐行讲解它的工作过程,以便我们对C语言有个整体印象。
创建项目
首先,我们按照《创建控制台应用程序》一文中介绍的方法,建立一个名为HelloWorld的项目,然后为项目添加一个C文件——Hello.c,并输入以下代码。
#include <stdio.h>
int main(void)
{
// 使用printf函数输出文本
printf( "Hello, World!\n" );
return 0;
}
快速理解
现在让我们快速的对这个C文件进行介绍,以使你对整个过程有个大概的了解。
#include <stdio.h>
这行代码的作用是包含一个名为stdio.h的头文件。头文件好比一张说明书,程序自身可以从它当中查询或引用所需要的信息。在这里stdio.h为下面使用的printf()函数提供了相关信息。
int main(void)
这行代码定义一个名为main的函数。int表示函数返回一个整数值,这个值通常用于指示函数处理的最终结果(或状态);void表示main()函数不接受任何参数。
函数是C程序的基本模块。对应于生活,程序中的函数可以理解为用于完成某个具体任务的活动。如:你在参加一个聚会,分配给你的任务是烘培一些蛋糕。很显然,烘培蛋糕是这个任务的主旨,可以理解为函数的名称。同时,你的朋友为你提供了一些模具,希望你能使用这些模块做出多种样式的蛋糕来,这些模具可以理解为函数的参数,函数内部使用这些参数进行运算以产生不同样子的蛋糕。当烘培完成后你通知大家蛋糕做好了,这个通知是一种状态反馈,相当于函数返回值。
main是一个特殊的函数名:每个C程序都从main()函数的起点开始执行,这意味着每个程序都必须在某个位置包含一个main()函数。
接下来是是一对花括号,表示main函数语句的开始与结束。
// 使用printf函数输出文本
以双斜杠开头的行被称为注释,注释用于对代码起注解作用。注释不是有效的代码。双斜杠注释的范围是当前行。
printf( "Hello, World!\n" );
这是main函数中的第一条语句。它使用stdio.h头文件中的声明的printf函数,将字符串 Hello, World! 输出到屏幕。最后的 \n的意思是new-line,即输出完成后另起一行,这样后续的输出将会从下一行的行首开始。
与main一样,printf也是一个函数,它接受一个由双引号括起来的文本串作为其参数。而main函数在这里则不接受任何参数。
return 0;
这表示main函数执行完成,返回一个0值,表示函数执行期间没有发生任何错误。
运行程序
现在尝试编译并运行一下程序,如果这期间没有发生任何输入错误,则可以在屏幕上看到 Hello, World! 这行文字,同时你也会发现,注释并没有被输出到屏幕上。
这就是一个C语言程序的整体流程:启动、进入main()函数、执行语句、结束。大到游戏,小到输出一行文本都是如此。
是的,你没看错,大到游戏都是这一流程,别惊讶,以后我们会逐渐理解的。