- 如何才能解释helloworld这段代码呢?一行一行解释可能解释不清楚,我们不防先了解一下C语言中的顺序结构。
顺序结构
- 何为顺序结构?我们再拿名叫电脑的士兵的例子来说。我们回顾一下我们对电脑下的命令:
-
-
-
- 你:『伸出右手,抬出左腿!』----------------------①
-
-
- 你:『伸出左手,缩回右手,放下左腿,抬出右腿!』----②
-
-
- 你:『立正!』-----------------------------------③
-
- 我们可以发现我们对『他』一共施了三条命令①②③。而这三条命令是按照顺序执行的。

- 这就是顺序结构,回头看看我们刚才的代码。
#include <stdio.h> --------------------①
int main(void){ -----------------------②
printf("helloworld"); -------------③
return 0; -------------------------④
}
- 一共有四条命令。它们同样也是顺序执行的。
- 我们来设想一下,我们如何给计算机下命令才能让它输出helloworld呢?
- 直接在代码中给大家解释:
#include <stdio.h> //教会电脑输出字符到屏幕上
int main(void){ //听好了,电脑!下面我将下命令!
printf("helloworld");//给我在屏幕上输出helloworld
return 0; //我的命令下完了。
}
命令①:#include <stdio.h>
- 教会电脑输出字符到屏幕上
- 我们如何理解这个命令的意思呢?名叫电脑的士兵再次登场。我们再来回顾一下直接给电脑下命令让它走上台阶的命令。
-
-
-
-
- 『他』并不会走路,所以我们才要特别细致的一步一步教会他如何走路。那如果我们派一位教官来教会他走路呢?
-
-
-
-
-
- 教官:『电脑,记住了,走路的时候先迈左腿,再迈右腿,双手保持身体平衡,身体前倾!』
-
-
-
- 在教官的教导下,『他』学会了如何走路,然后我们再下命令,『他』当然会执行。
- 我们回到刚才C语言中,把
#include <stdio.h>
删掉看看会出现什么情况。
- 代码:
//此行代码被删除
int main(void){
printf("helloworld");
return 0;
}
- 当我们运行程序的时候,发现程序并没有运行,并且提示了错误。
-
- 第三行:
printf(“helloworld”);
incompatible implicit declaration of built-in function 'printf'
- 为什么删除了
#include <stdio.h>
后,printf("helloworld");
会被电脑认为是错误呢?
- 这和刚才士兵的情况是一样的。
-
-
-
-
- printf是输出命令,而printf输出命令电脑本身不会,需要学习,而学习的过程就在stdio.h文件中,如果我们加上
#include <stdio.h>
后,结果就成为了这样。
-
-
-
-
-
- stdio:『电脑,记住了,printf就是在显示器上输出一串字符』
-
-
- 你:『电脑!printf(“helloworld”);』
-
- 其实电脑能学的还有很多东西,比如说数学能力。一行
#include <math.h>
就可以让电脑学会cos、sin等数学函数。
- 笔者在测试的时候发现了一个有趣的现象,由于最新的翻译官都太聪明了,在你将程序说给翻译官听的时候,翻译官就发现你的程序含有printf但是忘记加入了
#include<stdio.h>
,所以翻译官在翻译给电脑听的时候,私自将#include<stdio.h>
加上了,结果程序成功的执行,但还是给出了warning警告:

- 虽然现在翻译官聪明了,但我们还是要确保程序中加入了
#include<stdio.h>
,以免某天翻译官犯傻,导致你写的程序出现了不可预知的错误。
命令②:int main(void)
- 真正命令的开始
- 我们看到这条命令的后面跟着一个大括号{,而我们程序的最后一行也有一个回括号},这两个括号之间的命令将是我们整个程序中最主要的部分,就如同main的中文释义『主要的』那样。
命令③:printf("helloworld");
- 在显示器上打印(输出)helloworld
- printf的学名叫做格式化输出,为何叫格式化输出我们马上就会讲解。
命令④:return 0;
- 结束命令(关闭程序)
- 这条命令后,程序就会关闭,也就是黑乎乎的窗口会被关闭,做事要有始有终,你要是不告诉电脑你的命令下达完了,他还会傻乎乎的等着你下一条命令呢,快让电脑休息下吧。对了,聪明的翻译官也并没有让我们的程序直接结束,而是让我们“press any key to continue”(按任意键继续),不然没等我们看到helloworld,这个黑乎乎的窗口就关闭了。
初学者的基本框架
- 讲了这么多,不知道你对helloworld的程序能够掌握到那里,但是无论如何,要记住初学者的C语言框架,在很长一段时间内,你的代码都需要写上这四行代码:
#include <stdio.h>
int main(void){
……
return 0;
}
Comments
comments powered by Disqus