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格式輸入字元時,空格字元和轉義字元都作為有效字元輸入