無痛入手 C++:基礎教學1 - Hello C++! 的程式架構介紹

閱讀時間約 6 分鐘

程式語言到底是什麼?

簡單來說,程式設計師其實就是「電腦溝通師」,用程式來命令電腦做事。

程式語言就是人類用來命令電腦做事情所用的語言
那跟老闆用中文命令我做事有什麼差別呢?

眾所皆知,人類是進化程度相當高的頂級靈長類,老闆只需要給一個概略性的要求,你自己動腦想一想就知道該做什麼了。
電腦不一樣,它只是無情的運算機器: 一個指令一個動作,不會思考、不會變通。電腦會「完全依照你字面上的意思去執行命令」
所以跟中文相比,程式語言必須非常格式化、非常精確、定義嚴謹,電腦才有辦法理解你想表達的意思。

簡單來說就是人類很聰明、理解力強,但是動作很慢,還會偷懶~
電腦則是做事效率超高、不適用勞基法 (台灣企業主表示滿意),但笨得要死,所以需要專業的「電腦溝通師」用電腦聽得懂的方式去命令它做事情。


Hello C++! 的程式架構介紹

請記得程式是人類用來命令電腦做事情所說的話,你可以想像點下「執行」按鈕以後,有一台電腦會用迅雷不及掩耳的速度把你寫的程式從第一行讀到最後一行,然後依照你所說的去做。
現在,我們來逐行了解上一篇文章中出現的「第一支程式」在做什麼。

#include <iostream>
using namespace std;

int main() {
// My fisrt C++ program!
cout << "Hello C++!" << '\n';
return 0;
}

第 1 行: 導入 <iostream> 這個標準函式庫

#include <iostream>

標準函式庫是 C++ 內建的函式庫,裡面有事先寫好的程式碼。
使用 #include 這個關鍵字可以將函式庫導入我們的程式中,<iostream> 則是一個函式庫的名稱,是專門處理程式的輸入 (input) 以及輸出 (output) 的函式庫。
關於輸入和輸出之後會有更詳細的介紹。

第 3 行: 使用標準函式庫

using namespace std;

std 是 C++ 標準函式庫的代號 (standard library)。這一行是在告訴電腦,我們想在程式中使用 C++ 標準函式庫。

第 3 行: 空行
空行會被電腦自動跳過。使用空行的目的是為了讓程式碼更好讀 (對人類來說)。

第 4 ~ 8 行: 告訴電腦具體要執行哪些命令

int main() { }

這段程式包含四個部分:
1. int: 這個之後會再介紹,先不用管它。
2. main: 電腦拿到程式碼以後,會找到 main 的所在位置,從 main 中的第一行程式開始執行,直到最後一行
3. (): 這個之後會再介紹,先不用管它。
4. {}: 用大括號把所有要電腦執行的命令都涵蓋在裡面,這部分是 C++ 程式的主體。

現在,我們深入 main 的大括號中來了解這支程式命令電腦做了什麼事情。

第 5 行: 註解
註解跟空行一樣,會被電腦自動跳過。// 後面的所有內容都會被電腦忽略,可以讓程式設計師做一些紀錄,方便自己 (或同事) 日後了解這段程式在幹嘛。
註解還有另一種形式: /* 註解的內容 */,這種寫法的好處是註解的內容可以行跨多行,如下面所示:

/*
第一行註解
第二行註解
第三行註解
*/


第 6 行: 把 "Hello C++!" 印到螢幕上

cout << "Hello C++!" << '\n';

"" 框住的內容稱為字串 (string),就是一般文字的意思,可以用來撰寫你想要印到螢幕上的內容。
cout 是 <iostream> 函式庫中用來處理輸出的酷東西,需要在 cout 和你想印到螢幕上的資料中間加上 「<<」。
你可以想像成是資料從程式「流」進 cout,進而被印在螢幕上,所以 << 其實是象形文字。

'\n' 是換行符號的意思,cout 遇到 '\n' 後會換到一下行。

C++ 的程式必須以分號「;」作為結尾 (新手會很常忘記)。

每一行以分號結尾的程式又稱為陳述 (statement),電腦會以陳述為單位,一行一行執行 main 裡面的程式。

