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

C++ 基礎語法精講(一):變數、資料類型、運算子與函數完整入門

     編輯:關於C++

C++ 入門概述

C++ 是強大的程式語言,支援物件導向程式設計(OOP),可建立可重用的物件與元件。C++ 建立在 C 語言基礎上,兩者交叉共存。本文涵蓋變數、資料類型、運算子、函數、main 函數、陣列與字串處理等核心基礎。

變數基礎

變數是指派給記憶體位址的名稱。宣告後可操作記憶體資料。

int x;        // 宣告整數變數
x = 100;      // 指派值
x += 50;      // 累加,x 變 150
int y = 150;  // 宣告並初始化
x += y;       // x 變 300
x++;          // 遞增,x 變 301

關鍵規則

  • 未初始化變數含隨機值(全域/靜態變數除外,預設為 0)
  • 命名規則:字母/底線開頭,可含字母、數字、底線,區分大小寫,建議 ≤ 32 字元
  • 大小寫敏感:XPos 與 xpos 是不同變數

C++ 基本資料類型(32 位元環境)

類型位元組範圍
char1-128 ~ 127
unsigned char10 ~ 255
short2-32,768 ~ 32,767
unsigned short20 ~ 65,535
long / int4-2,147,483,648 ~ 2,147,483,647
unsigned long / unsigned int40 ~ 4,294,967,295
float41.2E-38 ~ 3.4E+38
double82.2E-308 ~ 1.8E+308
bool1true / false

類型轉換與溢位

  • 整數類型指派浮點數會**截斷小數部份**(非四捨五入)
  • 隱含轉換可能導致資料遺失,編譯器會發出警告
  • 整數溢位繞回:short 最大值 32767 + 1 = -32768

常用運算子分類

類別運算子說明
算術+ - * /加減乘除
+= -= *= /=複合指派
++ --前/後遞增減
% 等取模等
邏輯&& || !邏輯與、或、非
== != < > <= >=關係比較
& | ^ ~位元運算
指標/成員* &間接/位址
::範圍解析
-> .間接/直接成員存取

前綴 vs 後綴遞增差異

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 陳述式
  • 參數傳遞方式:傳值、指標、引用

main 函數

程式進入點。常見原型:

int main();
int main(int argc, char** argv);  // 命令列參數

argc 為參數個數(含程式名),argv 為參數字串陣列。

陣列

  • 零基底索引:arr[0] 為第一個元素
  • 編譯期常數長度:int arr[10],不可用變數指定大小
  • 動態陣列:int* arr = new int[size] 從堆疊配置
  • 多維陣列:int md[3][5]
  • 邊界檢查:C++ 不檢查越界,寫入 arr[5](大小 5)會導致未定義行為

字串處理(C 風格字元陣列)

C++ 無內建字串型別,以 char[] 表示,以 null 終止符 '\0' 結尾。

常用字串函數

函數功能
strcpy複製字串
strcat串接字串
strcmp/strcmpi比較字串(不分大小寫)
strlen取得長度
sprintf格式化字串
strupr轉大寫

sprintf 格式化範例

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 容器簡化操作。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved