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倍
他們的連線可以:兩個相鄰的僅由空格、製表符或換行符分開的字串字面值,可連線為乙個新的字串字面值。
只有當extern宣告位於函式外部時,才可以含有初始化式。此時為分配儲存空間。cout << "this is a "
"test"
"connect string"
<
std::c\
out<
"<
右值:只能出現在賦值語句的右邊。
9.什麼是物件?
物件是記憶體中具有型別的區域。
10. 內建型別的初始化
在函式體外部定義的變數都預設初始化,函式體內部定義的內建型別都不初始化。
11. 定義和宣告
定義,為變數分配儲存空間,還也可賦初值。
宣告,向程式表明變數型別和名稱,並沒有分配儲存空間。
extern int i; //宣告,沒有分配儲存空間
int i; //宣告和定義,分配儲存空間
在任何多個檔案中使用的變數都需要有與定義分離的宣告。在這種情況下,乙個檔案含有變數的定義,使用該變數的其他檔案則包含該變數的宣告(而不是定義)。
12. const 物件定義時必須初始化。
13. 變數的作用域
非const變數
const變數int counter;
extern int counter; //宣告別的檔案定義的變數,則該檔案可使用
counter++; //使用的是file1.cc中的變數。
15. typedefextern 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
用來定義型別的同義詞
typedef int wages; //之後,用wages表示int型別
16. 列舉
enum points; //列舉型別值可以不是唯一的,可以有兩個3
//列舉賦初值時必須是常量表示式,且不可更改
17. 類型別points pt3d = 3; //error
points pt3d = point3d; //ok
points pt3d = polygon; //error,不同型別
points pt2w = pt3d; //ok,同型別值
class name //class定義的類型別,在標號之前,預設為private屬性
{}; //注意,以「;」結尾
18. 定義自己的標頭檔案struct name
{}; //struct定義的類型別,標號之前,預設為public屬性
標頭檔案用於宣告而不是定義,因為定義只能出現一次。
19. 避免多重包含extern int val = 10; // 雖有extern,但初始化了,所以為定義
int val ; //沒有extern,為定義。
使用預處理器定義標頭檔案保護符
#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引用與指標 引用並非物件,引...