資源描述:
《C語言中Printf和Scanf-的使用方法詳細(xì).docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、C語言中Printf和Scanf的使用方法詳細(xì)Printf和Scan函數(shù)的使用方法一?printf()函數(shù)是格式化輸出函數(shù),?一般用于向標(biāo)準(zhǔn)輸出設(shè)備按規(guī)定格式輸出?信息。在編寫程序時(shí)經(jīng)常會(huì)用到此函數(shù)。printf()函數(shù)的調(diào)用格式為:???????printf("<格式化字符串>",?<參量表>);?????其中格式化字符串包括兩部分內(nèi)容:?一部分是正常字符,??這些字符將按原?樣輸出;?另一部分是格式化規(guī)定字符,?以"%"開始,?后跟一個(gè)或幾個(gè)規(guī)定字符,?用來確定輸出內(nèi)容格式。?????參量表是需要輸出的一系列參數(shù),
2、?其個(gè)數(shù)必須與格式化字符串所說明的輸出?參數(shù)個(gè)數(shù)一樣多,?各參數(shù)之間用","分開,?且順序一一對(duì)應(yīng),??否則將會(huì)出現(xiàn)意想?不到的錯(cuò)誤。?????格式化字符串的格式是:??????%[標(biāo)志][輸出最小寬度][.精度][長(zhǎng)度]格式字符1.???標(biāo)志:標(biāo)志字符為-、+、#、空格四種,其意義下表所示:?????標(biāo)志???????????????意義?????-?????????????????結(jié)果左對(duì)齊,右邊填空格?????+?????????????????輸出符號(hào)(正號(hào)或負(fù)號(hào))?????空格??????????????輸出
3、值為正時(shí)冠以空格,為負(fù)時(shí)冠以負(fù)號(hào)?????#?????????????????對(duì)c,s,d,u類無影響;對(duì)o類,在輸出時(shí)加前綴o;對(duì)x類,在輸出時(shí)加前綴0x;對(duì)e,g,f?類當(dāng)結(jié)果有小數(shù)????????????????????????時(shí)才給出小數(shù)點(diǎn)(??????)例1:#i?ncludemain(){int?a=100;float?b=123.255;printf("a=%d?",a);printf("a=d?",a);printf("a=%-10d?",a);printf("a=%+d?",a);printf("a=
4、%?d?",a);printf("a=%#o?",a);printf("a=%#x?",a);printf("b=%#f?",b);}?運(yùn)行結(jié)果a=100a=???????100a=100a=+100a=?100a=0144a=0x64b=123.??(?????)2.輸出最小寬度:用十進(jìn)制整數(shù)來表示輸出的最少位數(shù)。(至少要輸出這么多位?。???????????????若實(shí)際位數(shù)多于定義的寬度:則按實(shí)際位數(shù)輸出。???????????????若實(shí)際位數(shù)少于定義的寬度:則右對(duì)齊,左邊留空。????????????????
5、?????????????????????????有負(fù)號(hào),左對(duì)齊,右邊留空?????????????????????????????????????????表示寬度的數(shù)字以0開始,則右對(duì)齊,左邊留空。例2?#i?ncludemain(){int?a=3456;printf("a==?",a);????//若實(shí)際位數(shù)多于定義的寬度:則按實(shí)際位數(shù)輸出printf("a=d?",a);???//若實(shí)際位數(shù)少于定義的寬度:則右對(duì)齊,左邊留空printf("a=%-10d?",a);??//若實(shí)際位數(shù)少于定義的寬度:有負(fù)號(hào),左對(duì)
6、齊,右邊留空printf("a=0d?",a);??//若實(shí)際位數(shù)少于定義的寬度:表示寬度的數(shù)字以0開始,則右對(duì)齊,左邊留空printf("a=%-010d?",a);?//左對(duì)齊,0無意義。}?運(yùn)行結(jié)果:a=3456a=??????3456a=3456a=a=34563.精度:精度格式符以“.”開頭,后跟十進(jìn)制整數(shù)。意義是:????如果輸出數(shù)字,則表示小數(shù)的位數(shù);若實(shí)際位數(shù)大于所定義的精度數(shù),則四舍五入。若不足則補(bǔ)0;????如果輸出的是字符,則表示輸出字符的個(gè)數(shù);若實(shí)際位數(shù)大于所定義的精度數(shù),則截去超過的部分。例3
7、:#i?ncludemain(){printf("%.3f?",12.3456);printf("%.9f?",12.3456);printf("%.3s?","abcdefg");printf("%.9s?","abcdefg");}?運(yùn)行結(jié)果:12.346??????????//四舍五入到小數(shù)點(diǎn)后三位12.????//不足補(bǔ)0abcabcdefg4.長(zhǎng)度:長(zhǎng)度格式符為h,l兩種,h表示按短整型量輸出,l表示按長(zhǎng)整型量輸出?????5.Turbo?C2.0提供的格式字符如下:?━━━━━━━━━━━━━━━━━━━━
8、━━━━━━????符號(hào)??????????????????作用?──────────────────────────?????%c??????????????單個(gè)字符??????%d??????????????十進(jìn)制有符號(hào)整數(shù)?????%e??????????????以“科學(xué)記數(shù)法”的形式輸出十進(jìn)制的浮點(diǎn)數(shù)??如2.451e+0