# 資料型態與宣告
當我們要使用一個變數的時候,需要先對它進行宣告
例如: int a;
意思是我們宣告一個資料型態為 int (整數) 的變數 a,a 裡面可以存固定範圍內的任何整數
以下是一些基本的資料型態:
資料型態 | 解釋 | 儲存內容 & 範圍 | 補充 |
---|---|---|---|
bool | 布林變數 | true 和 false | true=1 false=0 |
int | 整數 | 2^-31 ~ 2^31-1 | |
unsigned int | 正整數 | 0 ~ 2^32-1 | |
long long | 特大的整數 | 2^-63 ~ 2^63-1 | |
float | 浮點數 (小數) | 有效位數 7 位 | |
double | 倍精確浮點數 (小數) | 有效位數 15 位 | |
char | 字元 | 0 ~ 255 (ASCII Code) | 以 '' 表示 |
string | 字串 | 一連串的任意文字 | 以 "" 表示 |
變數宣告的標準語法為: 資料型態 變數名稱 = 值:
範例:
bool a = true; | |
int b = -5; | |
unsigned int c = 45; | |
long long d = 999; | |
float e = 3.56; | |
double f = 9.0005; | |
char g = 'y'; | |
string h = "mystring"; | |
cout << a << endl; | |
cout << b << " " << c " " << d << endl; | |
cout << e << " " << f << endl; | |
cout << g << " " << h; |
輸出為:
1
-5 45 999
3.56 9.0005
y mystring
變數名稱的命名規則:
- 只能以英文字母及
_
開頭 - 只能包含英文字母、數字及
_
- 保留字不能使用 (保留字為 cout, cin, int, char... 等)
int _abc;
// 合法int my_data_22;
// 合法
int 12book;
// 不合法int cout;
// 不合法
我們也可以一次宣告多個同型態的變數
例如: int a = 0, b, c;
補充:
C++11 之後新增了一個叫 auto 的資料型態
它會基於賦予的值自動判斷資料型態
例如:auto a = 1;
//auto 為 int 型態auto b = 'c';
//auto 為 char 型態
由於他是根據賦予的值決定資料型態,所以沒有賦予值的形況下無法使用 auto
建議一開始還是直接宣告資料型態
等到以後對資料型態比較熟悉,或宣告極其複雜的資料型態的時候才使用
# 基本運算子
以下是 C++ 的基本運算子
符號 | 解釋 |
---|---|
+ | 加號 |
- | 減號、負號 |
* | 乘號 |
/ | 除號 |
% | 取餘數 |
= | 指派 |
++ | +1 |
-- | -1 |
() | 括號 |
基本上,這些運算子的用法就跟數學運算一樣
範例 1:
int a = 1, b = 2, c = 3; | |
cout << a + b + c; // 印出 6 | |
cout << a - b - c; // 印出 - 4 | |
cout << a * b * c; // 印出 6 | |
cout << c / a; // 印出 3 | |
cout << 3 % 2; // 印出 1 |
其中比較特別的是 %
取餘數,以上面的程式來看,它的意思是取 3 除以 2 的餘數,答案為 1
範例 2:
int a = 0; | |
int b = a + 1; // b = 1 | |
cout << ++b << a++; //b 印出 2, a 的值為 1,但印出 0 | |
cout << a * (a + b); // 印出 3 | |
a--; | |
--b; | |
cout << a << b; //a 印出 0, b 印出 1 |
第二行中,運用到 =
指派運算子,將 a 的值 + 1 賦予 b,所以 b 的值為 0 + 1 = 1
第四行中,同樣是 ++
,但是一個在變數前面,一個在變數後面
它們的區別是 ++b
會將 b 先 + 1,再做剩餘的運算, a++
會先將 a 的值取出,做完運算再 + 1
實際上, ++a
與 a++
是同時做 + 1++a
將 a + 1,之後傳出 aa++
會產生一個暫時的變數 temp,先將 temp = a,把 a + 1,再傳出 temp
第六行中,按照原本的順序是先乘除後加減,但是因為有括號,所以優先做括號內的運算
當你要在原本變數的基礎上進行運算時,能夠將寫法簡化,如下:a += 1;
與 a = a + 1;
相等a -= 1;
與 a = a - 1;
相等a *= 1;
與 a = a * 1;
相等a /= 1;
與 a = a / 1;
相等a %= 1;
與 a = a % 1;
相等
# 註解
C++ 的註解共有兩種寫法
- 第一種是單行註解,以
//
表示,//
後面的所以文字皆為註解
//單行註解
- 第二種是多行註解,以
/* */
表示,/* */
內的文字皆為註解
/*
多行註解
*/