c語言筆記2 符號

2021-09-30 14:15:16 字數 1470 閱讀 1969



1.注釋符號

:///*……*/

編譯器在編譯中將注釋符號用空格代替

編譯器認為雙引號括起來的內容是字串

/*……*/

型注釋不能被巢狀

編譯器將

/*作為一段注釋的開始,把

/*後的內容作為注釋,直到出現*/

2.接續符:\(

盡量不用)

①編譯器將反斜槓刪除,後面一行的內容自動接到前一行

②在連線單詞時,反斜槓後不能有空格,下一行之前不能有空格

③接續符適合在定義巨集**塊時使用

例:巨集**塊(值傳遞)

#define swap(a,b)\

呼叫的a,b

的值調換

若用函式寫:(位址傳遞)

void swap(int a;int b)

呼叫後a,b

的值不會變

「\」作為接續符還是轉義符:

當」\」

作為接續符使用時可直接出現在程式中

當」\」

作為轉義符使用時需出現在字元或字串中

3.單引號

雙引號本質上單引號括起來的乙個字元代表整數

雙引號擴起來的字元代表乙個指標

4.取反:「!」

只認得0

;見到0返回1

;值不為

0是結果是0

5.左移

:《右移:

>>

左移相當於乘以2的

n次方,右移相當於除以2的

n次方,但效率比常數運算子高

6.」,

」表示式:

從左到右順序求值,最後乙個表示式的值為表示式的值

7.程式例項:交換a

,b的值,不使用中間變數:

方法①:

a=a+b;

b=a-b;

a=a-b;當a

很大,b

很大時可能溢位

方法②:(巧用

^的交換律)

a=a^b;

b=a^b;//b=a^b^b=a^(b^b)=a^0=a

a=a^b;//a=a^b^a=a^a^b=0^b=b;

只適用整型數

8.多符號的讀取:貪心法

編譯器處理的每乙個符號應盡可能多的包含字元

編譯器以從左到右的順序乙個乙個盡可能多的讀入字元

例:a+++b=a+++b

i=2;++i+++i -> ++i++ + i-> 2++ +i

報錯9.c

語言中的隱式轉換:

①算術運算中,低型別轉換為高型別

②賦值表達書中,表示式的值轉換為左邊變數型別

③函式呼叫時,實參轉換為形參的型別

④函式返回值,

return

表示式轉換為返回值型別

char->short -> int->unsigned int-> long -> unsigned long ->double -> float

C語言筆記 符號

一 注釋符號 和 1 注釋不能巢狀,總與離它最近的 匹配 2 注意 y x p 這個語句會報錯,本意是想表示x除以p指向的記憶體裡的值,把結果賦給y。但是編譯器會把 後邊的內容當做注釋,直到 出現,可是沒有找到 所以出錯。應該寫成y x p 二 單引號 雙引號 1 雙引號引起來的是字串常量 2 單引...

C語言符號

1.注釋符號 編譯器在編譯時刪除注釋,但是以空格替換注釋。2.接續符 編譯器會自動將 去除,將下一行提到後方。可用於巨集定義 3.與 從左往右運算當遇到條件為真,則停止運算 後續計算將不執行 從左往右運算當遇到條件為假,則停止運算 後續計算將不執行 4.只認0 0 1 100 0 5.a?b c a...

c語言符號

運算子基本的優先順序需要記住 指標最優,單目運算優於雙目運算。如正負號。先算術運算,後移位運算,最後位運算。請特別注意 1 3 2 7等價於 1 3 2 7.邏輯運算最後結合。有符號左移位,將運算數的二進位制整體左移指定位數,低位用0補齊。有符號右移位,將運算數的二進位制整體右移指定位數,整數高位用...