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