C語言中又有哪些運運算元呢?
如下所示:
※ 算術運運算元
※ 賦值運運算元
※ 關係運運算元
※ 邏輯運運算元
※ 三目運運算元
C語言基本算術運運算元如下表:
除法運算中注意:
如果相除的兩個數都是整數的話,則結果也為整數,小數部分省略,如果兩數中有一個為小數,結果則為小數。
取餘運算中注意:
該運算只適合用兩個整數進行取餘運算
運算後的符號取決於被模數的符號,如(-10)%3 = -1;而10%(-3) = 1。
註:C語言中沒有乘方這個運運算元,也不能用×,÷等算術符號。
賦值運運算元
下表列出了 C 語言支援的賦值運運算元:
運運算元 描述 例項
= 簡單的賦值運運算元,把右邊運算元的值賦給左邊運算元 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
自增運運算元為「++」,其功能是使變數的值自增1;自減運運算元為「--」,其功能是使變數值自減1。自增自減運運算元有以下幾種形式:
#includeint main() { int a = 100; printf("%d ",a++); /*a++意味著先將a的值也就是100給到printf,然後a自加1,於是a的值變成了101,這個101就成了下一行程式碼a的初始值了。*/ printf("%d ",++a); /*++a意思是先將a的值加1(這行程式碼的a的初始值來自上一行的結果,所以a是101,自加1後就變成了102),將102這個值給到printf,所以第二行的結果輸出是102.*/ printf("%d ",--a); /*--a意思是先將a的值減1(這行程式碼a的初始值是102,減1後變成101),將101這個值給到輸出。*/ printf("%d ",a--); /*a--意思是將a這個值(即101)給到輸出,然後將101自減1,得100.*/ printf("%d ",a+1); //a的初始值100(來自上一行的結果),進行四則運算,+1得101.這裡要注意!注意!進行四則運算並不改變a的值,也就是說下一行程式碼的a的初始值仍然是100,而非101. printf("%d ",a);//這裡不用解釋 return 0; }
C語言中賦值運運算元分為簡單賦值運運算元和複合賦值運運算元,複合賦值運運算元就是在簡單賦值符「=」之前加上其它運運算元構成,例如+=、-=、*=、/=、%=。
分析:定義整型變數a並賦值為3,a += 5;這個算式就等價於a = a+5; 將變數a和5相加之後再賦值給a
C語言中的關係運運算元:
C語言中的邏輯運運算元:
7<x<100寫成計算機可以看的懂的算式就是:x>7 && x<100;
邏輯運算的值也是有兩種分別為「真」和「假」,C語言中用整型的1和0來表示。其求值規則如下:
(1)與運算(&&)
參與運算的兩個變數都為真時,結果才為真,否則為假。例如:5>=5 && 7>5 ,運算結果為真;
(2) 或運算(||)
參與運算的兩個變數只要有一個為真,結果就為真。 兩個量都為假時,結果為假。例如:5>=5||5>8,運算結果為真;
(3) 非運算(!)
參與運算的變數為真時,結果為假;參與運算量為假時,結果為真。例如:!(5>8),運算結果為真。
C語言中的三目運運算元:「?:」,其格式為:
表示式1 ? 表示式2 : 表示式3;
執行過程是:先判斷表示式1的值是否為真,如果是真的話執行表示式2;如果是假的話執行表示式3。
各種運運算元號的順序:
[retouched ] C 語言基礎----詳解C中的運運算元_C 語言已經有247次圍觀