一.printf
printf("格式控制字串」,輸出表列)
其中格式控制字串用於指定輸出格式。
格式控制串可由格式字串和非格式字串兩種組成。
格式字串:以%開頭的字串,在%後面跟有各種格式字元,以說明輸出資料的型別、形式、長度、小數字數等。如:
「%d」 表示按十進位制整型輸出;
"%ld"表示按十進位製長整型輸出;
"%c"表示按字元型輸出。
非格式字串:原樣輸出,在顯示中起提示作用。輸出表列中給出了各個輸出項,要求格式字串和各輸出項在數量和型別上應該一一對應。
格式字串一般形式為: [標誌] [輸出最小寬度] [.精度] [長度] 型別;其中 中的項為可選項。
1.型別
型別字元用以表示輸出資料的型別,其格式符和意義如下表所示:
2.標誌
標誌字元為-、+、#和空格四種,其意義下表所示:
- :右邊填空格
+ :輸出符號(正號或負號)
空格 :輸出值為正時冠以空格,為負時冠以負號
# :對c、s、d、u類無影響;對o類,在輸出時加字首o;對x類,在輸出時加字首0x;對e、g、f類當結果有小數時才給出小數點。
3.輸出最小寬度
用十進位制整數來表示輸出的最少位數。若實際位數多於定義的寬度,則按實際位數輸出,若實際位數少於定義的寬度則補以空格或0。
4.精度
精度格式符以"."開頭,後跟十進位制整數。本項的意義是:如果輸出數字,則表示小數的位數;如果輸出的是字元,則表示輸出字元的個數;若實際位數大於所定義的精度數,則截去超過的部分。
5.長度
長度格式符為h、l兩種, h表示按短整型量輸出,l表示按長整型量輸出。
二.scanf
scanf函式的一般形式為: scanf(「格式控制字串」,位址表列);
格式字串的一般形式為: %[輸入資料寬度][長度]型別;其中有的項為任選項。
1.型別:
表示輸入資料的型別
2."*" 符:
用以表示該輸入項,讀入後不賦予相應的變數,即跳過該輸入值。
如:scanf("%d %*d %d",&a,&b);
當輸入為: 123時,把1賦予a, 2被跳過, 3賦予b。
3.寬度:
用十進位制整數指定輸入的寬度(即字元數)。
如:scanf("% 5d",&a);
輸入12345678只把12345賦予變數a,其餘部分被截去。
4.長度
長度格式符為和h, l表示輸入長整型資料 (如%ld)和雙精度浮點數(如%lf) 。h表示輸入短整型資料。
注意事項:
1.scanf函式中沒有精度控制如:scanf("%5.2f",&a);
是非法的,不能企圖用此語句輸入小數為2位的實數。
2.scanf中要求給出變數位址,如給出變數名則會出錯。如:
scanf(%d",a);
是非法的,應改為scnaf("%d",&a);
才是合法的。
3.在輸入多個數值資料時,若格式控制串中沒有非格式字元作輸入資料之間的間隔則可用空格, tab或回車作間隔。c編譯在碰到空格, tab,回車或非法資料(如對"%d"輸入"12a"時, a即為非法資料)時即認為該資料結束。
4.在輸入字元資料時,若格式控制串中無非格式字元,則認為所有輸入的字元均為有效字元。
例如:scanf("%c%c%c",&a,&b,&c);
如果輸入 d e f 則把 『d』 賦予 a, 』 』 賦予 b , 『e』 賦予 c 。只有當輸入為 def 時,才能把 『d』 賦於 a, 『e』 賦予 b , 『f』 賦予 c。
如果我們想實現輸入d e f分別賦予a ,b, c那麼scanf語句一定是這樣scanf ("%c %c %c",&a,&b,&c);
如果scanf ("%c,%c,%c",&a,&b,&c);
那麼我們一定輸入要輸入d,e,f才能正確的將其賦值給a,b,c
5.如輸入的資料與輸出的型別不一致時,雖然編譯能夠通過,但結果將不正確。
printf的格式控制字串
printf 格式控制字串 輸出表列 其中格式控制字串用於指定輸出格式。格式控制串可由格式字串和非格式字串兩種組成。格式字串是以 開頭的字串,在 後面跟有各種格式字元,以說明輸出資料的型別 形式 長度 小數字數等。如 d 表示按十進位制整型輸出 ld 表示按十進位製長整型輸出 c 表示按字元型輸出等...
常用的控制字串類
已經編輯成類,方便使用朋友那裡拷的哈哈 using system namespace 從字串中的尾部刪除指定的字串 public static string remove string sourcestring,string removedstring return result catch 獲取拆...
刪除字串中的控制字元(python)
要刪除字串中的控制字元,因為無符號控制字元不能夠在xml中編碼,諸如 b 轉換成 x02 如果作為內容寫入xml,會導致xml錯誤,所以需要把控制字元刪除。python 如下 方法 一 def strip control characters str input if str input impor...