C++ 是強大的程式語言,支援物件導向程式設計(OOP),可建立可重用的物件與元件。C++ 建立在 C 語言基礎上,兩者交叉共存。本文涵蓋變數、資料類型、運算子、函數、main 函數、陣列與字串處理等核心基礎。
變數是指派給記憶體位址的名稱。宣告後可操作記憶體資料。
int x; // 宣告整數變數
x = 100; // 指派值
x += 50; // 累加,x 變 150
int y = 150; // 宣告並初始化
x += y; // x 變 300
x++; // 遞增,x 變 301
XPos 與 xpos 是不同變數| 類型 | 位元組 | 範圍 |
|---|---|---|
| char | 1 | -128 ~ 127 |
| unsigned char | 1 | 0 ~ 255 |
| short | 2 | -32,768 ~ 32,767 |
| unsigned short | 2 | 0 ~ 65,535 |
| long / int | 4 | -2,147,483,648 ~ 2,147,483,647 |
| unsigned long / unsigned int | 4 | 0 ~ 4,294,967,295 |
| float | 4 | 1.2E-38 ~ 3.4E+38 |
| double | 8 | 2.2E-308 ~ 1.8E+308 |
| bool | 1 | true / false |
short 最大值 32767 + 1 = -32768| 類別 | 運算子 | 說明 |
|---|---|---|
| 算術 | + - * / | 加減乘除 |
| += -= *= /= | 複合指派 | |
| ++ -- | 前/後遞增減 | |
| % 等 | 取模等 | |
| 邏輯 | && || ! | 邏輯與、或、非 |
| == != < > <= >= | 關係比較 | |
| & | ^ ~ | 位元運算 | |
| 指標/成員 | * & | 間接/位址 |
| :: | 範圍解析 | |
| -> . | 間接/直接成員存取 |
int x = 10;
cout << x++; // 輸出 10,x 變 11
cout << ++x; // x 先變 12,輸出 12
函數是獨立程式碼區塊,接受參數、執行任務、可回傳值。
// 原型宣告
int multiply(int, int);
void showResult(int);
// 定義
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); // 忽略回傳值
void 回傳型別不可回傳數值void 函數必須有 return 陳述式程式進入點。常見原型:
int main();
int main(int argc, char** argv); // 命令列參數
argc 為參數個數(含程式名),argv 為參數字串陣列。
arr[0] 為第一個元素int arr[10],不可用變數指定大小int* arr = new int[size] 從堆疊配置int md[3][5]arr[5](大小 5)會導致未定義行為C++ 無內建字串型別,以 char[] 表示,以 null 終止符 '\0' 結尾。
| 函數 | 功能 |
|---|---|
strcpy | 複製字串 |
strcat | 串接字串 |
strcmp/strcmpi | 比較字串(不分大小寫) |
strlen | 取得長度 |
sprintf | 格式化字串 |
strupr | 轉大寫 |
char buff[20];
int x = 10 * 20;
sprintf(buff, "The result is: %d", x); // "The result is: 200"
int a = 20, b = 5;
sprintf(buff, "%d + %d = %d", a, b, a + b); // "20 + 5 = 25"
\n 換行、\t 定位"c:\\windows\\system\\win.ini"char strings[][20] = {
"This is string 1",
"This is string 2",
"This is string 3"
};
建議使用 std::string、AnsiString 或 STL 容器簡化操作。