學習每個編程語言都是從 "Hello world!" 開始的,這好像就是編程界一條不成文的規定同樣。c++
在這篇文章中,我將教你們編寫一個能夠輸出 "Hello world!" 的程序。編程
示例程序:1 #include <stdio.h>//Include a header編程語言
1 #include <stdio.h>//Include a header 2 3 //Entry of the program 4 int main(int argc, char **argv) 5 { 6 printf("Hello world!");//Print a String on the screen 7 system("pause");//Pause the program 8 return 0;//Return a value to the system 9 }
在編譯器中輸入這些代碼後,點擊「編譯」按鈕,就會在工程所在文件夾下生成一個可執行文件(.exe),雙擊運行便可。函數
注:在vs中,能夠直接按ctrl+f5運行。學習
對於初學者來說,對這段代碼確定是會有不少不懂的地方。可是,咱們先讓程序跑起來,看看是什麼樣子再說。下面我會對這些代碼一一解釋。spa
解析:code
1:blog
#include <stdio.h>//Include a header
這句話是什麼意思呢?從字面意思上來說,include在英文中是「包含」的意思。因此,這句話的做用是告訴編譯器講一個頭文件包含到咱們的代碼裏面。這個頭文件呢,一般以(.h)結尾,他其實呢跟咱們的源代碼文件(.c)差很少,都寫着代碼。因此這一句就能夠說是把別人寫好的代碼白嫖了過來給咱們本身用。有關include的知識先說到這裏,以後在講預編譯的時候再往細了講。字符串
那麼這個stdio.h又是什麼東西呢?其實,它就是咱們上文中提到的頭文件。其中stdio是Standard Input and Output的縮寫,意思爲標準輸入輸出。因此,只有使用它,咱們才能進行輸入輸出操做,在這個例子中就是在屏幕上顯示一串字。編譯器
後面的//的意思是註釋,就是//以及它後面的全部字符(可是不包括下一行)都是不會影響程序的運行的,註釋是爲了提升程序的可讀性,說白了就是讓你以及別人能儘量看懂你的程序。在c語言中,註釋還有另外一種寫法:
1 #include <stdio.h>/*Before me is the include sentence 2 I will not affect the program 3 After me is the program*/ 4 int main(int argc, char **argv) 5 {...}
意思就是從/*到*/之間的都是註釋(包含/*和*/)。
注:在vs中,選中代碼後先按下ctrl+k再按下ctrl+c便可註釋掉選中代碼;選中後先按下ctrl+k再按下ctrl+u便可取下注釋選中的代碼。
2:
int main(int argc, char **argv)
這個東西咱們先不細講,在以後講了數據類型以後再來細講argc和argv是什麼東西。如今咱們須要知道的是,這個東西叫main函數,是這個程序的入口,也就是一個程序開始的地方。所以本程序會從main函數的第一行開始執行。
3:
printf("Hello world!");//Print a String on the screen
printf是一個字符輸出函數,在這裏它會吧括號裏面的字符串輸出到屏幕上。
注意:在c語言以及c++中,字符串必須用一對雙引號括起來;用單引號只能括起來一個字符。
4:
system("pause");//Pause the program
這句話的做用是將程序暫停住。
咱們知道,在程序執行完輸出函數後,它會接着執行下一條語句。若是沒有本條語句,那麼接下來執行的將會是:
return 0;//Return a value to the system
這條語句會向系統返回一個值,而且告訴系統:「我已經運行完畢,能夠退出」,而後系統就會關掉你的程序。
這麼一來,字符串剛剛被顯示出來,窗口就被關閉了(嚴謹一點來講就是程序退出了),咱們就沒有時間去看到輸出的字符串了。(電腦的運行速度是很快的)
因此,若是能將程序暫時暫停住,咱們就有時間看到輸出的字符串了。
注:在某些編譯器中,程序會在退出前暫停住,所起在那些編譯器中,就不須要人爲的暫停程序。可是,爲了保險起見,我仍是建議你們加上這句話。
提示:
若是顯示編譯失敗,請檢查如下列出來的可能緣由:
1:忘記打分號;
2:使用了中文字符;
3:把0打成了o;
4:該空格的地方沒有空格;
5:括號沒有成對出現。