C Primer 02 變數和基本型別

2021-06-18 06:00:14 字數 2828 閱讀 4326

1. c++算術型別

2. 整型

一般,short 為半個機器字長,int為乙個,long為乙個或兩個。

c++中將負數賦值給unsigned型別的值,是合法的,值為求模後的值。

eg, -1賦值給unsigned char,得 -1對256求模,等於255。

3. 浮點型

float 型別 6位有效數字,double 型別10位有效數字。

一般來講,整型用 int 不易出錯,浮點型用double比較好。

4. 字面值常量

可通過增加字尾,強制轉換型別。

整型字面值    u(unsigned)   ul或 lu(unsigned long)       l(long)   

浮點      f 或 f(float) 不加為double型別    l(擴充套件精度型別)

5. 非列印字元的轉義序列

或者  「\」 + "ascii"

eg:  \7 響鈴      \12  換行

6. 字串字面值

「a」---普通,l「a」--寬字串字面值,長度為普通的2倍

他們的連線可以:兩個相鄰的僅由空格、製表符或換行符分開的字串字面值,可連線為乙個新的字串字面值。

cout << "this is a "

"test"

"connect string"

<

std::c\

out<

"<

右值:只能出現在賦值語句的右邊。

9.什麼是物件?

物件是記憶體中具有型別的區域。

10. 內建型別的初始化

在函式體外部定義的變數都預設初始化,函式體內部定義的內建型別都不初始化。

11. 定義和宣告

定義,為變數分配儲存空間,還也可賦初值。

宣告,向程式表明變數型別和名稱,並沒有分配儲存空間。

extern int i; //宣告,沒有分配儲存空間

int i; //宣告和定義,分配儲存空間

只有當extern宣告位於函式外部時,才可以含有初始化式。此時為分配儲存空間。

在任何多個檔案中使用的變數都需要有與定義分離的宣告。在這種情況下,乙個檔案含有變數的定義,使用該變數的其他檔案則包含該變數的宣告(而不是定義)。

12. const 物件定義時必須初始化。

13. 變數的作用域

非const變數

int counter;

extern int counter; //宣告別的檔案定義的變數,則該檔案可使用

counter++; //使用的是file1.cc中的變數。

const變數

extern const int counter = fcn();  //一定要有extern,若沒有的話,其他檔案無法使用該const變數。

extern const int counter;

for(int i=0; i

引用就是物件的另乙個名字。

引用必須用與該引用同型別的物件初始化。(定義時必須初始化),初始化後,不能更改,不能再將引用指向另外的物件。

引用只是別名,對引用的操作,即是對他執行物件的操作。

const引用,是指向const物件的引用。

非const引用只能繫結到與該引用同型別的物件。

const引用則可以繫結到不同但相關型別的物件或繫結到右值。

int &ival = 42; //error

const int &ival = 42; //ok

15. typedef

用來定義型別的同義詞

typedef int wages;    //之後,用wages表示int型別

16. 列舉

enum points; //列舉型別值可以不是唯一的,可以有兩個3

//列舉賦初值時必須是常量表示式,且不可更改

points pt3d = 3;   //error

points pt3d = point3d; //ok

points pt3d = polygon; //error,不同型別

points pt2w = pt3d; //ok,同型別值

17. 類型別

class name  //class定義的類型別,在標號之前,預設為private屬性

{}; //注意,以「;」結尾

struct name

{}; //struct定義的類型別,標號之前,預設為public屬性

18. 定義自己的標頭檔案

標頭檔案用於宣告而不是定義,因為定義只能出現一次。

extern int val = 10; // 雖有extern,但初始化了,所以為定義

int val ; //沒有extern,為定義。

19. 避免多重包含

使用預處理器定義標頭檔案保護符

#ifndef saleitems_h

#define saleitems_h

.......

#endif

C primer 變數和基本型別

1.當明知曉數值不可能為負時,選用無符號型別 2.如果數值超過了int的表示範圍,選用long long 3.執行浮點數運算選用double 4.初始化不是賦值,初始化的含義是建立變數時賦予其乙個初始值,而賦值的含義是把物件的當前值擦除,而以乙個新值來替代 5.內建型別的變數未被顯示初始化時,定義於...

變數和基本型別 C Primer學習筆記

1.linux下檢視main函式返回值 echo 2.endl是乙個特殊值,稱為操縱符 mainpulator 具有換行和重新整理與裝置相關緩衝區的作用。3.注釋對不可巢狀。4.可以用std cin value 讀取未知數目的輸入。windows使用control z作為結束符,linux使用con...

c primer之變數與基本型別

如果表示式裡既有帶符號型別又有無符號型別,當帶符號型別取值為負時會出現異常結果。因為帶符號數會自動轉換成無符號數。unsigned u 10 int i 42 std cout endl 輸出 84 std cout endl 如果int佔32位,輸出4294967264引用與指標 引用並非物件,引...