1. 程式人生 > >printf 常用格式輸出符

printf 常用格式輸出符

%d                          按照十進位制整形資料實際長度輸出

%md                       m為制定的輸出欄位的寬度,如果資料的位數小於m,則左端補以空格

%ld                         輸出長整形,長整形如果按照整形輸出的話就會出錯

%o                          以八進位制整數形式輸出,輸出的數值不帶符號,將記憶體中的各位值按照八進位制形式輸出

%x                          以十六進位制的形式輸出整數,同樣不會出現負數,大寫x以大寫字母輸出

%u                          用來輸出unsigned型別資料,即無符號數,以十進位制整數形式輸出,有符號int型別可以用%u輸出,同樣一個                                            unsigned 型別資料也可以用%o或者%x來輸出

%c                          用來輸出一個字元,一個整數,只要其值在0~255之間,就可以用%c按照字元形式輸出,反之,一個字元資料也可以                                  用整數形式輸出

%s                          用來輸出字串

%ms                       輸出的字串佔m列,如果字串本身長度大於m,則將字串全部輸出,若串小於m,則左補空格

%-ms                      如果串長小於m,則在m列範圍內,字串向左靠,右補空格

%m.ns                    輸出佔m列,但是隻取字串中左端n個字元,這n個字元輸出在m列的右側,左補空格

%-m.ns                   其中m n含義同上,n個字元輸出在m列範圍的左側,右補空格

%.n                         即只指定了n,沒有指定m,自動使m=n

%f                           整數部分全部輸出並輸出6位小數,單精度實數即float型別有效位一般為7位,雙精度有效位一般為16位,給出小數6位

%m.nf                     輸出的資料共佔m列,其中有n位小數,如果數值長度小於m,則左端補空格

%e                          以指數形式輸出實數,小數位數為6,指數部分佔5位(如e+002),大寫e就用大寫E來輸出

%m.ne和%-m.ne     同- 含義與前相同,n指輸出資料小數部分位數

%g                          用來輸出實數,根據數值大小,自動選f格式或者e格式,且不輸出無意義的零     

scanf函式

1,可以指定輸入資料所佔的列數,系統自動按其擷取所需資料

     例如: scanf("%3d%3d",&a,&b); 輸入123456後,系統自動將123給變數a,456給變數b   ,

2,如果在%後加上一個*附加說明符號,表示跳過它指定的列數,即不會將其賦值給任何變數,例如

     scanf("%2d%*3d%2d",&a,&b); 1234567,那麼就是將12給a,345跳過不賦值給任何變數,然後67給b

3,輸入資料時不能規定精度,例如scanf("%7.2f",&a);是不合法的

4,如果在格式控制字串中除了格式說明以外還有其他字元,則在輸入資料時在對應位置應當輸入與這些字元相同的字元,例如:

     scanf("%d,%d",&a,&b);輸入時就應當3,4即需要注意逗號的使用

5,在使用%c格式輸入字元時,空格字元和轉義字元都作為有效字元輸入