!! 小試身手 !!
試著把分號拿掉,看看 C++ shell 的視窗會顯示什麼錯誤。


第 7 行: 終止程式

return 0;

return 表示程式結束完畢了,如果你把程式寫在 return 後的話,它們就不會被執行到。

!! 小試身手 !!
在 return 0; 前後分別列印一些文字,觀察程式的輸出會長什麼樣子。
注意: C++ shell 是外國網站,沒有針對中文輸出做處理 (會印出亂碼),所以用 cout 印出文字的時候,請使用英文 (順便練習一下英文~)。


關鍵字 (保留字)

程式語言會定義許多關鍵字 (保留字) 來代表某些意思,像是 include、using、main、return ,都是屬於關鍵字。是 C++ 所定義出來,具有特殊意義的詞彙。

至於 iostream 和 cout,則是標準函式庫裡面的東西,並不屬於關鍵字。

C++ 標準函式庫是一堆由別的工程師利用 C++ 所設計出來供大家使用的程式碼,如果不需要的話也可以不使用。但因為實在太好用了,所以通常在開發軟體的時候都會使用標準函式庫。


撰寫程式碼的風格

可以發現範例程式中,有的地方會空行,有的地方會縮排,這種撰寫程式碼的風格叫作 coding style。良好的 coding style 會讓程式碼更容易閱讀,但這個東西並沒有統一的格式,每個社群和公司的習慣都不太一樣。

可以將後續其他範例程式的寫法當成參考,也可以依照你自己的習慣去撰寫。

#include <iostream>
using namespace std;

int main() {
// My fisrt C++ program!
cout << "Hello C++!" << '\n';
return 0;
}


結語

以下是一支 C++ 程式的基本架構:
1. 可以從 (標準) 函式庫使用其他人撰寫好的程式。
2. 使用 int main() { } 來函概要電腦執行的命令。
3. 電腦一看到 return 0; 就會停止執行程式。

此外,我們也介紹了以下概念:
1. 註解 (comment): 會被電腦忽略,可以用來做紀錄。
2. 陳述 (statement): 以分號結尾,可以分成多行來撰寫。
3. 可以將文字放在引號""內做為自串,用 cout 印到螢幕上;'\n' 可以用來換行。

