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補齊。有符號右移位,將運算數的二進位制整體右移指定位數,整數高位用...