




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言里printf函數(shù)格式控制符的完整格式類別:技術(shù)文章來(lái)源:未知作者:未知關(guān)鍵字:printf加入日期:2009-10-16C語(yǔ)言里printf函數(shù)格式控制符的完整格式printf的格式控制的完整格式:%-0m.nl或h格式字符下面對(duì)組成格式說(shuō)明的各項(xiàng)加以說(shuō)明::表示格式說(shuō)明的起始符號(hào),不可缺少。-:有-表示左對(duì)齊輸出,如省略表示右對(duì)齊輸出。0:有0表示指定空位填0,如省略表示指定空位不填。m.n:m指域?qū)挘磳?duì)應(yīng)的輸出項(xiàng)在輸出設(shè)備上所占的字符數(shù)。N指精度。用于說(shuō)明輸出的實(shí)型數(shù)的小數(shù)位數(shù)。為指定n時(shí),隱含的精度為n=6位。l或h:l對(duì)整型指long型,對(duì)實(shí)型指double型。h用于將整型的
2、格式字符修正為short型。格式字符格式字符用以指定輸出項(xiàng)的數(shù)據(jù)類型和輸出格式。d格式:用來(lái)輸出十進(jìn)制整數(shù)。有以下幾種用法:%d:按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出。%md:m為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格,若大于m,則按實(shí)際位數(shù)輸出。%ld:輸出長(zhǎng)整型數(shù)據(jù)。o格式:以無(wú)符號(hào)八進(jìn)制形式輸出整數(shù)。對(duì)長(zhǎng)整型可以用"lo”格式輸出。同樣也可以指定字段寬度用"mo#式輸出。例:main()inta=-1;printf("%d,%o",a,a);運(yùn)行結(jié)果:-1,177777程序解析:-1在內(nèi)存單元中(以補(bǔ)碼形式存放)為(111111111111
3、1111)2,轉(zhuǎn)換為八進(jìn)制數(shù)為(177777)8。x格式:以無(wú)符號(hào)十六進(jìn)制形式輸出整數(shù)。對(duì)長(zhǎng)整型可以用"lx”格式輸出。同樣也可以指定字段寬度用"%mx"格式輸出。u格式:以無(wú)符號(hào)十進(jìn)制形式輸出整數(shù)。對(duì)長(zhǎng)整型可以用"lu”格式輸出。同樣也可以指定字段寬度用"mU#式輸出。c格式:輸出一個(gè)字符。s格式:用來(lái)輸出一個(gè)串。有幾中用法%s:區(qū)J如:printf("%s","CHINA")輸出"CHINA"字符串(不包括雙引號(hào))。%ms:輸出的字符串占m歹U,如字符串本身長(zhǎng)度大于m,則突破獲m的
4、限制,將字符串全部輸出。若串長(zhǎng)小于m,則左補(bǔ)空格。%-ms:如果串長(zhǎng)小于m,則在m列范圍內(nèi),字符串向左靠,右補(bǔ)空格。%m.ns:輸出占m歹U,但只取字符串中左端n個(gè)字符。這n個(gè)字符輸出在m列的右側(cè),左補(bǔ)空格。%-m.ns:其中m、n含義同上,n個(gè)字符輸出在m列范圍的左側(cè),右補(bǔ)空格。如果n>m,則自動(dòng)取n值,即保證n個(gè)字符正常輸出。f格式:用來(lái)輸出實(shí)數(shù)(包括單、雙精度),以小數(shù)形式輸出。有以下幾種用法:%f:不指定寬度,整數(shù)部分全部輸出并輸出6位小數(shù)。%m.nf:輸出共占m列,其中有n位小數(shù),如數(shù)值寬度小于m左端補(bǔ)空格。%-m.nf:輸出共占n列,其中有n位小數(shù),如數(shù)值寬度小于m右端補(bǔ)空格
5、。e格式:以指數(shù)形式輸出實(shí)數(shù)??捎靡韵滦问剑?e:數(shù)字部分(又稱尾數(shù))輸出6位小數(shù),指數(shù)部分占5位或4位。%m.ne和-m.ne:m、n和"-"字符含義與前相同。此處n指數(shù)據(jù)的數(shù)字部分的小數(shù)位數(shù),m表示整個(gè)輸出數(shù)據(jù)所占的寬度。g格式:自動(dòng)選f格式或e格式中較短的一種輸出,且不輸出無(wú)意義的零。關(guān)于printf函數(shù)的進(jìn)一步說(shuō)明:如果想輸出字符"%",則應(yīng)該在“格式控制”字符串中用連續(xù)兩個(gè)%表示,如:printf("%f%",1.0/3);輸出0.333333%。對(duì)于單精度數(shù),使用%f格式符輸出時(shí),僅前7位是有效數(shù)字,小數(shù)6位對(duì)于雙精度數(shù),
6、使用%lf格式符輸出時(shí),前16位是有效數(shù)字,小數(shù)6位拾遺由高手指點(diǎn)對(duì)于m.n的格式還可以用如下方法表示(例)charch20;printf("%*.*sn",m,n,ch);前邊的*定義的是總的寬度,后邊的定義的是輸出的個(gè)數(shù)。分別對(duì)應(yīng)外面的參數(shù)m和n。我想這種方法的好處是可以在語(yǔ)句之外對(duì)參數(shù)m和n賦值,從而控制輸出格式。今天(06.6.9)又看到一種輸出格式%n可以將所輸出字符串的長(zhǎng)度值賦紿一個(gè)變量,見(jiàn)下例:intslen;printf("helloworld%n",&slen);執(zhí)行后變量被賦值為11又查了一下,看到一篇文章(查看)說(shuō)這種格式輸
7、出已經(jīng)確認(rèn)為一個(gè)安全隱患,并且已禁用。再搜搜果然這種用法都被用來(lái)搞什么溢出、漏洞之類的,隨便找了一個(gè):格式化字符串攻擊筆記特別注意下*.*s這種用法C語(yǔ)舌輸入輸出格式符(2010-03-2321:42:04)轉(zhuǎn)載標(biāo)簽:雜談printf函數(shù)(格式輸出函數(shù))1 .一般格式printf(格式控制,輸出表列)例如:printf("i=%d,ch=%cn",i,ch);說(shuō)明:(1)格式控制”是用雙撇號(hào)括起來(lái)的字符串,也稱轉(zhuǎn)換控制字符串”,它包括兩種信息:格式說(shuō)明:由"%和格式字符組成,它的作用是將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出。普通字符,即需要原樣輸出的字符。2 )“輸出表
8、列”是需要輸出的一些數(shù)據(jù),可以是表達(dá)式(3)printf函數(shù)的一般形式可以表示為printf(參數(shù)1,參數(shù)2,參數(shù)n)功能是將參數(shù)2參數(shù)n按參數(shù)1給定的格式輸出2.格式字符(9種)(1)d(或i)格式符。用來(lái)輸出十進(jìn)制整數(shù),有以下幾種用法:d,按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出。md,m為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格,若大于m,則按實(shí)際位數(shù)輸出。%ld(%mld也可),輸出長(zhǎng)整型數(shù)據(jù)。例如:longa=123456;printf("%ld",a);2) o格式符,以八進(jìn)制數(shù)形式輸出整數(shù)。格式:%o,%mo,%lo,%mlo都可。3) )x(或X)格式符,
9、以十六進(jìn)制數(shù)形式輸出整數(shù)。格式:x,%mx,%lx,%mlx都可%u, %mu,%lu 都可。(4)u格式符,用來(lái)輸出unsigned型數(shù)據(jù),即無(wú)符號(hào)數(shù),以十進(jìn)制數(shù)形式輸出。格式:參見(jiàn):li4-3.c(5)c格式符,用來(lái)輸出一個(gè)字符。格式:%c,%mc都可。(6)s格式符,用來(lái)輸出一個(gè)字符串。格式:%s,%ms,%-ms,%m.ns,%-m.ns都可。參見(jiàn):li4-5.c(7) f格式符,用來(lái)輸出實(shí)數(shù)(包括單、雙精度),以小數(shù)形式輸出。格式:f,%m.nf,%-m.nf都可注意:?jiǎn)尉葘?shí)數(shù)的有效位數(shù)一般為7位,雙精度為16位。參見(jiàn):li4-6.cli4-7.cli4-8.c(8) e(或E)格
10、式符,以指數(shù)形式輸出實(shí)數(shù)。格式:e,%m.ne,%-m.ne都可。(9)g(或G)格式符,用來(lái)輸出實(shí)數(shù),它根據(jù)數(shù)值的大小,自動(dòng)選f格式或e格式(選擇輸出時(shí)占寬度較小的一種)。3.說(shuō)明(1)除了X、E、G(用大寫字母表示)外,其他格式字符必須用小寫字母;2)“格式控制”字符串內(nèi)可以包含轉(zhuǎn)義字符;3)如果想輸出字符“%”,則應(yīng)該在“格式控制”字符串中用連續(xù)兩個(gè)%表示,如:printf("%f%",1.0/3);(4)格式字符表參見(jiàn)下表表4.1printf格式字符格式字符說(shuō)明d,i以帶符號(hào)的十進(jìn)制形式輸出整數(shù)(正數(shù)不輸出符號(hào))o以八進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符0)x,X以
11、十六進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符0x),用x則輸出十六進(jìn)制數(shù)的af時(shí)以小寫形式輸出,用X時(shí),則以大寫字母輸出u以無(wú)符號(hào)十進(jìn)制形式輸出整數(shù)c以字符形式輸出,只輸出一個(gè)字符s輸出字符串f以小數(shù)形式輸出單、雙精度數(shù),隱含輸出6位小數(shù)e,E以指數(shù)形式輸出實(shí)數(shù)g,G選用f或e格式中輸出寬度較短的一種格式,不輸出無(wú)意義的0表4.2printf的附加格式說(shuō)明字符字符說(shuō)明字母l用于長(zhǎng)整型整數(shù),可加在格式符d、o、x、u前面m(代表一個(gè)正整數(shù))數(shù)據(jù)最小寬度n(代表一個(gè)正整數(shù))對(duì)實(shí)數(shù),表示輸出n位小數(shù);對(duì)字符串,表示截取的字符個(gè)數(shù)(二)c語(yǔ)言不提供輸入輸出語(yǔ)句,輸入輸出操作是由c的庫(kù)函數(shù)完成。但要包含頭文
12、件stdio.h。putchar()向終端輸出一個(gè)字符printf()的格式字符:d格式符用來(lái)輸出十進(jìn)制整數(shù)%d按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出%md使輸出長(zhǎng)度為m,如果數(shù)據(jù)長(zhǎng)度小于m,則左補(bǔ)空格,如果大于m,則輸出實(shí)際長(zhǎng)度ld輸出長(zhǎng)整型數(shù)據(jù)o格式符以八進(jìn)制形式輸出整數(shù)x格式符以十六進(jìn)制形式輸出整數(shù)u格式符用來(lái)輸出unsigned型數(shù)據(jù),以十進(jìn)制形式輸出c格式符用來(lái)輸出一個(gè)字符s格式符輸出一個(gè)字符用s輸出實(shí)際長(zhǎng)度字符用ms輸出的用占m歹I,如果用長(zhǎng)度小于m,左補(bǔ)空格,如果大于m,實(shí)際輸出-ms輸出的用占m列,如果用長(zhǎng)度小于m,右補(bǔ)空格,m.ns輸出占m列,但只取字符串中左端n個(gè)字符并靠右對(duì)齊-m.nsm、n含義同上,靠左對(duì)齊,如果n>m,則m自動(dòng)取n值f格式符以小數(shù)形式輸出實(shí)數(shù)%f整數(shù)部分全部輸出,小數(shù)部分輸出6位%m.nf輸出數(shù)據(jù)共占m列,其中有n位小數(shù)。如果數(shù)值長(zhǎng)度小于m,左補(bǔ)空格%-m.nf同上,右補(bǔ)空格e格式符以指
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廢舊塑料回收處理技術(shù)突破與市場(chǎng)應(yīng)用報(bào)告
- 2025年裝配式建筑預(yù)制構(gòu)件定制生產(chǎn)與采購(gòu)合作合同
- 2025年度大型公共建筑消防系統(tǒng)安全評(píng)估與整改合同
- 2025年度智能家居系統(tǒng)裝修與維護(hù)服務(wù)合同保密協(xié)議
- 2025年物流樞紐土地租賃及跨境電商貨運(yùn)服務(wù)合作協(xié)議
- 2025年綠色建材生產(chǎn)與技術(shù)創(chuàng)新合作協(xié)議
- 2025年IT企業(yè)大數(shù)據(jù)安全保密技術(shù)研發(fā)與綜合服務(wù)合同
- 2025年度跨境電商園區(qū)招商引資專業(yè)代理合同
- 2025年度電子商務(wù)數(shù)據(jù)分析與優(yōu)化合伙人合作協(xié)議書
- 2025年新能源叉車購(gòu)銷與融資租賃一攬子合同
- 2025年秋季開(kāi)學(xué)教師大會(huì)上教學(xué)副校長(zhǎng)講話:回到課堂的原點(diǎn)走向教學(xué)的深處
- 2025事業(yè)單位招聘考試時(shí)事政治考試題庫(kù)及答案(考點(diǎn)梳理)
- 2025年特種設(shè)備監(jiān)管b證考試試題及答案
- 2025年少先隊(duì)知識(shí)競(jìng)賽試題庫(kù)附答案
- 2025年事業(yè)單位工勤技能-湖北-湖北防疫員二級(jí)(技師)歷年參考題庫(kù)含答案解析(5卷)
- 一鍵報(bào)警管理辦法
- GB/T 9775-2025紙面石膏板
- 2024年廣州越秀區(qū)招聘社區(qū)專職工作人員真題
- 防蚊培訓(xùn)課件
- 北方民族大學(xué)《高等數(shù)學(xué)Ⅱ》2025-2026學(xué)年期末試卷(A卷)
- 彌漫性大B細(xì)胞淋巴瘤病例討論
評(píng)論
0/150
提交評(píng)論