C語言小知識

2021-08-14 14:40:25 字數 2380 閱讀 5104

所有的轉義字元和所對應的意義:

轉義字元

意義ascii碼值(十進位制)

\a響鈴(bel)

007\b

退格(bs) ,將當前位置移到前一列

008\f

換頁(ff),將當前位置移到下頁開頭

012\n

換行(lf) ,將當前位置移到下一行開頭

010\r

回車(cr) ,將當前位置移到本行開頭

013\t

水平製表(ht) (跳到下乙個tab位置)

009\v

垂直製表(vt)

011\\

代表乙個反斜線字元''\'

092\'

代表乙個單引號(撇號)字元

039\"

代表乙個雙引號字元

034\?

代表乙個問號

063\0

空字元(null)

000\ooo

1到3位八進位制數所代表的任意字元

三位八進位制

\xhh

1到2位十六進製製所代表的任意字元

二位十六進製制

注意:區分,斜槓:"/" 與 反斜槓:"\" ,此處不可互換

printf函式格式字元:

常用的有以下幾種格式字元:

(1)d格式字元。用來輸出十進位制整數。有以下幾種用法:

1、%d,按整型資料的實際長度輸出。

2、%md,m為指定的輸出欄位的寬度。

3、%ld,輸出長整型資料。

(2)o格式符,以八進位制整型式輸出整數。

(3)x格式符,以十六進製制數形式輸出整數。

(4)u格式符,用來輸出unsigned型資料,即無符號數,以十進位制形式輸出。

(5)c格式符,用來輸出乙個字元。

(6)s格式符,用來輸出乙個字串。

(7)f格式符,用來輸出實數(包括單雙精度),以小數形式輸出。

(8)e格式符,以指數形式輸出實數。

(9)g格式符,用來輸出實數,它根據數值的大小,自動選f格式或e格式(選擇輸出是佔寬度較小的一種),且不輸出無意義的零。

(10)p格式符,用於變數位址的輸出。

(11) %[scanfset]:

scanfset 有兩種形式:一種是以非 「^」 字元開頭的 scanset , 表示在讀入字串時將匹配所有在 scanfset 中出現的字元,遇到非scanfset 中的字元時輸入就結束;另外一種形式是以 「^」 字元開頭的scanfset ,表示在讀入字串時將匹配所有不在scanfset 中出現的字元,遇到scanfset 中的字元輸入就結束。

printf()的標誌

標誌意義-

專案左對齊,即,會把專案列印在字段的左側開始處

示例: "%-20s"

+有符號的值若為正,則顯示帶加號的符號;若為負,則顯示帶減號的符號

示例: "%+6.2f"

(空格)

有符號的值若為正,則顯示時帶前導空格(但是不顯示符號);若為負,則帶減號符號。

+標誌會覆蓋空格標誌

示例: "% 6.2f"

#使用轉換說明的可選形式。若為%o格式,則以0開始;若為%x和%xgeshi ,則以0x或0x開始。

對於所有的浮點形式,#保證了即使不跟任何數字,也列印乙個小數點字元。對於%g和%g格式,

它防止尾隨0被刪除

示例: "%#o", "%#8.0f", "%+#10.3e"

0對於所有的數字格式,用前導零而不是空格填充字段寬度。如果出現-標誌或者指定了精度(對於整數)則忽略該標誌

示例: "%010d", "%08.3f","%02x"

按位與&將其轉換為二進位制且當只有各位上位1時才為一例如:1001&&0101結果為0001

按位或|將其轉換為二進位制只要位上有乙個1就為一例如:1001||0101結果為1101;

參加運算的兩個資料,按二進位制位進行「異或」運算。

運算規則:0^0=0;  0^1=1;  1^0=1;   1^1=0;

即:參加運算的兩個物件,如果兩個相應位為「異」(值不同),則該位結果為1,否則為0。

「異或運算」的特殊作用:

(1)使特定位翻轉找乙個數,對應x要翻轉的各位,該數的對應位為1,其餘位為零,此數與x對應位異或即可。

例:x=10101110,使x低4位翻轉,用x ^0000 1111 = 1010 0001即可得到。

(2)與0相異或,保留原值 ,x ^ 00000000 = 1010 1110。

其實就是進製加法,如1+1=0,,0+0=0,1+0=1。

C語言 小知識

1.表示式的求值 初始值 x 1,y 1 z 1 求 x y z 答 從左到右順序依次求值,1 true 注意 因為 操作符的左運算元是true,所以沒有必要求值了.事實上c語言肯定不會繼續求值 有關規則,在按從左到右的順序對乙個邏輯表示式求值的時候,只要知道了它的實際結果,就不會對其餘部分求值.這...

c語言小知識

1 為什麼include標頭檔案後,就可以呼叫檔案中宣告的函式了?標頭檔案中一般只是函式和變數的宣告,編譯器需要知道函式傳遞的是什麼引數,否則呼叫的地方 不知道如何設定暫存器和棧等一些相關資訊。至於函式的位置,由於在其他的編譯單元中,需要鏈結 時才能找到。標頭檔案中包含了函式的宣告,其具體的函式 即...

C語言小知識

nowcoder 牛客網 筆記 一 區域性變數與全域性變數 區域性變數不會影響全域性變數的值,使用完即會釋放 二 變數的傳遞 形參的修改對外部不影響 傳入引用與指標時在函式裡修改的將會傳遞出來 三 c語言與c 中的const void main 在c語言中結果為1,1 在c語言中const是執行時的...