1. 程式人生 > >C語言學習系列(六)基本語法

C語言學習系列(六)基本語法

xor 12px 左移 程序 str 繼續 p s type false

一、C運算符

  • 算術運算符(語法和java類似或基本一樣略過不再描述)

  • 關系運算符(略)

  • 邏輯運算符(略)

  • 位運算符

運算符描述實例
& 如果同時存在於兩個操作數中,二進制 AND 運算符復制一位到結果中。 (A & B) 將得到 12,即為 0000 1100
| 如果存在於任一操作數中,二進制 OR 運算符復制一位到結果中。 (A | B) 將得到 61,即為 0011 1101
^ 如果存在於其中一個操作數中但不同時存在於兩個操作數中,二進制異或運算符復制一位到結果中。 (A ^ B) 將得到 49,即為 0011 0001
~ 二進制補碼運算符是一元運算符,具有"翻轉"位效果,即0變成1,1變成0。 (~A ) 將得到 -61,即為 1100 0011,一個有符號二進制數的補碼形式。
<< 二進制左移運算符。左操作數的值向左移動右操作數指定的位數。 A << 2 將得到 240,即為 1111 0000
>> 二進制右移運算符。左操作數的值向右移動右操作數指定的位數。 A >> 2 將得到 15,即為 0000 1111
  • 賦值運算符(略)

運算符描述實例
= 簡單的賦值運算符,把右邊操作數的值賦給左邊操作數 C = A + B 將把 A + B 的值賦給 C
+= 加且賦值運算符,把右邊操作數加上左邊操作數的結果賦值給左邊操作數 C += A 相當於 C = C + A
-= 減且賦值運算符,把左邊操作數減去右邊操作數的結果賦值給左邊操作數 C -= A 相當於 C = C - A
*= 乘且賦值運算符,把右邊操作數乘以左邊操作數的結果賦值給左邊操作數 C *= A 相當於 C = C * A
/= 除且賦值運算符,把左邊操作數除以右邊操作數的結果賦值給左邊操作數 C /= A 相當於 C = C / A
%= 求模且賦值運算符,求兩個操作數的模賦值給左邊操作數 C %= A 相當於 C = C % A
<<= 左移且賦值運算符 C <<= 2 等同於 C = C << 2
>>= 右移且賦值運算符 C >>= 2 等同於 C = C >> 2
&= 按位與且賦值運算符 C &= 2 等同於 C = C & 2
^= 按位異或且賦值運算符 C ^= 2 等同於 C = C ^ 2
|= 按位或且賦值運算符 C |= 2 等同於 C = C | 2
  • 雜項運算符(略)

運算符描述實例
sizeof() 返回變量的大小。 sizeof(a) 將返回 4,其中 a 是整數。
& 返回變量的地址。 &a; 將給出變量的實際地址。
* 指向一個變量。 *a; 將指向一個變量。
? : 條件表達式 如果條件為真 ? 則值為 X : 否則值為 Y

二、C 中的運算符優先級

類別 運算符 結合性
後綴 () [] -> . ++ - - 從左到右
一元 + - ! ~ ++ - - (type)* & sizeof 從右到左
乘除 * / % 從左到右
加減 + - 從左到右
移位 << >> 從左到右
關系 < <= > >= 從左到右
相等 == != 從左到右
位與 AND & 從左到右
位異或 XOR ^ 從左到右
位或 OR | 從左到右
邏輯與 AND && 從左到右
邏輯或 OR || 從左到右
條件 ?: 從右到左
賦值 = += -= *= /= %=>>= <<= &= ^= |= 從右到左
逗號 , 從左到右

三、C的判斷、循環(略)

C 語言把任何非零非空的值假定為 true,把null 假定為 false

語句描述
if 語句 一個 if 語句 由一個布爾表達式後跟一個或多個語句組成。
if...else 語句 一個 if 語句 後可跟一個可選的 else 語句,else 語句在布爾表達式為假時執行。
嵌套 if 語句 您可以在一個 ifelse if 語句內使用另一個 ifelse if 語句。
switch 語句 一個 switch 語句允許測試一個變量等於多個值時的情況。
嵌套 switch 語句 您可以在一個 switch 語句內使用另一個 switch 語句。

? : 運算符(三元運算符)  :  Exp1 ? Exp2 : Exp3;

循環類型描述
while 循環 當給定條件為真時,重復語句或語句組。它會在執行循環主體之前測試條件。
for 循環 多次執行一個語句序列,簡化管理循環變量的代碼。
do...while 循環 除了它是在循環主體結尾測試條件外,其他與 while 語句類似。
嵌套循環 您可以在 while、for 或 do..while 循環內使用一個或多個循環。

控制語句描述
break 語句 終止循環switch 語句,程序流將繼續執行緊接著循環或 switch 的下一條語句。
continue 語句 告訴一個循環體立刻停止本次循環叠代,重新開始下次循環叠代。
goto 語句 將控制轉移到被標記的語句。但是不建議在程序中使用 goto 語句。


        if ( U.read(me.Blog) ) $("#推薦").click();
        if ( U.copy(me.Blog) ) $("#u Blog").console("原文鏈接:http://www.cnblogs.com/Grand-Jon/p/7538467.html ");
        else me.Fuck(U);

C語言學習系列(六)基本語法