printf格式輸出代碼大全_第1頁
printf格式輸出代碼大全_第2頁
printf格式輸出代碼大全_第3頁
printf格式輸出代碼大全_第4頁
printf格式輸出代碼大全_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、d, lx , ld , lu ,這幾個都是輸出 32 位的 hd, hx, hu,這幾個都是輸出16位數(shù)據(jù)的, hhd, hhx, hhu,這幾個都是輸出8位的,lld , ll , llu , llx ,這幾個都是輸出 64 位的,printf ( "%llu ",)%llu 是 64 位無符號%llx 才是 64位 16進制數(shù)Dev-C+F基本數(shù)據(jù)類型學(xué)習(xí)小結(jié)環(huán)境 : Dev-C+ 4.9.6.0 (gcc/mingw32), 使用 -Wall 編譯選項基本類型包括字節(jié)型( char )、整型( int )和浮點型( float/double )。定義基本類型變量時,

2、可以使用符號屬性signed、unsigned (對于char、int ),和長度屬性short 、 long (對于 int 、 double )對變量的取值區(qū)間和精度進行說明。下面列舉了 Dev-C+F基本類型所占位數(shù)和取值范圍:符號屬性長度屬性基本型所占位數(shù)取值范圍輸入符舉例輸出符舉例-2A7-1-2A7 %c%c、char%d、 %u8signed-2A7- 2A7-1char %c8%c、 %d、 %uunsigned-0 2A8-1char %c8%c、 %d、%usigned-2A15 2A15-1shortint16%hdunsigned0 2A16-1shortint%hu、

3、16%ho、 %hxsigned-2A31 -2A31-1int%d32unsigned0 2A32-1int32%u、 %o、 %xsignedlong-2A31 2A31-1int32%ldunsigned0 2A32-1longint32%lu 、 %lo、 %lxsigned long 2A63-1longint64%I64d-2A63 unsigned long 2A64-1longint64%I64u 、 %I64o、0 %I64x+/- 3.40282e+038float%f 、 %e、 %g-double+/- 1.79769e+308 %lf 、 %le、 %lg %f 、

4、%e、 %glong+/- 1.79769e+308double%Lf 、 %Le、 %Lg326496幾點說明:1. 注意 ! 表中的每一行,代表一種基本類型。 “ ” 代表可省略。例如: char、 signed char 、 unsigned char 是三種互不相同的類型;int 、 short 、 long 也是三種互不相同的類型??梢允褂肅+勺函數(shù)重載特性進行驗證,如:void Func(char ch) void Func(signed char ch) void Func(unsigned char ch) 是三個不同的函數(shù)。2. char/signed char/unsign

5、ed char 型數(shù)據(jù)長度為 1 字節(jié);char 為有符號型,但與signed char 是不同的類型。注意 ! 并不是所有編譯器都這樣處理, char 型數(shù)據(jù)長度不一定為 1 字節(jié), char 也不一定為有符號型。3. 將 char/signed char 轉(zhuǎn)換為 int 時,會對最高符號位1 進行擴展,從而造成運算問題。所以 , 如果要處理的數(shù)據(jù)中存在字節(jié)值大于127 的情況,使用 unsigned char 較為妥當(dāng)。程序中若涉及位運算,也應(yīng)該使用 unsigned 型變量。4. char/signed char/unsigned char 輸出時,使用格式符 c (按字符方式);或使用

6、d %u %x/%X %o按整數(shù)方式輸出;輸入時,應(yīng)使用c若使用整數(shù)方式,Dev-C+訟給出警告,不建議這樣使用。5. int 的長度,是16位還是 32位,與編譯器字長有關(guān)。16位編譯器(如TC使用的編譯器)下,int為16位;32位編譯器(如VC使用的編譯器 cl.exe )下, int 為 32位。6. 整型數(shù)據(jù)可以使用%d (有符號10進制)、o (無符號8進制)或乂/%*(無 符號 16 進制)方式輸入輸出。而格式符U表示unsigned ,即無符號10進制方式。7. 整型前綴 h 表示 short , l 表示 long 。輸入輸出short/unsigned short時,不建議

7、直接使用int的格式符d/%u,要加前綴 h。這個習(xí)慣性錯誤,來源于TG TC下,int的長度和默認符號屬性,都與 short 一致,于是就把這兩種類型當(dāng)成是相同的,都用 int 方式進行輸入輸出。8. 關(guān)于 long long 類型的輸入輸出:"%lld" 和 "%llu" 是 linux 下 gcc/g+ 用于 long long int 類型 (64 bits) 輸入輸出的格式符。而"I64d"和"I64u"則是Microsoft VC+炸里用于4U入輸出_int64類型的格式 說明。Dev-C+蝕用的編譯器

8、是 Mingw32, Mingw32是x86-win32 gcc子項目之一,編譯器核心還是linux 下的 gcc 。進行函數(shù)參數(shù)類型檢查的是在編譯階段, gcc 編譯器對格式字符串進行檢查,顯然它不認得"%I64d" ,所以將給出警告 “unknown conversion type character 'I' in format“ 。對于"lld"和"llu" , gcc 理所當(dāng)然地接受了。Mingw32在編譯期間使用gcc的規(guī)則檢查語法,在連接和運行時使用的卻是Microsoft 庫。這個庫里的printf 和s

9、canf函數(shù)當(dāng)然不認識linux gcc 下"lld"和"llu",但 對"I64d"和"I64u",它則是樂意接受,并能正常工作的。9. 浮點型數(shù)據(jù)輸入時可使用f、e/%限g/%G scanf會根據(jù)輸入數(shù)據(jù)形式, 自動處理。輸出時可使用f (普通方式)、e/%E(指數(shù)方式)或g/%G(自動選擇)。10. 浮點參數(shù)壓棧的規(guī)則: float(4 字節(jié) ) 類型擴展成double(8 字節(jié) ) 入棧。所以在輸入時,需要區(qū)分float(%f) 與 double(%lf) ,而在輸出時,用 %f 即可。printf 函數(shù)將按照 double 型的規(guī)則對壓入堆棧的 float( 已擴展成 double) 和double 型數(shù)據(jù)進行輸出。如果在輸出時指定%lf 格式符, gcc/mingw32 編譯器將給出一個警告。11. Dev-C+(gcc/mingw32) 可以選擇 float 的長度,是否與double 一致。12. 前綴 L 表示 long ( dou

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論