【C++】 認識 Hello World

第一個程式,認識 Hello world

前言

說到程式語言,Hello World 想必是程式入門時最常見的詞,它是什麼時候出現的,那為甚麼會被廣泛流傳呢?

首先,大部分人認為是《C 程序設計語言》此書作者之一,Brian Kernighan 在 1973 年出版的《程式語言 B 教程導論》裡首次提到。以下是當時首次提到 Hello World 的程式碼:

1
2
3
4
5
6
7
8
main(){
extrn a,b,c;
putchar(a); putchar(b); putchar(c); putchar('!*n');
}

a 'hell';
b 'o, w';
c 'orld';

但不幸的是他受訪時,他無法準確的講述原因跟時間。「我只記得,我好像看過一幅漫畫,講述一枚雞蛋和一隻小雞的故事,在那副漫畫中,小雞說了一句:『Hello World』。」他是這樣說的。

結論,Hello World 的起源應該是 Brian Kernighan 小時候曾看過的漫畫。


用 C++ 實作吧!

說了這小小的故事,其實 Hello World 也代表著程式的運行無礙,那我們也可以開始動手做看看 C++ 世界裡的 Hello World 啦!

  1. 你可以使用 Repl 線上的編譯器,註冊後,按下右上角的加號,在 Template 那一欄打上 C++,並選擇好 C++ 的環境模板。
  2. 在右邊 Title 欄打上這個程式專案的名稱,若是練習通常我會打上今天的日期,如:20220326,除非是特別的專案才會特別取名,如果不取名,你的專案會在左邊的側邊欄 My Repls 的 Unnamed。
程式範例
1
2
3
4
5
6
7
#include <iostream>
using namespace std;

int main() {
cout << "hello world!";
return 0;
}

首先我們可以觀察看看,C++ 有人麼特別之處?如:句尾的共同處、有大括弧、小括弧等。那作者我就開始一一介紹吧!

  1. 標頭檔:程式裡 #include <iostream> 就像是工具箱,它可以叫出你想用的工具,在這裡,我們使用 cout ,所以每當我們使用輸出時,就會使用到這個 <iostream> 標頭檔。

  2. 命名空間: using namespace std; 叫做命名空間,它的用處就像是你在學校裡,可能會有同名的人,所以我們會叫「某班的」誰誰誰,這個「某班的」,就是我們的 std 。若我們不先在程式裡輸入這行,程式碼就要在 cout 前面多打 std:: ,這樣就會變得更複雜。所以為了方便,我們習慣在程式一開始就先打 using namespace std; 。簡單來說,工具也會被重複命名到,然而我們只需要用到其中一個,所以直接在程式上打 using namespace std; 可以免去不斷撰寫的麻煩。

  3. main 函式:我們也可以說它是主程式,用來執行你撰寫的程式。我們會在一對大括號內撰寫。int 是變數型態,表整數(integer)之意,在函式前的變數型態與回傳值有關,如下兩行的 return 0;

  4. 輸出 cout:用來輸出箭頭後方箭頭後的字串、變數和值。

  5. return 0:表示回傳值為 0,也就是程式正常結束,但現在的編譯器都會在編譯時偷偷幫你補上這行,不過!還是要多多保持多打這行的習慣會比較好。

參考資料:

Hello World 程序的起源与历史