对于任何一门语言,hello_world 估计是知名度最高的程序了,
C语言自然也有自己的 hello_world程序。
它的实现代码应该是这个样子:
hello.c
复制代码
1 #include <stdio.h>
2
3 int main( )
4 {
5 printf(“Hello World!\n”);
6
7 return 0;
8 }
复制代码
对于任何一个人来说,实现hello_worl只是1分钟的事情,但这个简单的程序也涉及了C语言的许多技术。
逐行做个大概的论述:
第一行:#include <stdio.h>
对于新手来说,理解这行代码也许是件难事,确实这里涉及很多。
stdio.h 这是个头文件(head file),它在预编译(什么是预编译?)时候由编译器(什么是编译器?)引入hello.c文件;
上述代码改为#include “stdio.h”,你可以发现程序运行的效果没有差别,但<>与“”有没有差别?答案是有差别。一般<>用于引用标准库文件而“”则应用用户自定义的头文件。
第三~八 行:
这是这个程序的主体,对于所有C语言程序来说,main函数都是必须。在函数名前面有 int 这样的类型标识符,用于指明函数的返回类型(可能你会看到有用void替换int的写法,这是错误的,这点无需置疑),main函数的返回类型是int。
代码第五行,用于在控制台终端显示“Hello World!”字样。 printf 是 标准库函数(什么是标准库?),用于将字符串(什么是字符串,C语言有字符串吗?)按指定格式输出到终端。这里涉及标准库函数的调用,如果我们将第一行代码 #include <stdio.h>删除,会发现程序无法执行,原因在于stdio.h文件提供了printf函数的接口。需要注意的是,printf不是C语言拥有的,只是用C语言实现的标准库函数,除此之外和C语言本身毫无关系。
代码第七行:
return 0; 许多人对此表示疑问,如果删除这行,代码也能顺利运行。的确如此,很多编译器在你删除后,编译时又会给你填上return 0;这条语句。 这条语句有什么用?简单讲:就是用于告知调用mian函数的用户它正确执行了,由此可以看出 main 的返回类型必须是int,而不是void(因为 0 是 int)。