2會員
14Content count
程式設計 & 電腦系統 & 系統軟體
留言0
查看全部
發表第一個留言支持創作者!
鏟薯員的窩 的其他內容
這個系列是專門寫給 0 程式設計經驗的初學者的 C++ 教學, 無需架設環境,直接開始無痛入手 C++ ~
這個系列是專門寫給 0 程式設計經驗的初學者的 C++ 教學, 無需架設環境,直接開始無痛入手 C++ ~
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
從去年就開始火的CCD相機,美女、網紅現在幾乎人手一台,拍出來的照片張張都有氛圍感!CCD相機不僅記錄下每一個瞬間,更賦予與手機影像不同且難以言喻的深度和質感。今天就來推薦幾款CCD相機。【此篇文章內容引用自新識界】
Thumbnail
無痛致富讀書心得1&2 摘要 【無痛致富】,去年10/26號上市。作者是佛里曼投資顧問團隊(Freeman Publications),總部位於英國倫敦,提供個人專業的投資理財顧問服務,將最複雜的投資策略以易於理解的語言傳達給客戶。 英文書名是The 8-Step Beginner’s Guide
Thumbnail
大綱: 1.適合誰閱讀 2.股市秤重機 3.風險管理的兩大誤區 4.長期投資的七大優勢 5.股利是雙面刃 【無痛致富】,去年10/26號上市。作者是佛里曼投資顧問團隊(Freeman Publications),總部位於英國倫敦,提供個人專業的投資理財顧問服務,將最複雜的投資策略以易於理解的語言傳達
Thumbnail
其實市面上不少現金回饋 app,但小編第一次見到「掃發票」就能無痛癢將現金回饋入袋的產品,將這款非常有趣的 app 分享給讀者朋友們,讓我們來一探究竟,將回饋吃飽飽。
Thumbnail
水晶洞功效: 水晶洞又稱作是風水石,裡面充滿漂亮的晶牙、水晶花,彼此能量互相震動凝聚磁場!能夠聚財納福、避邪擋煞、吉祥平安。且晶洞本身就是源源不絕的發電廠,可以幫其他水晶淨化、消磁。 迷你晶洞擺放在辦公桌: 在工作上有貴人幫助、專注辦公、防止小人陷害、被老闆讚許、加薪升官的機會! 迷你晶洞擺放在正財
Thumbnail
討論退休議題時會有幾項假設: 1. 你退休後會活多久 在醫療的進步下,人愈活愈長壽已經是趨勢,而據報導美國社會安全局的精算數據顯示,美國人在目前65歲的女性之中,預計會有39%的人能夠活到90歲,男性則有29%。面對長壽人生,我們是必須對未來有打算、有所計畫的。
Thumbnail
無痛退休第二講:通膨, 附音頻連結及教材下載連結
Thumbnail
無痛退休第8講:退休後生活如何安排, 附音頻連結及教材下載連結
Thumbnail
50歲的鄭先生因為經商關係經常往返國內外,被暱稱為空中飛人。長期以還由於應酬關係,無法好好休息,導致牙齒脹痛甚至頭部疼痛愈烈,一度以為是火氣大導致....
Thumbnail
server OS: CentOS 6.5   ========= LAMP 安裝 =============   1.更新系統到最新版本: yum updata -y 2.安裝Apache網頁伺服器: yum install httpd -y     service httpd start
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
從去年就開始火的CCD相機,美女、網紅現在幾乎人手一台,拍出來的照片張張都有氛圍感!CCD相機不僅記錄下每一個瞬間,更賦予與手機影像不同且難以言喻的深度和質感。今天就來推薦幾款CCD相機。【此篇文章內容引用自新識界】
Thumbnail
無痛致富讀書心得1&2 摘要 【無痛致富】,去年10/26號上市。作者是佛里曼投資顧問團隊(Freeman Publications),總部位於英國倫敦,提供個人專業的投資理財顧問服務,將最複雜的投資策略以易於理解的語言傳達給客戶。 英文書名是The 8-Step Beginner’s Guide
Thumbnail
大綱: 1.適合誰閱讀 2.股市秤重機 3.風險管理的兩大誤區 4.長期投資的七大優勢 5.股利是雙面刃 【無痛致富】,去年10/26號上市。作者是佛里曼投資顧問團隊(Freeman Publications),總部位於英國倫敦,提供個人專業的投資理財顧問服務,將最複雜的投資策略以易於理解的語言傳達
Thumbnail
其實市面上不少現金回饋 app,但小編第一次見到「掃發票」就能無痛癢將現金回饋入袋的產品,將這款非常有趣的 app 分享給讀者朋友們,讓我們來一探究竟,將回饋吃飽飽。
Thumbnail
水晶洞功效: 水晶洞又稱作是風水石,裡面充滿漂亮的晶牙、水晶花,彼此能量互相震動凝聚磁場!能夠聚財納福、避邪擋煞、吉祥平安。且晶洞本身就是源源不絕的發電廠,可以幫其他水晶淨化、消磁。 迷你晶洞擺放在辦公桌: 在工作上有貴人幫助、專注辦公、防止小人陷害、被老闆讚許、加薪升官的機會! 迷你晶洞擺放在正財
Thumbnail
討論退休議題時會有幾項假設: 1. 你退休後會活多久 在醫療的進步下,人愈活愈長壽已經是趨勢,而據報導美國社會安全局的精算數據顯示,美國人在目前65歲的女性之中,預計會有39%的人能夠活到90歲,男性則有29%。面對長壽人生,我們是必須對未來有打算、有所計畫的。
Thumbnail
無痛退休第二講:通膨, 附音頻連結及教材下載連結
Thumbnail
無痛退休第8講:退休後生活如何安排, 附音頻連結及教材下載連結
Thumbnail
50歲的鄭先生因為經商關係經常往返國內外,被暱稱為空中飛人。長期以還由於應酬關係,無法好好休息,導致牙齒脹痛甚至頭部疼痛愈烈,一度以為是火氣大導致....
Thumbnail
server OS: CentOS 6.5   ========= LAMP 安裝 =============   1.更新系統到最新版本: yum updata -y 2.安裝Apache網頁伺服器: yum install httpd -y     service httpd start