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

C++ 基礎入門(二):變數與資料型別完整指南

     編輯:關於C++

「Hello World」程式雖然能輸出文字,但真實世界的程式設計遠不止於此。為了撰寫能執行實用任務的程式,我們必須引入變數的概念。

想像一下:我要求你在腦海中記住數字 5,再記住 2。你已在記憶體中儲存了兩個數值。接著我要求你在第一個數值上加 1,你應記住 6(5+1)與 2。最後將兩數相減,得到 4。這個腦海運作過程,與電腦使用兩個變數處理資料的方式如出一轍。用 C++ 表達如下:

a = 5;
b = 2;
a = a + 1;
result = a - b;

雖然這只是簡單的整數運算,但電腦可同時儲存成千上萬個數值並進行複雜運算。我們可將變數定義為:記憶體中用於儲存確定值的一塊區域。

識別子命名規則

每個變數需要唯一識別子以區別彼此。有效識別子由字母、數字、底線(_)組成,長度無限制(部分編譯器僅識別前 32 字元)。規則如下:

  • 不得包含空格、標點符號或特殊符號
  • 必須以字母或底線開頭(以底線開頭通常保留給外部連結使用)
  • 不得以數字開頭
  • 不得與 C++ 關鍵字或編譯器保留字重複
  • C++ 區分大小寫:RESULT、result、Result 是三個不同變數

C++ 標準保留關鍵字

asm, auto, bool, break, case, catch, char, class, const, const_cast,
continue, default, delete, do, double, dynamic_cast, else, enum, explicit,
extern, false, float, for, friend, goto, if, inline, int, long, mutable,
namespace, new, operator, private, protected, public, register, reinterpret_cast,
return, short, signed, sizeof, static, static_cast, struct, switch, template,
this, throw, true, try, typedef, typeid, typename, union, unsigned, using,
virtual, void, volatile, wchar_t, while

另需避免使用運算子替代表示法(如 and, or, not 等)作為識別子。

基本資料型別

宣告變數時必須指定資料型別,因為不同型別佔用記憶體大小不同。電腦記憶體以位元組為單位組織,1 位元組可儲存單一字元或小整數(0~255)。透過組合多個位元組可表示長整數、浮點數等複雜型別。

型別名稱位元組數*說明範圍*
char1字元或 8 位元整數有號:-128~127
無號:0~255
short int (short)2短整數,16 位元有號:-32,768~32,767
無號:0~65,535
long int (long)4長整數,32 位元有號:-2,147,483,648~2,147,483,647
無號:0~4,294,967,295
int4整數同 long
float4單精度浮點數3.4e±38 (7 位有效數字)
double8雙精度浮點數1.7e±308 (15 位有效數字)
long double8長雙精度浮點數1.7e±308 (15 位有效數字)
bool1布林值true 或 false
wchar_t2寬字元(國際字元)1 個寬字元

* 位元組數與範圍可能因系統架構而異,表列為 32 位系統常見值。標準規定:char ≤ short ≤ int ≤ long,浮點數同理遞增。

有號與無號修飾詞

整數型別(char, short, int, long)可加 signed(可正負)或 unsigned(僅非負)修飾。預設為 signed。例外:char 型別獨立存在,與 signed char、unsigned char 不同。

unsigned short NumberOfSons;
signed int MyAccountBalance;   // 等同於 int MyAccountBalance;

變數宣告

語法:型別 識別字;。可一次宣告多個同型別變數,以逗號分隔:

int a;
float mynumber;
int a, b, c;  // 等同於分三行宣告

變數作用域

C++ 允許在程式碼任何位置宣告變數(不同於 C 僅能在區塊開頭),但建議遵循傳統習慣集中宣告,利於除錯。

  • 全域變數:定義於所有函式外部,自宣告點起於整個程式檔案內可見。
  • 區域變數:定義於函式或區塊({ })內,僅在該區塊內有效。函式參數亦屬區域變數。
  • 外部變數:跨原始檔可見,需配合 extern 關鍵字。

變數初始化

區域變數若未初始化,值為未定義。C++ 提供兩種初始化語法:

// C 風格
int a = 0;

// 建構函數風格
int a (0);

兩者在 C++ 中等價。

字串

字串非基本型別,但 std::string 類別提供了極佳的字串操作支援。使用前需包含 <string> 標頭並使用 std 命名空間。

#include 
#include 
using namespace std;

int main() {
    string mystring = "This is a string";
    cout << mystring;
    return 0;
}

字串支援與基本型別相同的初始化與指派操作:

string s1 = "Hello";
string s2("World");
string s3;
s3 = "New content";
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved