99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

C語言?格式字符、整型、字符型、浮點型詳解-創新互聯

1、格式字符? ????????格式字符是由“%”和字符組成,其作用是將輸出的數據轉化為指定的格式輸出。 ????????格式字符表如下:
%d/%i有符號的十進制整數,i 是老式寫法
%u無符號十進制整數
%c字符
%s字符串
%f單精度浮點數
%lf雙精度浮點數(lf 在 C99 開始加入標準,意思和 f 相同)
%p以 16 進制形式輸出指針
%o無符號 8 進制整數
%n到此字符之前為止,一共輸出的字符個數,不輸出文本
%%不進行轉換,輸出字符“ % ”(百分號)本身
%x無符號 16 進制整數
%e(%E)浮點數指數輸出[ e-(E-)]記數法]

創新互聯服務項目包括樊城網站建設、樊城網站制作、樊城網頁制作以及樊城網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,樊城網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到樊城省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!2、整型

整型數據,英文單詞是Integer,比如-2、-1、0、1、2、1234、等等都是整形數據。整型數據是不允許出現小數點和其他特殊符號的數據。

整型數據共分為7類,如下圖:

? 其中短整型、整型、和長整型為有符號數據類型。

2.1 取值范圍

? 在我們使用不同的數據類型時,需要注意的是不要讓數據超出范圍,否則就會造成常說的數據溢出。

類型說明字節范圍
整型int4-2147483648~2147483647
短整型short (int)2-32768~32767
長整型long(int)4-2147483648-2147483647
無符號整型unsign(int)40-4294967295
無符號短整型unsigned short (int)20-65535
無符號長整型unsigned long (int)40-4294967295
字符型char10-255
2.2 有符號和無符號

int類型在內存中占用了4個字節,也就是 32位。因為 int 類型是有符號的,所以這32 位并不是全部用來存儲數據的,使用其中的 1 位來存儲符號,使用其他的 31 位來存儲數值。為了簡單起見,下面用一個字節 8 位來說明。

對于有符號整數,以最高位(左邊第 1位)作為符號位,最高位是 0,表示的數據是正數,最高位是 1,表示的數據是負數。

整型 10 二進制形式:

00001010

整型-10二進制形式:

10001010

對于無符號整數,因為表述的都是非負數,因此一個字節中的8位全部用來存儲數據,不再設置符號位。

整型 10 二進制形式:

00001010

整數138二進制形式:

10001010
2.3 類型間轉換

不同類型的整型數據所占的字節數不同,在相互轉換時就需要格外留心,不要將過大的數據放在過小的數據類型中。在把所占字節較大的數據賦值給占字節較小的數據時,應防止出現以下的情況。

#includeint main()
{
    int a=2147483648;
    printf("%d",a);
    return 0;
}

這樣賦值后,輸出變量a的值并非預期的2147483648,而是-2147483648,原因是2147483648超出了int 類型能夠裝載的大值,數據產生了溢出。但是換一種輸出格式控制符,如下:

#includeint main()
{
    int a=2147483648;
    printf("%u",a);
    return 0;
}

輸出的結果就是變量 a 的值,原因是%u 是按照無符號整型輸出的數據,而無符號整型的數據范圍上限大于2147483648 這個值。

例如:

#includeint main()
{
    unsigned short a = 256;
    char b = a;
    printf("%d",b);
    return 0;
}

這樣賦值后,輸出變量b的值并非預期的 256,而是0,原因是256 超出了 char 類型能夠裝載的大值,b只截取了a的低8位的數據,如下:

當把所占字節較小的數據賦值給占字節較大的數據時,可能出現以下兩種情況。第1種情況,當字節較大數是無符號數時,轉換時新擴充的位被填充成0。

例如:

#includeint main()
{
    char b = 10;
    unsigned short a = b;
    printf("%u",a);
    return 0;
}

這樣賦值后,變量a中輸出的值是 10,原因如下:

第 2種情況,當字節較大數是有符號數時,轉換時新擴充的位被填充成符號位。

例如:

#includeint main()
{
    char b = 255;
    short a = b;
    printf("%d",a);
    return 0;
}

這樣賦值后,變量a輸出的值是-1,變量a擴充的高8 位,根據變量b的最高位1 都被填充成了1,所以數值由正數變成了負數,因為變量a 的最高位符號位是1。至于為什么16個1表示的是-1,涉及到二進制數的原碼和補碼問題,這里我們先不深究。轉換圖示如下:

3、字符型

字符型是整型數據中的一種,它存儲的是單個的字符,存儲方式是按照 ASCII碼(American
Standard Code for Information Interchange,美國信息交換標準碼)的編碼方式,每個字符占一個字節、8位(bit)(關于ASCII碼,可查閱C語言書籍ASCll表的相關內容)。

字符使用單引號“ '?”引起來,與變量和其他數據類型相區別,比如'A','5','m','&'等。

又比如有這樣4個字符:'H','e','l','o',它們在內存中存儲的形式如下所示。

01001000011001010110110001101111
Helo
#includeint main()
{
    char c = 'A';
    printf("%c,%u",c,c);
    return 0;
}

輸出結果是:A,65。

此處的65是字符'A'的ASCII碼。

因為字符是以ACSII碼形式存儲的,所以字符 A 和整數65是可以相互轉換的。

在字符的家族中,控制符是無法通過正常的字符形式表示的,比如常用的回車、換行、退格等,而需要使用特殊的字符形式來表示,這種特殊字符稱為轉義符。

轉義符說明ASCll
換行,移動到下一行首00001010
\t水平制表鍵,移動到下一個制表符位置00001001
\b退格,向前退一格00001000
\r回車,移動到當前行行首00001101
\a報警00000111
\?輸出問號00111111
\’輸出單引號00100111
\”輸出雙引號00100010
\ooo八進制方式輸出字符,o表示八進制數
\xhhh十六進制方式輸出字符,h表示十六進制數
\0空字符000000
4、浮點型

C語言中除了整型外的另外一種數據類型就是浮點型,浮點型可以表示有小數部分的數據。浮點型包含 3 種數據類型,分別是單精度的 floa t類型、雙精度的 double 類型和長雙精度 long double 類型。

浮點型數據的所占字節、位數、有效數字和取值范圍如表所示:

類型字節位數有效數字取值范圍
float4326~7-1.4e-45~3.4e38
double86415~16-4.9e-324~1.8e308
long?double812818~19————

?浮點型數據精度高占據的存儲空間大。

????浮點型數據在計算機內存中的存儲方式與整型數據不同,浮點型數據是按照指數形式存儲的。系統把一個浮點型數據分成小數部分和指數部分,分別存放。指數部分采用規范化的指數形式。根據浮點型的表現形式不同,我們還可以把浮點型分為小數形式和指數形式兩種。

指數形式如下所示('e'或者'E'都可以):


2.0e3??????????????????????表示2000.0
1.23e-2????????????????????表示0.0123
123e2??????????????????????表示12.3
1.e-3????????????????????????表示0.001


對于指數形式,有以下兩點要求:
(1)字母e前面必須要有數字;
(2) 字母 e的后面必須是整數。

注 意:浮點數是有有效位數要求的,所以要比較兩個浮點數是否相等,比較這兩個浮點數的差值是不是在給定的范圍內即可。

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

當前文章:C語言?格式字符、整型、字符型、浮點型詳解-創新互聯
路徑分享:http://www.yijiale78.com/article36/ceedpg.html

成都網站建設公司_創新互聯,為您提供全網營銷推廣軟件開發移動網站建設外貿建站App開發網頁設計公司

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設