C語言基礎

c語言的編譯連接過程:算法

test.cpp/test.c  文件先通過預編譯造成  test.i  文件,再通過編譯造成  test.obj  目標文件,且  .cpp  /  .c  /  .i  / .obj   文件都是文本文件,是不能夠執行的,函數

只有 .obj 文件通過連接才能夠造成.exe可執行文件.spa

 

一個C語言源文件能夠由多個源程序組成,可是只能有一個main函數  ;  在程序中每個說明語句都需以 結尾 ,blog

標識符,關鍵詞之間須要用空格隔開;內存

 

c語言是一個類型爲王的語言,類型對於c語言很重要,it

c語言的常見類型及所佔字節=>(內存由一個個存儲單元組成,一個存儲單元有8個二進制位即8個比特位構成,也稱爲一個字節)個數有:編譯

1丶整型.........char(1)  / short int(2)  /  int(4)   /  long int(4)   /  long long(8)test

2丶浮點型.......float(4)    /   double(8)      /  long double(8/12/16...因系統而定)二進制

3丶布爾型.......bool(1)float

4丶無定義型......void

 

進制轉換:

十進制轉二進制:    貪心算法:

例如 113轉二進制數:  0111 0001

113 < 128 因此填零, 113 >64 因此填1 ,此時要用113 - 64 = 49,依次類推下去就能夠將113 拆分爲 2的次冪 的和的形式,就能夠很輕鬆寫出113 的 二進制形式.

二進制轉八進制:    取三合一法:

例如:  0111 0001  (113)  =>   161 (1*8^2 + 6* 8^1 + 1 * 8^0 = 113) 

三個二進制位所表示的範圍爲 0 - 7,而八進制是滿8進一,即一個八進制位表示的範圍也是0-7,所以咱們對於整數部分(即小數點左邊的部分)能夠從左向右三位合成一位進行計算,

位數不足的在最二進制數的最右側補零(不影響二進制數所表示的結果),就能夠獲得該二進制所對應的八進制數.

二進制轉十六進制:    取四合一法:

方法同二進制轉八進制.

 

寄存器                                            總的就是eaxeax: 32bit;                      I___________I__ah__I__al__Iax : 16bit;                                               eax 低地址部分=> axah :  高8bit位;al  :  低8bit位;

相關文章
相關標籤/搜索