如果在程序中要使用 printf 或者 scanf,那么就必須要包含頭文件 stdio.h。因為這兩個函數就是包含在該頭文件中的。
常用的輸出控制符
控制符 | 說明 |
---|---|
%d | 按十進制整型數據的實際長度輸出。 |
%ld | 輸出長整型數據。 |
%md | m 為指定的輸出字段的寬度。如果數據的位數小於 m,則左端補以空格,若大於 m,則按實際位數輸出。 |
%u | 輸出無符號整型(unsigned)。輸出無符號整型時也可以用 %d,這時是將無符號轉換成有符號數,然后輸出。但編程的時候最好不要這么寫,因為這樣要進行一次轉換,使 CPU 多做一次無用功。 |
%c | 用來輸出一個字符。 |
%f | 用來輸出實數,包括單精度和雙精度,以小數形式輸出。不指定字段寬度,由系統自動指定,整數部分全部輸出,小數部分輸出 6 位,超過 6 位的四舍五入。 |
%.mf | 輸出實數時小數點后保留 m 位,注意 m 前面有個點。 |
%o | 以八進制整數形式輸出,這個就用得很少了,了解一下就行了。 |
%s | 用來輸出字符串。用 %s 輸出字符串同前面直接輸出字符串是一樣的。但是此時要先定義字符數組或字符指針存儲或指向字符串,這個稍后再講。 |
%x(或 %X 或 %#x 或 %#X) | 以十六進制形式輸出整數,這個很重要。 |
%x、%X、%#x、%#X 的區別
如果是小寫的x,輸出的字母就是小寫的;如果是大寫的X,輸出的字母就是大寫的;如果加一個#,就以標准的十六進制形式輸出。
最好是加一個#,否則如果輸出的十六進制數正好沒有字母的話會誤認為是一個十進制數呢!總之,不加#容易造成誤解。但是如果輸出 0x2f 或 0x2F,那么人家一看就知道是十六進制。而且%#x和%#X中,筆者覺得大寫的比較好,因為大寫是絕對標准的十六進制寫法。