首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C++ 入門基石:語言特性、安裝編譯、資料型別、運算符與陣列

     編輯:關於C++

C++ 語言特性速覽

  • 靜態型別:編譯期型別檢查
  • 編譯執行:原始碼 → 機器碼
  • 大小寫敏感
  • 多範式:程序、物件導向、泛型
  • C 超集:合法 C 程式多為合法 C++ 程式

Windows 安裝 GCC (MinGW) 步驟

  1. 下載 mingw-get-setup.exe 自 官方
  2. 安裝時勾選:gcc-core、gcc-g++、binutils、mingw-runtime
  3. 將 MinGW\bin 加入系統 PATH
  4. 驗證:g++ --version

編譯與執行流程

# hello.cpp
#include <iostream>
int main() { std::cout << "Hello World\n"; }

# 編譯
g++ hello.cpp -o hello   # -o 指定輸出檔名
# 執行
./hello   # Linux/macOS
hello.exe # Windows

七大基本資料型別與大小

用 sizeof(型別) 取得實際大小(編譯期常數)。

型別修飾符

型別關鍵字典型大小範圍/精度
字元char1 byte-128~127 或 0~255
整數int4 bytes-2G~2G
短整數short2 bytes-32K~32K
長整數long4/8 bytes平台相關
單精度浮點float4 bytes7 位有效數字
雙精度浮點double8 bytes15 位有效數字
寬字元wchar_t2/4 bytesUnicode 字元
修飾符適用型別效果
signed整數、字元有號(預設)
unsigned整數、字元無號,範圍 0~2N-1
shortint至少 16 位
longint、double至少 32 位 / 雙精度擴展

組合範例:unsigned long int、signed char。

有號/無號陷阱

short i;            // 有號,範圍 -32768~32767
unsigned short j;   // 無號,範圍 0~65535
j = 50000;
i = j;              // i 變 -15536(溢位截斷)

型別限定符

限定符含義
const不可修改,編譯期常數傳播
volatile防止編譯器優化,硬體暫存器/多執行緒共用變數
restrict(C99/C++ 延伸) 指標唯一存取,助優化

儲存類別

關鍵字壽命作用域典型用途
auto區塊區塊區域變數預設(C++11 改為型別推導)
register區塊區塊建議存暫存器(現代編譯器自動優化,已棄用)
static程式區塊/檔案區域保值、檔案內連結、類別共享成員
extern程式全域跨檔案共用全域變數/函數
mutable物件成員允許 const 成員函數修改

運算符完整分類

算術

+ - * / % ++ --

關係

== != > < >= <=

邏輯

&& || !

位元

& | ^ ~ << >>

指派

= += -= *= /= %= <<= >>= &= ^= |=

雜項

sizeof typeof & * . -> ?: , [ ] ( )

陣列:固定大小同質序列

宣告與初始化

int arr[10];              // 未初始化
int arr2[5] = {1,2,3,4,5};// 完全初始化
int arr3[] = {1,2,3};     // 推導大小 = 3
int arr4[10] = {};        // 全 0 (C++11)

存取與遍歷

for (int i = 0; i < 10; ++i) arr[i] = i + 100;
for (int i = 0; i < 10; ++i) cout << i << ' ' << arr[i] << endl;

// 範圍 for (C++11)
for (int& x : arr) x *= 2;
for (int x : arr) cout << x << ' ';

多維陣列

int matrix[3][4] = {
    {1,2,3,4},
    {5,6,7,8},
    {9,10,11,12}
};
// 存取 matrix[row][col]

完整範例:陣列統計

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    const int N = 10;
    int a[N];
    for (int i = 0; i < N; ++i) a[i] = i + 100;

    cout << "Index" << setw(13) << "Value" << endl;
    for (int i = 0; i < N; ++i)
        cout << setw(7) << i << setw(13) << a[i] << endl;
    return 0;
}

新手必記十大要訣

  1. main 回傳 int,0 表成功
  2. 每個陳述式以 ; 結尾
  3. 變數先宣告後使用,建議初始化
  4. 區分 = (指派) 與 == (比較)
  5. 整數除法截斷小數,需轉 double 得小數
  6. 陣列下標從 0 起,越界未定義行為
  7. using namespace std; 僅用於 .cpp,勿用於 .h
  8. 善用 const 防呆
  9. 編譯警告視為錯誤 (-Wall -Werror)
  10. 養成縮排與命名慣例(如 snake_case)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved