第3章 處理資料
c++提供了內建型別來儲存兩種資料:整數(沒有小數的數字)和浮點數(帶小數的數字)。為滿足程式設計師的各種需求,c++為每一種資料都提供了幾個型別。本章將要討論這些型別,包括建立變數和編寫各種型別的常量。另外,還將討論c++是如何處理不同型別之間的隱式和顯式轉換的。
1.變數名
(1)以兩個下劃線或下劃線和大寫字母開頭的名稱被保留給實現(編譯器及其使用的資源)使用。以乙個下劃線開頭的名稱被保留給實現,用作全域性識別符號。像 _time_stop 或 _donut 這樣的名稱不會導致編譯器錯誤,而會導致行為的不確定性。2.整型(2)c++對於名稱的長度無限制(區別於c99只保證前63個字元有意義),名稱中所有的字元都有意義,但有些平台有長度限制。
(3)一般書寫:字首 n 代表整數值,str 或 sz(表示以空格字元結束的字串)、b(表示布林值)、p(表示指標)和 c(表示單個字元)。
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++初始化方式4.無符號整型和選擇規則(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
(1) 防止上溢或下溢5.整型字面值(2) 為節約記憶體,用 short;為提高可移植性,用 long。
程式一:
//
// 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 特性,所以要確保編譯器支援這些特性 本人使用 ...