初学任何一门编程语言,最先接触的例子一定是hello xxx(我也不知道这个神奇的传统是如何形成的)
初学者可能有很多地方不太理解:这里为什么要这样写?? 这个又是神马意思??
下面我来对hello world 做一个详细的解析来加深大家对C语言的理解吧。
首先贴出书上的例程:
#include <stdio.h>
int main (void)
{
printf("Hello world!\n");
return 0;
}
一个程序,简单的可以理解为你让计算机去做一件事情。上面这个就是你让计算机在屏幕上输出hello world。
第一句有什么卵用?
首先从字面上解释,include
是包含的意思,那它要包含啥呢?后面有个stdio.h
。至于# <>
这两个约定俗成的符号,是为了让计算机识别的。stdio
,其实是standard input output的缩写,即基本输入输出。而stdio.h
可以形象地理解为是一个工具箱,里面包含了各种造好的工具,当然,里面没有真正的锤子或是榔头。计算机要用到这个工具箱来进行基本输入输出操作,而后面用到的printf
就相当于这里面的一把螺丝刀。
int main(void)又是什么鬼
首先来说一下函数,计算机里面的函数类似数学上的函数,但又不太一样。数学上,自变量x0经过f()的作用后得到了f(x0)。那么在上面的程序里,main相当于f,f(x0)是一个值(可以是整数、分数...),那么main()也是一个值,int
是integer(整数)的缩写,表明main作用出来的是一个整数。像f(x)一样,这个main函数也需要有自变量"x"的输入啊!void
翻译过来是“无效的,空的”,放在main的自变量位置,说明main的自变量输入是空,即“我并不需要自变量”。
{ 我是函数主体 }
像f一样,main也是有特定功能的,于是约定要被执行的功能被放在了一对花括号中。
printf("Hello world!\n");
printf()类似main(),也是一个函数。它从哪来的??对,就是我们之前包含的stdio.h
工具箱。printf()的自变量就是"Hello world!\n"
。日常生活中双引号中间的是一句话。这边也是类似,不过它有个更高逼格的名字:字符串。
\n
,固定的表达,next line,表示换行。为什么要有 \ ? 不然n就识别不出来了!
return 0;
字面意思,返回0。前面说过,main()是一个整数,最后总会要有一个值的!return+值 就是表示给这个main()一个值。(0一般表示程序运行成功,所以通常main返回0)
上课的void main()是什么鬼?
与int main(void)
类比一下,int表示整数,也就是最后要返回一个整数值给main,而换成了void,表示“我不要返回值”。所以细心的人肯定发现了老师并没有return 0;
这句。main()括号里面是空的,默认没有参数。不用管了。
一个hello world还是值得细细揣摩的。等到正式学起来大家就会有更深的理解了。
©Fing
转载请注明出处