C語言資料型別列印對應的佔位符

2021-06-28 17:35:18 字數 3521 閱讀 1365

佔位符列表

char                          %c和%hhd

unsigned char                 %c和%hhu

%c對應字元身份,%hhd和%hhu對應數字身份

short                         %hd

unsigned short                %hu

long                          %ld

unsigned long                 %lu

int                           %d

unsigned int                  %u

float                         %f和%g

double                        %lf和%lg

%f和%lf保留小數點後無效的0,%g和%lg不保留

小數點後無效的0

%nd也可以作為佔位符列印整數數字,n是

乙個整數。列印結果一定佔n個位置,

空位置補充空格字元

%-nd列印結果也佔n個位置,空位置出現在

右邊%0nd列印結果也佔n個位置,空位置用字元

『0』填充

%n.mf可以用來列印浮點數,列印結果中整個

數字佔n個位置,小數點後面佔m個位置

計算機記憶體包含大量的位元組,每個位元組可以

單獨使用

在必要的時候可以把相鄰的幾個位元組合併成

乙個更大的儲存位置來使用

不同資料型別的區別就體現在它們的儲存位置

所包含的位元組個數不同上

每個位元組有自己的位址,儲存位置的位址是

它所包含的位元組中位址最小的那個位元組

的位址記憶體中位址從0開始

sizeof關鍵字可以用來計算某個資料型別或

變數所佔的位元組個數

char(unsigned char)         1個位元組

short(unsigned short)       2個位元組

int(unsigned int)           4個位元組

long(unsigned long)         4個位元組

float                       4個位元組

double                      8個位元組

sizeof關鍵字中如果對儲存位置內容作了

修改則這種修改不會真正發生

計算機中採用二進位制方式表示數字

二進位制表示方式中每個數字上或者是0或者

是1乙個位元組分成8個位(bit),每個位可以

用來儲存乙個0或者1.

乙個數字的二進位制表示方式非常適合儲存

在位元組中

十進位制和二進位制只是表示數字的兩種不同的

方法二進位制表示方式轉換成十進位制表示方式的方法

二進位制數字中每個數字有乙個編號,最

右邊的數字編號是0,向左依次遞增

每個數字上的1轉換成十進位制後的結果是

2的數字次方

把二進位制表示方式中每個1單獨轉換,然後

把轉換結果求和

二進位制表示方式中兩個相鄰的1之間有倍數關係,

左邊的1是右邊1的兩倍

0111 0101 = 2^6 + 2^5 + 2^4 + 2^2 + 2^0

= 64 + 32 + 16 + 4 + 1

= 117

十進位制表示方式轉二進位制表示方式的方法

1.把十進位制數字拆分成多個2的整數次方

之和,把每個拆分結果單獨轉換

成二進位制,最後把所有轉換結果

合併。85 = 64 + 16 + 4 + 1

= 2^6 + 2^4 + 2^2 + 2^0

= 0100 0000 + 0001 0000

+ 0000 0100 + 0000 0001

= 0101 0101

2.把十進位制數字不停除以2,然後把

所有餘數倒著寫。

103        **** ***1

51        0*** ***1

25        00** ***1

12        000* ***0

6        0000 ***0

3        0000 0**1

1        0000 00*1

0        0000 0000

結果是0110 0111

使用上述兩種辦法轉換得到的二進位制表示

形式叫做原碼

計算機中實際儲存的二進位制表示形式是補碼

所有非負數的原碼就是補碼

把二進位制表示形式中從右向左每三個數字分成

一組,每組用乙個0到7之間的數字代替。

這樣轉換後得到的叫做數字的八進位制表示

形式。八進位制可以看成是二進位制的簡寫形式

二進位制                       八進位制

0101 1110    01 011 110      136

程式中可以直接用八進位制方式表示數字,必須

在前邊加0

使用%o做佔位符可以把整數的八進位制表示形式

列印在螢幕上

把二進位制中從右向左每四個數字分成一組,每組

用乙個數字代替得到的結果就是數字的

十六進製制表示方式

用英文本母'a'到'f'('a'到'f')表示每組中

10到15這六個不同的數字

任何位元組的內容可以用兩個十六進製制數字表示

二進位制              十六進製制

0101 1110           5e

可以在程式中直接使用十六進製制方式表示數字,

必須在前邊加上0x

使用%x或%x做佔位符可以把數字的十六進製制

表示形式列印在螢幕上

%x列印的英文本母都是小寫的,%x列印的

都是大寫的

二進位制中沒有正負號

二進位制加一的計算規則是把從右向左多個連續

的1變成0,把第乙個遇到的0變成1.

負數的二進位制可以根據相反正數的二進位制

按位求反後加一得到

用以上方式計算得到的就是二進位制補碼,可以

直接記錄在位元組中

可以採用以上辦法根據任何整數的二進位制補碼

計算相反數的二進位制補碼

每個有符號資料型別中最左邊數字是1其他數

位是0代表的是這個資料型別中最小的負數

有符號型別二進位制補碼的最高位叫做符號位,

可以根據它計算出資料的符號。符號位

是0表示非負數,符號位是1表示負數。

整數型別之間互相賦值時會保留二進位制樣式

不變,有可能導致十進位制結果發生變化。

有符號資料擴充時在前面補符號位

加減乘除和取餘操作符(+,-,*,/,%)

,也是乙個操作符

,操作符可以把兩個表示式合併成乙個

合併後表示式的計算結果是後乙個表示式

的結果,操作符的優先順序比賦值操作符低

一條語句中可以多次使用賦值操作符,這時

優先計算右邊的賦值操作符

C語言資料型別的修飾符

概述 c語言操作物件是記憶體資源,對記憶體資源存放位置的限定 變數 在程式執行過程中其數值可以改變的資料 定義的一般形式 儲存型別 資料型別變數名 儲存型別 決定了變數的儲存位置 資料型別 決定了變數的儲存大小 1 auto自動變數,位於普通記憶體,可讀可寫區域。預設情況下使用的是auto,如果變數...

C 資料型別與C 對應關係

正在做東進語音卡程式的開發,人家不預備c 的sdk,只好自己寫,pinvoke,其中用到了很多轉換,這裡 乙個先 c 輸入輸出 c c 輸入輸出 c char chr 255 o stringbuilder kca dir i int lpcstr i string int i int lpstr ...

C 資料型別與C 對應關係

2012 04 13 16 13 44 分類 技術文件 字型大小 訂閱 c 輸入輸出 c char chr 255 o stringbuilder kca dir i int lpcstr i string int i int lpstr o stringbuilder int o out int ...