# 資料型態與宣告
當我們要使用一個變數的時候,需要先對它進行宣告
例如: 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,之後傳出a
a++會產生一個暫時的變數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++的註解共有兩種寫法
- 第一種是單行註解,以
//表示,//後面的所以文字皆為註解
//單行註解
- 第二種是多行註解,以
/* */表示,/* */內的文字皆為註解
/*
多行註解
*/