Basic
- 首先建立一個專案(Project),步驟如下:
- 打開code blocks,選擇開啟新project >> console application >> C++ 出現以下視窗:
- 按Next,出現一下視窗:
- 按Finish完成,選擇main.cpp,出現程式碼輸入畫面,此時可開始設計程式。
Comments
- 註解的寫法有兩種,單行註解為//,區塊註解為/**/,註解內的文字不會被編譯執行。
Escape sequence
- 在輸出文字時,有些字元無法直接輸出,例如",因為會與字串的表示符號相混淆,因此需要使用escape sequence。
- \': '。
- \": "。
- \?: ?。
- \\: \。
- \t: Horizontal tab。
- \v: Vertical tab。
- \n: Newline。
- \a: Alert or bell。
- \b: Backspace。
- \f: Form feed。
- \r: Carriage return。
- \ooo: Octal number of one to three digits。
- \xhh...: Hexadecimal number of one or more digits。
Variables
- 首先了解變數型態,C++包含以下基本變數: int(包含short int, long int), float, double(包含 long double), bool, void, wchar_t等。
- char: 包含char, char16_t, char32_t, wchar_t。
- int: 包含int, short int, long int, long long int。
- real number: 包含float, double, long double。
- bool: 僅有兩個值true of false。
- void。
- auto: 表示該變數的形態由所給予的值來決定。
- 其中char與int(包含short int, long int可以使用unsigned與signed關鍵字修飾。
- 每個變數佔的記憶體容量不同,可以使用sizeof()函數來顯示。
- 單位為byte。
- 字串(string)不屬於primitive variable,是多個char的組合。
- 變數的宣告方式如下:
- 建立變數需先宣告變數型態(int),空一格給變數名,用等號(也可以使用小括號int age(18);或大括號:int age{18};)將右方的值指派給該變數並儲存在記憶體內。可以不給初值,此時變數值未決定。
- 變數與字串需分開顯示。
- 幫變數取名時的規則與慣例:
- 使用英文字母(大小寫有分別)、數字與底線(_),數字不可在前,中間不包含空白(space or tab)
- 使用有意義的字或組合字(e.g. myHeight)。
- 不可使用關鍵字,關鍵字可參考此網頁。
- 若要宣告常數(通常命名為全大寫),可使用關鍵字const或使用#define。
- 請注意若使用#define PI 3.14159,其後沒有分號。
CppApp1 >> main.cpp
Operators
- 運算子用來連結運算元並運算。
- Assignment operator (=): 等號的意思是指派,也就是說將右方的值指派給左方的變數,例如x=1;。
- Arithmetic operators ( +, -, *, /, % ): 分別為加減乘除與計算餘數。
- x = x + 1;的意思是先計算等號右方的x+2(3),然後再將值指派給左方的變數x。
- Compound assignment (+=, -=, *=, /=, %=, >>=, <<=, &=, ^=, |=)。
- x += 2;原則上就是x = x + 2;。其餘依此類推。
- >>=, <<=: 使用2進位,左移或右移幾位。e.g. x <<= 2;表示x值用2進位表示然後左移2位,也就是x的值乘以4。
- &=, ^=, |=: 邏輯判斷,後面介紹。
- Increment and decrement (++, --): +1或-1。
Basic Input & Output
- 此處介紹簡單的輸出入(在console輸出入)。
- 已經知道輸出為cout,而輸入則使用cin。
- 使用cin來取得數值並儲存於變數age中,以供後續使用。
- 使用cin一樣可以取得字串,但是若輸入的字串中有空白(e.g. Tom Smith),只會取得第一個字,所以若欲取得整個句子(至輸入Enter止),可納入字串資料庫(#include
),然後使用getline()方法。 - 如果正常使用,此程式可以正確執行。但若不正常使用,此程式並不完整,例如此時age得到是字串(若不改為字串程式無法正確執行),因此可以輸入非數字,可在程式中偵測若是輸入不是數字(甚至不是正整數),傳回錯誤訊息,此部分之後再討論。
- 若欲讓年齡輸入是數字,可以再導入另一個資料庫
,使得輸入資料成為字串流(string stream),可以在指派到變數時轉換其形態。如下的例子,此時age中儲存的是整數。