【領卓教育】淺談" Hello,world!"
相信每個程式設計師小哥哥和程式媛小姐姐們對"Hello,world!"都不會陌生。接觸嵌入式也有幾個月時間了,今天我來說說我對這個最基礎的程式的看法。
Hello World 中文意思是『你好,世界』。因為《The C Programming Language》中使用它做為第一個演示程式,所以後來的程式設計師在學習程式設計或進行裝置除錯時延續了這一習慣。
讓我們來看看這個我們接觸到的第一個程式碼:
#include <stdio.h> int main() { printf("Hello,world!\n"); //輸出 Hello,world! return 0; }
在初學者眼中,敲出來的第一個程式程式碼不過是一堆看不懂的英語。而且是照著書上一點一點敲的。而C語言作為一門語言,是有語法的。所以讓我們根據C語言最簡單的一個程式,來初步瞭解一下C語言的語法。
想讓人寫下Hello,world!我們會告訴他:“寫一行‘Hello,world!’” 當我們想讓計算機寫下一行寫一行Hello,world!的時候我們就要按照計算機懂的方式告訴它,輸出一行" Hello,world!" 那麼問題來了,那我直接在程式碼區域寫printf(“Hello,world!”);這樣不就行了嗎? 編譯,執行。會發現編譯器會報錯。既然報錯了,說明其他語句也是有用的,那麼具體作用是什麼?
首先每個c程式必須有一個主函式框架。
int main(void)
{
}
在主函式框架裡就是你要編寫的內容,相當於告訴計算機:“這裡面就是你要執行的命令。“
那麼return 0;這一句是幹什麼的呢? 它的意思是讓主函式正常結束。一般來說這句話都是寫在最後。如果你把這句話寫在printf前面,還沒等輸出,程式已經結束了,所以就不會有東西輸出。
int main(void)
{
return 0;
}
所以hello world 的主程式就是
int main(void) { printf("Hello,world!\n");// \n是換行符 return 0; }
你會發現,即使這樣寫完,再編譯還是錯的。為什麼呢? 有沒有發現在開頭的程式碼裡,第一行還有#include<stdio.h> 這句話又是幹什麼的呢? 那麼你有沒有想過一個問題,既然計算機聽不懂你說“輸出一行hello world”,它憑什麼就能聽懂printf(“hello world”)? 所以,相信你已經猜到這句話是什麼意思了。這句話就是教會計算機聽懂printf。 stdio.h是標頭檔案,它是一個函式庫:標準輸入輸出庫(standard input output的縮寫)。.h是字尾名,標頭檔案(head file)的字尾名一般都是.h。那麼把stdio.h給include進來的這句話叫做宣告語句。宣告語句都以#開頭,標準自帶庫檔案要用尖括號。而且值得注意的是,宣告語句結尾不用分號。 所以是#include<stdio.h> 因此,一個Hello,world! 程式就很自然的出來了。
#include<stdio.h>
int main(void)
{
printf("Hello,world!\n");
return 0;
}
這樣就可以編譯運行了。