C 語言基礎(chǔ)----詳解C中的運算符
C語言中又有哪些運算符呢?
如下所示:
※ 算術(shù)運算符
※ 賦值運算符
※ 關(guān)系運算符
※ 邏輯運算符
※ 三目運算符
C語言基本算術(shù)運算符如下表:
除法運算中注意:
如果相除的兩個數(shù)都是整數(shù)的話,則結(jié)果也為整數(shù),小數(shù)部分省略,如果兩數(shù)中有一個為小數(shù),結(jié)果則為小數(shù)。
取余運算中注意:
該運算只適合用兩個整數(shù)進行取余運算
運算后的符號取決于被模數(shù)的符號,如(-10)%3 = -1;而10%(-3) = 1。
注:C語言中沒有乘方這個運算符,也不能用×,÷等算術(shù)符號。
賦值運算符
下表列出了 C 語言支持的賦值運算符:
運算符 描述 實例
= 簡單的賦值運算符,把右邊操作數(shù)的值賦給左邊操作數(shù) C = A + B 將把 A + B 的值賦給 C
+= 加且賦值運算符,把右邊操作數(shù)加上左邊操作數(shù)的結(jié)果賦值給左邊操作數(shù) C += A 相當于 C = C + A
-= 減且賦值運算符,把左邊操作數(shù)減去右邊操作數(shù)的結(jié)果賦值給左邊操作數(shù) C -= A 相當于 C = C - A
= 乘且賦值運算符,把右邊操作數(shù)乘以左邊操作數(shù)的結(jié)果賦值給左邊操作數(shù) C = A 相當于 C = C * A
/= 除且賦值運算符,把左邊操作數(shù)除以右邊操作數(shù)的結(jié)果賦值給左邊操作數(shù) C /= A 相當于 C = C / A
%= 求模且賦值運算符,求兩個操作數(shù)的模賦值給左邊操作數(shù) 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。自增自減運算符有以下幾種形式:
#include<stdio.h> int main() { int a = 100; printf("%d\n",a++); /*a++意味著先將a的值也就是100給到printf,然后a自加1,于是a的值變成了101,這個101就成了下一行代碼a的初始值了。*/ printf("%d\n",++a); /*++a意思是先將a的值加1(這行代碼的a的初始值來自上一行的結(jié)果,所以a是101,自加1后就變成了102),將102這個值給到printf,所以第二行的結(jié)果輸出是102.*/ printf("%d\n",--a); /*--a意思是先將a的值減1(這行代碼a的初始值是102,減1后變成101),將101這個值給到輸出。*/ printf("%d\n",a--); /*a--意思是將a這個值(即101)給到輸出,然后將101自減1,得100.*/ printf("%d\n",a+1); //a的初始值100(來自上一行的結(jié)果),進行四則運算,+1得101.這里要注意!注意!進行四則運算并不改變a的值,也就是說下一行代碼的a的初始值仍然是100,而非101. printf("%d\n",a);//這里不用解釋 return 0; }
C語言中賦值運算符分為簡單賦值運算符和復合賦值運算符,復合賦值運算符就是在簡單賦值符“=”之前加上其它運算符構(gòu)成,例如+=、-=、*=、/=、%=。
分析:定義整型變量a并賦值為3,a += 5;這個算式就等價于a = a+5; 將變量a和5相加之后再賦值給a
C語言中的關(guān)系運算符:
C語言中的邏輯運算符:
7<x<100寫成計算機可以看的懂的算式就是:x>7 && x<100;
邏輯運算的值也是有兩種分別為“真”和“假”,C語言中用整型的1和0來表示。其求值規(guī)則如下:
(1)與運算(&&)
參與運算的兩個變量都為真時,結(jié)果才為真,否則為假。例如:5>=5 && 7>5 ,運算結(jié)果為真;
(2) 或運算(||)
參與運算的兩個變量只要有一個為真,結(jié)果就為真。 兩個量都為假時,結(jié)果為假。例如:5>=5||5>8,運算結(jié)果為真;
(3) 非運算(!)
參與運算的變量為真時,結(jié)果為假;參與運算量為假時,結(jié)果為真。例如:!(5>8),運算結(jié)果為真。
C語言中的三目運算符:“?:”,其格式為:
表達式1 ? 表達式2 : 表達式3;
執(zhí)行過程是:先判斷表達式1的值是否為真,如果是真的話執(zhí)行表達式2;如果是假的話執(zhí)行表達式3。
各種運算符號的順序:
以上就是C語言基礎(chǔ)----詳解C中的運算符的詳細內(nèi)容,更多關(guān)于C 運算符的資料請關(guān)注腳本之家其它相關(guān)文章!