C Primer Plus 第3章 處理資料

2021-08-19 13:39:36 字數 3866 閱讀 3687

第3章 處理資料

c++提供了內建型別來儲存兩種資料:整數(沒有小數的數字)和浮點數(帶小數的數字)。為滿足程式設計師的各種需求,c++為每一種資料都提供了幾個型別。本章將要討論這些型別,包括建立變數和編寫各種型別的常量。另外,還將討論c++是如何處理不同型別之間的隱式和顯式轉換的。

1.變數名

(1)以兩個下劃線或下劃線和大寫字母開頭的名稱被保留給實現(編譯器及其使用的資源)使用。以乙個下劃線開頭的名稱被保留給實現,用作全域性識別符號。像 _time_stop 或 _donut 這樣的名稱不會導致編譯器錯誤,而會導致行為的不確定性。

(2)c++對於名稱的長度無限制(區別於c99只保證前63個字元有意義),名稱中所有的字元都有意義,但有些平台有長度限制。

(3)一般書寫:字首 n 代表整數值,str 或 sz(表示以空格字元結束的字串)、b(表示布林值)、p(表示指標)和 c(表示單個字元)。

2.整型

c++的基本整型(按寬度遞增的順序排列)分別是 char、short、int、long 和 c++11 新增的 long long。

3.整型 short、int、long 和 long long

基本整型

標準short

至少 16 位

int至少與 short 一樣長

long

至少 32 位,且至少與 int 一樣長

long long

至少 64 位,且至少與 long 一樣長

例子:

//

// main.cpp

// test2

////

#include

#include // use limits.h for older systems

int main()

結果:

int

is4 bytes.

short

is2 bytes.

long

is8 bytes.

long

long

is8 bytes.

maximum values:

int: 2147483647

short: 32767

long: 9223372036854775807

long

long: 9223372036854775807

minimum int

value: -2147483648

bits per byte = 8

program ended with exit code: 0

說明:

climts 中的符號常量

符號常量

表示char_bit

char 的位數

char_max

char 的最大值

char_min

char 的最小值

schar_max

singed char 的最大值

schar_min

signed char 的最小值

uchar_max

unsigned char 的最大值

shrt_max

short 的最大值

shrt_min

short 的最小值

ushrt_max

unsigned short 的最大值

int_max

int 的最大值

int_min

int 的最小值

uint_max

unsigned int 的最大值

long_max

long 的最大值

long_min

long 的最小值

ulong_max

unsigned 的最大值

llong_max

long long 的最大值

llong_min

long long 的最小值

ulling_max

unsigned long 的最大值

(1)sizeof 運算子返回型別或變數的長度,單位為位元組。

(2)climits 標頭檔案定義了符號常量——預處理方式

類似於:

#define int_max 32767

c++初始化方式

(1)int a(432); // alternative c++ syntax, set a to 432

(2)int ha = ; // set ha to 24

(3)int emus; // set emus to 7

(4)int ros = {}; // set ros to 0

4.無符號整型和選擇規則

(1) 防止上溢或下溢

(2) 為節約記憶體,用 short;為提高可移植性,用 long。

5.整型字面值

程式一:

//

// main.cpp

// test3

////

#include

int main()

輸出:

monsieur cuts a striking figure!

chest = 42 (42

indecimal)

waist = 66 (0x42

in hex)

inseam = 34 (042

in octal)

program ended with

exit code: 0

程式二:

//

// main.cpp

// test3

////

#include

int main()

輸出:

monsieur cuts a striking figure!

chest = 42 (decimal for

42)waist = 2

a (hexadecimal for

42)inseam = 52 (octal for

42)program ended with exit code: 0

諸如cout<6.c++如何確定常量的型別

(1)注意字尾

(2)最小型別儲存原則

7.char 型別:字元和小整數

程式一:

//

// main.cpp

// test3

////

#include

int main()

輸入與輸出:

enter a

character:

mhola! thank you for

the m character.

program ended with exit code: 0

程式二:

輸出:未完待續。

c primer plus 第3章 處理資料

c 的 基 本 類 型 分 為 兩 組 一 組 由 存 儲 為 整 數 的 值 組 成 另 一 組 由 儲存 為 浮 點 格 式 的 值 組 成 整 型 之 間 通 過 存 儲 值 時 使 用 的 內 存 量 及 有 無 符 號 來 區 分 整 型 從 最小 到 最 大 依 次 是 bool cha...

C Primer Plus 第3章 資料和C

習題1 檢視當前系統整數的上限和下限 include include int max,int min include intmain void 2147483647,2147483648,2147483647 1.inf00e 000 1.175493e 040 process exited aft...

C Primer Plus 讀書筆記 第3章

第三章 處理資料 今天完成了該章的閱讀,本章對c 涉及的資料型別做了乙個詳盡的說明 並且對於 c 與 c的細微區別做了說明 總的來所就是 c 相容 c的習慣 但是作者告訴我們為什麼 c 要做出這些改變 細細想想 的卻是有道理 該章中牽涉到了部分c 11 特性,所以要確保編譯器支援這些特性 本人使用 ...