格式控制字串

2021-09-25 13:51:52 字數 2049 閱讀 6055

一.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...