初學任何一門編程語言,最先接觸的例子一定是hello xxx(我也不知道這個神奇的傳統(tǒng)是如何形成的)
初學者可能有很多地方不太理解:這里為什么要這樣寫?? 這個又是神馬意思??
下面我來對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也是有特定功能的,于是約定要被執(zhí)行的功能被放在了一對花括號中。
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,表示“我不要返回值”。所以細心的人肯定發(fā)現(xiàn)了老師并沒有return 0;這句。main()括號里面是空的,默認沒有參數。不用管了。
一個hello world還是值得細細揣摩的。等到正式學起來大家就會有更深的理解了。
?Fing
轉載請注明出處