程式語言 前言
有錯都歡迎大家留言來鞭!!
同時也讓我更加理解我誤解的地方。
文章會盡量以白話、口語化的方式將我理解的撰寫,
想要口語化就會廢話很多,
想要口語化就會廢話很多,
又或是基於簡單理解(不多解釋)
而出現舉例不正確的狀況,
還請鞭小力一點。
〆程式語言-工具軟體
如同上一篇程式語言 口語化概述所言,
要跟電腦溝通就需要「編譯器(compiler)」。
就像你要聽音樂(mp3),
也需要播放器(Windows Media Player)播放一樣。
(音樂播放器很多,看使用者習慣會使用不同的播放器。但功用都是"播放音樂"。)
所以第一個動作就是找到免費的C++的編譯器,
讓我們的學習不需要金錢成本。
我使用的是「Dev-C++(在Windows系統使用的)」
我不做Dev-C++下載、安裝、設定教學,網路上很多可以多爬文。
發文重點落在撰寫上面。
〆C++語言能做什麼
學習 程式語言 通常都是從「它能做什麼」開始慢慢去摸索。
所以大多教學都是直接透過一步一步教學,實做的方式來慢慢帶入。
先來看看入門最經典的範例:
#include<iostream> using namespace std; int main() { cout <<"Hello, World!"; return 0; } |
在編譯器中會用顏色來區隔每個元素,增加可讀性。
(綠色、橘色、桃紅色分別代表不同的元素)
現在這個程式碼完全看不懂是正常的,
C++的基本架構(這個語言的語法)
#include<iostream> using namespace std; int main() { 123456789 return 0; } |
大多數編譯的程式碼,都在【12345679】裡面發生(注意:只是大多數!)。
每個字都有它代表的意義,在我們完全理解之前。
請先傻瓜式的"一律複製貼上"。
〆輸出指令【cout<<】
而經典例子中會看到【12345679】的地方,
輸入了【cout<< "Hello, World!";】這一串神秘的東西。
強行解釋一番:
【cout<<】是印出的意思,讓程式輸出<<後的內容
C++中的英文大小寫有分(是不同的)。
所以不會是 Cout<< 或 cut<<或 cout< 或 cout>>。
【"Hello, World!"】顯示"___"內之間的*字串。
【;】代表這行程式碼結束。
少一個字、打錯字串符號,或是字串放在基本架構以外,程式就會出現錯誤。
所以經典例子中,
輸出結果是「Hello, World!」。
在Dev-C++中則是可以使用 中文,
輸入韓文、日文則是會出現無法識別的「?」。
嘗試看看輸出中文的
我是___,這是我的c++練習。 |
編譯答案:
────────────────────
#include<iostream>
using namespace std;
int main()
{
int main()
{
cout <<"我是___,這是我的c++練習。";
return 0;
}
}
────────────────────
有沒有開始了解一點C++的超級基本的架構呢?!
〆換行指令 【endl】、【"\n"】
只要基本架構有、元素都編譯正確,就可正常運作程式。
所以其實全部黏在一起,程式也是能判別的。(可以自己嘗試看看)
────────────────────
#include<iostream>
using namespace std;int main(){cout <<"我是___,這是我的c++練習。"; return 0;}
────────────────────
即便如此,由於一來可讀性不高、二來程式碼越寫越多,當出現bug你也不知道從何找起。
所以在編譯器中的"換行",只是為了排版,讓編譯者更適合閱讀。
你輸出的內容需要換行則需要 換行指令 endl 或 使用 \n 字元。
*" "字串符號、' '字元符號。
在C++的設計中將
\n 放在' '字元符號內 會自動編譯成 換行。
前面說過 " "裡面是字串,要使用 \n 作換行使用 就要放在字串" "裡面內當成字元才行。
(不放在" "或是' '裡,編譯器就不認識)
而C++設計中
【<<endl;】指令 其實等於【 << '\n' <<flush;】
理論上 "\n" 跑程式比 endl 快,背後演算先不多解釋。
我個人若非必要,換行都會使用\n。
以下有幾種狀況,都是同樣 輸出換行的結果。
────────────────────
第一種、
cout <<"我是___,"<<endl;
cout <<"這是我的c++練習。"<<endl;
意思是「印出第一行、換行 更新緩存區 印出第二行、換行 更新緩存區」。
第二種、
cout <<"我是___,"<<endl<<"這是我的c++練習。";
意思是「印出"___" 換行 更新緩存區 印出 "___"」。
第三種(差的寫法)、
cout <<"我是___,"<<"\n"<<"這是我的c++練習。";
跟第二種endl的用法一樣,但通常不會這樣寫。
(因為三個 " " 都是字串,特地區隔開來是多此一舉脫褲子放屁)
第三種(好的寫法)、
cout <<"我是___,\n這是我的c++練習。";
────────────────────
以上三種,輸出結果都是
我是___, 這是我的c++練習。 |
輸出結果都一樣,唯一有落差的是系統辦別的時間。
就跟我們人讀書一樣,冗言贅字越多、閱讀越慢。備註
*字元:一個英文字母、數字或其他的符號,我們稱它為字元
*字串:超過一個'字元',都稱為字串
*編譯:之後發文一律都將撰寫程式碼(Code)的過程稱為「編譯」。
所以我下方的這一串
cout<<"寫程式就像寫文章一樣"<<endl;
輸出就是「寫程式就像寫文章一樣」
cout<<"寫程式就像寫文章一樣"<<endl;
if(知道文字怎麼寫)
cout<<"文章不一定寫的好"<<endl;
else
cout<<"一定不會寫文章"<<endl;
//你知道文字怎麼寫,跟文章寫的好不好並沒有關聯。
//你知道文字怎麼寫,跟文章寫的好不好並沒有關聯。