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位;