《C primer 讀書筆記》 常量與變數

2021-09-12 23:06:05 字數 1737 閱讀 2534

c++預定義數值資料型別:(用來表示整數、浮點數和單個字元)

字元型 char 通常用來表示單個字元和小整數,它可以用乙個機器位元組來表示。

整型 int、 短整型 short 、長整型 long,它們分別代表不同長度的整數值。典型情況下,short 以半個字表示,int 以乙個機器字表, 而 long 為乙個或兩個機器字 。(在32 位機器中 int 和 long 通常長度相同)

浮點型 float、雙精度 double 和長雙精度 long double 分別表示單精度浮點數、雙精度浮點數和擴充套件精度的浮點數值。典型情況下,float 為乙個字,double 是兩個字,long double 為三個或四個字。

前兩類被稱為整值型別,可以有符號也可以無符號。

文字:只能以它的值的形式指代它      常量:值不能被改變。

每個文字都有相應的型別。文字常量是不可定址的。

當乙個數值出現在程式中時,它被稱為文字常量。

在預設情況下,整型文字常量被當作是乙個int 型的有符號值 ,浮點型文字常量在預設情況下被認為是double 型 。可以在文字常量後面加乙個 l 或 l (字母 l 的大寫形式或者小寫形式)將其指定為 long 型別(一般情況下 我們應該避免使用小寫字母 ,因為它很容易被誤當作數字 1 );在整型文字常量的後面加上 u 或 u 將其指定為乙個無符號數 。單精度文字常量由值後面的 f 或 f 來標示。擴充套件精度中值後面跟的 l 或 l 來指示 。

在整型文字常量前面加乙個 0,該值將被解釋成乙個八進位制數。而在前面加乙個 0x 或 0x則會使乙個整型文字常量被解釋十六進製制數 。

單詞 true 和 false 是 bool 型的文字常量。

可列印的文字字元常量可以寫成用單引號括起來的形式 。

一部分不可列印的字元、單引號、雙引號以及反斜槓可以轉義序列來表示。(以反斜槓開頭)

字元文字前面可以加 l,例如l'a',稱為寬字元文字,型別為 wchar_t 。寬字元常量用來支援某些語言的字元集合,如漢語、日語,這些語言中的某些字元不能用單個字元來表示。

字串文字的型別是常量字元陣列,它由字串文字本身以及編譯器加上的表示結束的空 null 字元構成 。

如果兩個字串或寬字串在程式中相鄰,c++就會把它們連線在一起,並在最後加上乙個空字元 。

變數提供了乙個有名字的記憶體儲存區,可以通過程式對其進行讀、寫和處理。c++中的每個符號變數都與乙個特定的資料型別相關聯,這個型別決定了相關記憶體的大小、布局、能夠儲存在該記憶體區的值的範圍以及可以應用其上的操作集。我們也可以把變數說成物件。

變數是可定址的。

如果乙個變數是在全域性域內定義的,那麼系統會保證給它提供初始值 0 。如果變數是在區域性域內定義的,或是通過 new 表示式動態分配的,則系統不會向它提供初始值 0, 這些物件被稱為是未初始化的。未初始化的物件不是沒有值,而是它的值是未定義的。

c++支援兩種形式的初始化 

//使用賦值操作符的顯式語法形式

int ival=1024;

//隱式形式,初時只被放在括號中

int inval(1024);

//每種內建資料型別都支援一種特殊的建構函式語法 可將物件初始化為 0

int ival=int(); //ival=0

double dval=double(); //double=0.0

C primer 讀書筆記

第2 章 變數和基本型別 1 變數直接初始化和變數 複製初始化 int ival 1024 direct initialization int ival 1024 copy initialization 初始化不是賦值 2 內建型別復 制初始化和直接初始化幾乎沒有區別 但 對類型別物件來 說,有些初...

C Primer讀書筆記

前些日子開始看 c primer 順便做一些筆記,既有書上的,也有自己理解的。因為剛學c 不久,筆下難免有謬誤之處,行文更是凌亂 所幸不是用來顯配的東西,發在linuxsir只是為了方便自己閱讀記憶,以防只顧上網忘了正事。書看了不到一半,所以大約才寫了一半,慢慢補充。const要注意的問題 1 下面...

C Primer讀書筆記

前些日子開始看 c primer 順便做一些筆記,既有書上的,也有自己理解的。因為剛學c 不久,筆下難免有謬誤之處,行文更是凌亂 所幸不是用來顯配的東西,發在linuxsir只是為了方便自己閱讀記憶,以防只顧上網忘了正事。書看了不到一半,所以大約才寫了一半,慢慢補充。const要注意的問題 1 下面...