資源描述:
《c語言中printf格式》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。
1、2009-05-0310:55???TurboC2.0標準庫提供了兩個控制臺格式化輸入、輸出函數(shù)printf()和scanf(),這兩個函數(shù)可以在標準輸入輸出設備上以各種不同的格式讀寫數(shù)據(jù)。???printf()函數(shù)用來向標準輸出設備(屏幕)寫數(shù)據(jù);scanf()函數(shù)用來從標準輸入設備(鍵盤)上讀數(shù)據(jù)。下面詳細介紹這兩個函數(shù)的用法。???一、printf()函數(shù)???printf()函數(shù)是格式化輸出函數(shù),一般用于向標準輸出設備按規(guī)定格式輸出信息。在編寫程序時經(jīng)常會用到此函數(shù)。printf()函數(shù)的調(diào)用格式為:?????printf("<格式化字符串>
2、",<參量表>);???其中格式化字符串包括兩部分內(nèi)容:一部分是正常字符,這些字符將按原樣輸出;另一部分是格式化規(guī)定字符,以"%"開始,后跟一個或幾個規(guī)定字符,用來確定輸出內(nèi)容格式。???參量表是需要輸出的一系列參數(shù),其個數(shù)必須與格式化字符串所說明的輸出參數(shù)個數(shù)一樣多,各參數(shù)之間用","分開,且順序一一對應,否則將會出現(xiàn)意想不到的錯誤。??????1.格式化規(guī)定符???TurboC2.0提供的格式化規(guī)定符如下:━━━━━━━━━━━━━━━━━━━━━━━━━━??符號?????????????????作用──────────────────────
3、────???%d?????????????十進制有符號整數(shù)???%u?????????????十進制無符號整數(shù)???%f?????????????浮點數(shù)???%s?????????????字符串???%c?????????????單個字符???%p?????????????指針的值???%e?????????????指數(shù)形式的浮點數(shù)???%x,%X?????????無符號以十六進制表示的整數(shù)???%0?????????????無符號以八進制表示的整數(shù)???%g?????????????自動選擇合適的表示法━━━━━━━━━━━━━━━━━━━━━━
4、━━━━???說明:???(1).可以在"%"和字母之間插進數(shù)字表示最大場寬。????例如:%3d??表示輸出3位整型數(shù),不夠3位右對齊。???????????%9.2f表示輸出場寬為9的浮點數(shù),其中小數(shù)位為2,整數(shù)位為6,?????????????????小數(shù)點占一位,不夠9位右對齊。???????????%8s??表示輸出8個字符的字符串,不夠8個字符右對齊。???如果字符串的長度、或整型數(shù)位數(shù)超過說明的場寬,將按其實際長度輸出。但對浮點數(shù),若整數(shù)部分位數(shù)超過了說明的整數(shù)位寬度,將按實際整數(shù)位輸出;若小數(shù)部分位數(shù)超過了說明的小數(shù)位寬度,則按說明的
5、寬度以四舍五入輸出。???另外,若想在輸出值前加一些0,就應在場寬項前加個0。???例如:??%04d表示在輸出一個小于4位的數(shù)值時,將在前面補0使其總寬度為4位。???如果用浮點數(shù)表示字符或整型量的輸出格式,小數(shù)點后的數(shù)字代表最大寬度,小數(shù)點前的數(shù)字代表最小寬度。???例如:%6.9s表示顯示一個長度不小于6且不大于9的字符串。若大于9,則第9個字符以后的內(nèi)容將被刪除。???(2).可以在"%"和字母之間加小寫字母l,表示輸出的是長型數(shù)。???例如:??%ld??表示輸出long整數(shù)???????????%lf??表示輸出double浮點數(shù)???(
6、3).可以控制輸出左對齊或右對齊,即在"%"和字母之間加入一個"-"號可說明輸出為左對齊,否則為右對齊。???例如:??%-7d表示輸出7位整數(shù)左對齊???????????%-10s表示輸出10個字符左對齊???2.一些特殊規(guī)定字符━━━━━━━━━━━━━━━━━━━━━━━━━━???字符??????????????????????????作用──────────────────────────??????????????????????換行????f??????????????????清屏并換頁????r????????????????
7、??回車????t??????????????????Tab符????xhh????????????????表示一個ASCII碼用16進表示,?????????????????????????其中hh是1到2個16進制數(shù)━━━━━━━━━━━━━━━━━━━━━━━━━━???由本節(jié)所學的printf()函數(shù),并結合上一節(jié)學習的數(shù)據(jù)類型,編制下面的程序,以加深對TurboC2.0數(shù)據(jù)類型的了解。???例1????#include????#include????intmain()????{?????????ch
8、arc,s[20],*p;?????????inta=1234,*i;?????????floatf=3.1