在我们学习编程语言的过程里,大部分情况下,我们的第一个程序都是输出HelloWorld。这个源于C语言之父丹尼斯.里奇在他的著作C程序设计语言里,给我们介绍的第一个程序就是在控制台输出HeloWorld。现在我们能见到的大部分语言都是基于C/C++设计的。所以,HelloWorld程序也就成了大家公认的一个传统。
下面,就是这段经典代码的真容
1 #include <stdio.h> 2 int main() 3 { 4 printf("HelloWorld! "); 5 return 0; 6 }
为了解读这段经典的代码,我们需要引入几个简单的,也是之后会经常用到的知识点。
- 我们写的代码本质上是一个文本文件,这不过由于语言种类的不用,文件的后缀命也不同。C程序的文件后缀一般是.c,C++程序一般是.cpp。Java程序的源代码文件是.java。
- C语言的基本组成单位是函数,一个C程序就是一系列函数的集合。上面那段代码里的main,以及printf都是函数。
- 编程是为了解决一些问题,在解决一些问题的时候,我们发现,有一些模块(代码段)往往出现在多个程序里,这个时候,我们就可以把这些公共的模块写成一个函数,然后我们就可以用一个函数来代替这些公共模块,这样可以完善程序的结构。
- 我们会把程序需要经常调用的一些函数存在函数库里,等到我们要调用某个函数时,可以在我们的程序里调用函数对应的函数库,具体的调用方法是#include <函数库名称>;
有了这些铺垫,我们就可以来解释这段程序了
- 程序的第一行,#include <stdio.h>这句话就是我们在调用C语言的一个函数库。这个函数库的名字是标准输入/输出库,std,是通过缩写单词standard得到的。io,i是in的一个缩写,o是out的缩写。
- 第二行,这又是一个C语言的函数,这要我们还在写纯正的C程序,就一定会用到它。我们先不关注main()前面的int。main函数是C程序的一个执行入口,它可以调用所有的函数。
- 第三行{,与最后一行的}对应。我们的程序一般写在这对{}里面。{}里面包含的内容,我们一般把它叫做代码段。
- 第四行,printf("HelloWorld ");。对于初学者来说,千万千万不要忘了最后的那个分号,分号是一条语句结束的标志。如果没有这个分号,编译器就要抱怨了。printf是一个函数,它的作用是在控制台输出一个字符串。比如字符串"HelloWorld!"。
- 第五行,是main()函数的返回值,所有的函数,都有它的返回值,也都会有这么一条语句。
分析完这段程序,我们来谈谈一些别的话题,比如HelloWorld程序的其他版本。
1 #include <stdio.h> 2 void main() 3 { 4 printf("HelloWorld "); 5 }
#include <stdio.h> main() { printf("HelloWorld! "); }
这两段代码,貌似没什么问题。如果要深究这两段代码的话,笔者会把它放到后面去解析。毕竟有一些概念新手还需要慢慢消化。
建议大家,不要使用上面那种方式在控制台输出HelloWold!。