C語言轉義字元和格式控制符參考

2021-07-04 16:09:27 字數 3138 閱讀 8845

轉義字元參考:

\a:蜂鳴,響鈴

\b:回退:向後退一格

\f:換頁

\n:換行,游標到下行行首

\r:回車,游標到本行行首

\t:水平製表

\v:垂直製表

\\:反斜槓

\':單引號

\":雙引號

\?:問號

\ddd:三位八進位制

\xhh:二位十六進製制

\0:空字元(null),什麼都不做

注:1,\v垂直製表和\f換頁符對螢幕沒有任何影響,但會影響印表機執行響應操作。

2,\n其實應該叫回車換行。換行只是換一行,不改變游標的橫座標;回車只是回到行首,不改變游標的縱座標。

3,\t 游標向前移動四格或八格,可以在編譯器裡設定

4,\' 在字元裡(即單引號裡)使用。在字串裡(即雙引號裡)不需要,只要用 ' 即可。

5,\? 其實不必要。只要用 ? 就可以了(在windows vc6 和tc2 中驗證)。 

格式控制符參考:

格式輸出字元:printf

使用:向終端輸出若干個型別任意的資料。

形式:printf (格式控制符,輸出列表)

說明:格式控制符:%  格式說明引導符。

-  指定左對齊輸出。

0  指定空位填零。

m.n  指定輸出域寬度及精度。

l.h  輸出長度的修正。

格式字元   指定輸出的資料型別。

說明:格式字元:指定輸出項的資料型別和輸出格式。

d  有符號十進位制整數。

o  無符號八進位制數。

x  無符號十六進製制數。(小寫的x格式中用小寫字母a,b,c,d,e,f來表示10到15之間的數,大寫的x則用大寫的abcdef來表示10到15之間的數)

u  不帶符號的十進位制整數。

基本整型:兩個位元組,十六個bit(位)

11 11 11 11 11 11 11 11   等於 65535.

11 11 11 11 11 11 11 10     等於 -2.

負數的第一位(符號位)為1。負數的補碼怎麼得到:原碼取反加一。2的二進位制數為:00 00 00 00 00 00 00 10,取反就等於11 11 11 11 11 11 11 01,然後加1,二進位制數逢二進一,所以就得出-2 的二進位制**。

有符號的整型數可以用 %d 輸出。

無符號的整型數可以用 %u 輸出。

電腦裡存的數字都是二進位制數,最高位是符號位還是資料位,可以由輸出格式符來控制。

二進位制數轉換八進位制數:三個 1 對應乙個 7 。

二進位制數鏨十六進製制數:四位二進位制對應一位十六進製制,四個1 對應乙個 f。

說明: 

格式字元:c    輸出乙個字元。

s   輸出乙個字串。

e   以指數形式輸出實型數。

f     以小數形式輸出實型數。

g   自動決定輸出格式為e和f中較短的一種,不列印無效的零。

%   輸出%。

注意:對於單精度數,使用 %f 格式符輸出時,僅前7位是有效數字,小數6位。

對於雙精度數,使用 %lf 格式符輸出時,前16位是有效數字,小數6位。

長度修正符

l:對整型指定長整型long

例:%ld , %lx , %lo , %lu

對實型指定雙精度double

例:%lf

h:只用於整型的格式字元修正為short

例:%hd , %hx , %ho , %hu

對64位整數的輸入輸出,在poj上的c++環境下(即vc++),64位整數是:

__int64

輸入輸出格式為」%i64d」.

在g++環境下, 64位整數是

long long

輸入輸出格式為」%lld」.

域寬及精度的描述

m:域寬,即對應的輸出項在輸出裝置上所佔字元數

若:實際資料寬度》m,按實際資料寬度輸出。

實際資料寬度n:精度,說明輸出的實型數的小數字數。

幾點說明:

編譯程式只是檢查printf 函式的呼叫形式,不分析格式控制字串,如果格式字元與輸出項的型別不匹配,不進行型別轉換。(輸出的數為隨機)

格式字元要用小寫字母。

格式控制字串中可以包含轉義字元。

格式控制字串中的普通字元則原樣輸出。

輸出項的引數除了常數、變數外還可以是表示式、函式呼叫。

%g,%f和%e這三個格式用於列印浮點值。

%g格式用於列印那些不需要按列對齊的浮點數特別有用。其作用有二:

一,去掉該數尾多餘的零(沒有達到六位的數)

二,保留六位有效數字(多餘六位的)

%e格式用於列印浮點數時,一律顯示地使用指數形式:例如:輸出圓周率時是:3.141593e+00

兩者的區別:

%g格式列印出的數是總共6位有效數字

%e格式列印出小數點後的6位有效數字

%f禁止使用指數形式來表示浮點數。因此圓周率輸出為:3.141593

(但注意它的精度要求:也是小數點後6位有效數字)

(8)%%格式用於列印乙個%字元。

(9)%e和%g只是在輸出時用大寫字母(e)代替了小寫字母(e)

輸出正負號的技巧,例如:

printf("%+d %+d %+d\n",-5,0,5);

只要在中間加個「+」號就行。作用是輸出符號位(即,數的正負號)

如果不希望正數的前面出現『+』號,可用下面的方法

只要在中間加個「 」號(即:空格)就行。例如:

作用:如果乙個數是非負數,就在它的前面插入乙個空格。

int i;

for(i=-3;i<=3;i++)

printf("% d\n",i); //注意%和d之間有乙個空格

sscanf()的使用技巧:

分解字串,很多功能都需要正規表示式的知識,所以就介紹一下最簡單的幾種用sscanf來分解字串 的用法。

1.char str[100],str1[100],str2[100];

gets(str);

sscanf(str,」%s%s」,str1,str2);

將讀入的一整行字串按空格,製表符或回車符分割成兩個字串。

2取指定長度的字串。如在下例中,取最大長度為4位元組的字串。

sscanf("123456 ", "%4s", str);

C語言轉義字元和格式控制符參考

轉義字元參考 a 蜂鳴,響鈴 b 回退 向後退一格 f 換頁 n 換行,游標到下行行首 r 回車,游標到本行行首 t 水平製表 v 垂直製表 反斜槓 單引號 雙引號 問號 ddd 三位八進位制 xhh 二位十六進製制 0 空字元 null 什麼都不做 注 1,v垂直製表和 f換頁符對螢幕沒有任何影響...

C語言格式控制符和轉義字元

1.格式控制符 格式輸出printf 作用是向終端輸出若干個型別任意的資料。格式 printf 格式控制符,輸出列表 1 格式控制符 l 格式說明引導符。l 指定左對齊輸出。l 指定空位填零。l m.n 指定輸出域寬度及精度 m表示資料最小寬度,如果實際資料寬度 m,按實際資料寬度輸出,如果實際資料...

C語言 格式控制符

d 以帶符號的十進位制形式輸出整數 o 以八進位制無符號形式輸出整數 x 以十六進製制無符號形式輸出整數 u 以無符號十進位制形式輸出整數 c 以字元形式輸出,只輸出乙個字元 s 輸出字串 f 以小數形式輸出單,雙精度數,隱含輸出六位小數 e 以指數形式輸出實數 g 選用 f或 e格式中輸出寬度較短...