| 運算子 | 說明 | 舉例 |
|---|---|---|
| 算術運算子 | ||
| + | 加 | x = y + z; |
| - | 減 | x = y - z; |
| * | 乘 | x = y * z; |
| / | 除 | x = y / z; |
| 指派運算子 | ||
| = | 指派 | x = 10; |
| += | 指派加 | x += 10; (等同 x = x + 10;) |
| -= | 指派減 | x -= 10; |
| *= | 指派乘 | x *= 10; |
| /= | 指派除 | x /= 10; |
| &= | 指派位元 AND | x &= 0x02; |
| |= | 指派位元 OR | x |= 0x02; |
| 邏輯運算子 | ||
| && | 邏輯 AND | if (x && 0xFF) {...} |
| || | 邏輯 OR | if (x || 0xFF) {...} |
| 關係運算子 | ||
| == | 等於 | if (x == 10) {...} |
| != | 不等於 | if (x != 10) {...} |
| < | 小於 | if (x < 10) {...} |
| > | 大於 | if (x > 10) {...} |
| <= | 小於等於 | if (x <= 10) {...} |
| >= | 大於等於 | if (x >= 10) {...} |
| 一元運算子 | ||
| * | 間接存取 | int x = *y; |
| & | 取址 | int* x = &y; |
| ~ | 位元 NOT | x &= ~0x02; |
| ! | 邏輯 NOT | if (!valid) {...} |
| ++ | 遞增 | x++ (等同 x = x + 1;) |
| -- | 遞減 | x--; |
| 類別與結構運算子 | ||
| :: | 範圍解析 | MyClass::SomeFunction(); |
| -> | 間接成員存取 | MyClass->SomeFunction(); |
| . | 直接成員存取 | MyClass.SomeFunction(); |
C++ 運算子可多載。程式設計師可透過多載標準運算子讓其在特定類別中執行特定運算。如多載 ++ 使變數遞增 10 而非 1。屬進階技術,本書不詳細介紹。
如 * 可為乘號、宣告指標、解參考。初看混亂,老手也覺得亂。多實作慢慢適應。
函式是與主程式分離的程式碼段,需要時呼叫執行。最簡單函式無參數、回傳 void;其他可帶參數並回傳值。函式命名規則同變數。
回傳型別 函式名 參數表
↓ ↓ ↓
int SomeFunction(int x, int y) {
函式本體 → int z = (x * y); return z;
↑ 回傳陳述句
}
使用前必須宣告。原型告訴編譯器參數個數、型別、回傳型別。
int multiply(int, int);
void showResult(int);
原型中可包含參數名以利文件化:int multiply(int firstNumber, int secondNumber);
#include
#include
#pragma hdrstop
int multiply(int, int);
void showResult(int);
int main(int argc, char** argv) {
int x, y, result;
cout << endl << "Enter the first value:";
cin >> x;
cout << "Enter the second value:";
cin >> y;
result = multiply(x, y);
showResult(result);
cout << endl << endl << "Press any key to continue...";
getch();
return 0;
}
int multiply(int x, int y) {
return x * y;
}
void showResult(int res) {
cout << "The result is: " << res << endl;
}
result = multiply(2, 5); // 傳遞常值
result = multiply(x, y); // 傳遞變數
showResult(multiply(x, y)); // 回傳值作為另一函式參數
multiply(x, y); // 忽略回傳值
忽略回傳值只放棄該值,無其他危害。許多函式執行動作後回傳狀態碼,有時與程式無關可忽略(如 getch())。
函式可呼叫自己,稱為遞迴。屬較複雜主題,稍後介紹。
本節介紹 C/C++ 獨立函式。C++ 將函式深化為類別成員函式,稍後介紹。