産生格式化輸出的函數
printf()函數的格式是:
printf(格式控制字符串,參數1,參數2,...);
格式控制字符串描述各參數是怎樣打印輸出的。
參數1,參數2等是待打印的參數,參數可以是變量,常量和表達式。
例如:printf("the%dmandrank%fglassesofwine.n",n1,n2);
n1,n2的說明如下:
int n1;
float n2;
如果有格式控制字符串參數的話,按格式控制字符串中相應的格式控制字符控制輸出的格式和順序。
變換格式符%d%o%x%f%c%s
請看例題。
例題:printf("%dn",336);
解釋:336是整數,它是按十進制整數格式輸出的。
例題:printf("theoctalnumberof17is%o",17);
輸出:theoctalnumberof17is21
解釋:八進制數的21和十進制數的17是相等的。%o要求以八進制整數的格式來輸出一個數。
例題:printf("thehexnumberof30is%x",30);
輸出:thehexnumberof30is1e
解釋:十六進制數1e和十進制數30相等。%x要求以十六進制整數的格式來輸出一個數。
例題:printf("%fisfloatingformat",13.5);
輸出:13.500000isfloatingformat
解釋:%f以浮點格式表示。未指定的情況下,小數點後帶6位數字。
例題:printf("%c",'a');
輸出:a
解釋:%c以單個字符表示。注意:%c表示單個字符,而不是字符串。
例題:#definestg"aflingbird"
printf("%s",stg);
輸出:aflingbird
解釋:使用%s格式,表示一個字符串。
功能
在c語言中産生格式化輸出的函數(定義在 stdio.h 中),其向終端(顯示器、控制台等)輸出字符。
用法
printf()函數是格式化輸出函數, 一般用于向标準輸出設備按規定格式輸出n信息。在編寫程序時經常會用到此函數。函數的原型為:nint printf(const char *format, ...);n函數返回值為整型。若成功則返回輸出的字符數,輸出出錯則返回負值。nprintf()函數的調用格式為:nprintf("<格式化字符串>", <參量表>);n其中格式化字符串包括兩部分内容: 一部分是正常字符, 這些字符将按原n樣輸出; 另一部分是格式化規定字符, 以"%"開始, 後跟一個或幾個規定字符,n用來确定輸出内容格式。n參量表是需要輸出的一系列參數, 其個數必須與格式化字符串所說明的輸出n參數個數一樣多, 各參數之間用","分開, 且順序一一對應, 否則将會出現意想n不到的錯誤。n規定符n%d 十進制有符号整數n%u 十進制無符号整數n%f 浮點數n%s 字符串n%c 單個字符n%p 指針的值n%e 指數形式的浮點數n%x, %X 無符号以十六進制表示的整數n%o 無符号以八進制表示的整數n%g 把輸出的值按照%e或者%f類型中輸出長度較小的方式輸出n%p 輸出地址符n%lu 32位無符号整數n%llu 64位無符号整數n說明n(1).可以在“%”和字母之間插進數字表示最大場寬。n例如:%3d表示輸出3位整型數,不夠3位右對齊。n%9.2f表示輸出場寬為9的浮點數,其中小數位為2,整數位為6,n小數點占一位,不夠9位右對齊。n%8s表示輸出8個字符的字符串,不夠8個字符右對齊。n如果字符串的長度、或整型數位數超過說明的場寬,将按其實際長度輸出。n但對浮點數,若整數部分位數超過了說明的整數位寬度,将按實際整數位輸出;n若小數部分位數超過了說明的小數位寬度,則按說明的寬度以四舍五入輸出。n另外,若想在輸出值前加一些0,就應在場寬項前加個0。n例如:%04d表示在輸出一個小于4位的數值時,将在前面補0使其總寬度n為4位。n如果用非浮點數表示字符或整型量的輸出格式,小數點後的數字代表最大寬度,n小數點前的數字代表最小寬度。n例如:%6.9s表示顯示一個長度不小于6且不大于9的字符串。若大于9,則n第9個字符以後的内容将被删除。n(2).可以在“%”和字母之間加小寫字母l,表示輸出的是長型數。n例如:%ld表示輸出long整數n%lf表示輸出double浮點數n(3).可以控制輸出左對齊或右對齊,即在"%"和字母之間加入一個"-"号可n說明輸出為左對齊, 否則為右對齊。n例如:%-7d 表示輸出7位整數左對齊n%-10s 表示輸出10個字符左對齊n2. 一些特殊規定字符n作用nn 換行nf 清屏并換頁nr 回車nt Tab符nxhh 表示一個ASCII碼用16進表示,n其中hh是1到2個16進制數