C 語言基礎(chǔ)----詳解C中的運(yùn)算符
C語言中又有哪些運(yùn)算符呢?
如下所示:
※ 算術(shù)運(yùn)算符
※ 賦值運(yùn)算符
※ 關(guān)系運(yùn)算符
※ 邏輯運(yùn)算符
※ 三目運(yùn)算符
C語言基本算術(shù)運(yùn)算符如下表:
除法運(yùn)算中注意:
如果相除的兩個(gè)數(shù)都是整數(shù)的話,則結(jié)果也為整數(shù),小數(shù)部分省略,如果兩數(shù)中有一個(gè)為小數(shù),結(jié)果則為小數(shù)。
取余運(yùn)算中注意:
該運(yùn)算只適合用兩個(gè)整數(shù)進(jìn)行取余運(yùn)算
運(yùn)算后的符號取決于被模數(shù)的符號,如(-10)%3 = -1;而10%(-3) = 1。
注:C語言中沒有乘方這個(gè)運(yùn)算符,也不能用×,÷等算術(shù)符號。
賦值運(yùn)算符
下表列出了 C 語言支持的賦值運(yùn)算符:
運(yùn)算符 描述 實(shí)例
= 簡單的賦值運(yùn)算符,把右邊操作數(shù)的值賦給左邊操作數(shù) C = A + B 將把 A + B 的值賦給 C
+= 加且賦值運(yùn)算符,把右邊操作數(shù)加上左邊操作數(shù)的結(jié)果賦值給左邊操作數(shù) C += A 相當(dāng)于 C = C + A
-= 減且賦值運(yùn)算符,把左邊操作數(shù)減去右邊操作數(shù)的結(jié)果賦值給左邊操作數(shù) C -= A 相當(dāng)于 C = C - A
= 乘且賦值運(yùn)算符,把右邊操作數(shù)乘以左邊操作數(shù)的結(jié)果賦值給左邊操作數(shù) C = A 相當(dāng)于 C = C * A
/= 除且賦值運(yùn)算符,把左邊操作數(shù)除以右邊操作數(shù)的結(jié)果賦值給左邊操作數(shù) C /= A 相當(dāng)于 C = C / A
%= 求模且賦值運(yùn)算符,求兩個(gè)操作數(shù)的模賦值給左邊操作數(shù) C %= A 相當(dāng)于 C = C % A
<<= 左移且賦值運(yùn)算符 C <<= 2 等同于 C = C << 2
>>= 右移且賦值運(yùn)算符 C >>= 2 等同于 C = C >> 2
&= 按位與且賦值運(yùn)算符 C &= 2 等同于 C = C & 2
^= 按位異或且賦值運(yùn)算符 C ^= 2 等同于 C = C ^ 2
|= 按位或且賦值運(yùn)算符 C |= 2 等同于 C = C | 2
自增運(yùn)算符為“++”,其功能是使變量的值自增1;自減運(yùn)算符為“--”,其功能是使變量值自減1。自增自減運(yùn)算符有以下幾種形式:
#include<stdio.h> int main() { int a = 100; printf("%d\n",a++); /*a++意味著先將a的值也就是100給到printf,然后a自加1,于是a的值變成了101,這個(gè)101就成了下一行代碼a的初始值了。*/ printf("%d\n",++a); /*++a意思是先將a的值加1(這行代碼的a的初始值來自上一行的結(jié)果,所以a是101,自加1后就變成了102),將102這個(gè)值給到printf,所以第二行的結(jié)果輸出是102.*/ printf("%d\n",--a); /*--a意思是先將a的值減1(這行代碼a的初始值是102,減1后變成101),將101這個(gè)值給到輸出。*/ printf("%d\n",a--); /*a--意思是將a這個(gè)值(即101)給到輸出,然后將101自減1,得100.*/ printf("%d\n",a+1); //a的初始值100(來自上一行的結(jié)果),進(jìn)行四則運(yùn)算,+1得101.這里要注意!注意!進(jìn)行四則運(yùn)算并不改變a的值,也就是說下一行代碼的a的初始值仍然是100,而非101. printf("%d\n",a);//這里不用解釋 return 0; }
C語言中賦值運(yùn)算符分為簡單賦值運(yùn)算符和復(fù)合賦值運(yùn)算符,復(fù)合賦值運(yùn)算符就是在簡單賦值符“=”之前加上其它運(yùn)算符構(gòu)成,例如+=、-=、*=、/=、%=。
分析:定義整型變量a并賦值為3,a += 5;這個(gè)算式就等價(jià)于a = a+5; 將變量a和5相加之后再賦值給a
C語言中的關(guān)系運(yùn)算符:
C語言中的邏輯運(yùn)算符:
7<x<100寫成計(jì)算機(jī)可以看的懂的算式就是:x>7 && x<100;
邏輯運(yùn)算的值也是有兩種分別為“真”和“假”,C語言中用整型的1和0來表示。其求值規(guī)則如下:
(1)與運(yùn)算(&&)
參與運(yùn)算的兩個(gè)變量都為真時(shí),結(jié)果才為真,否則為假。例如:5>=5 && 7>5 ,運(yùn)算結(jié)果為真;
(2) 或運(yùn)算(||)
參與運(yùn)算的兩個(gè)變量只要有一個(gè)為真,結(jié)果就為真。 兩個(gè)量都為假時(shí),結(jié)果為假。例如:5>=5||5>8,運(yùn)算結(jié)果為真;
(3) 非運(yùn)算(!)
參與運(yùn)算的變量為真時(shí),結(jié)果為假;參與運(yùn)算量為假時(shí),結(jié)果為真。例如:!(5>8),運(yùn)算結(jié)果為真。
C語言中的三目運(yùn)算符:“?:”,其格式為:
表達(dá)式1 ? 表達(dá)式2 : 表達(dá)式3;
執(zhí)行過程是:先判斷表達(dá)式1的值是否為真,如果是真的話執(zhí)行表達(dá)式2;如果是假的話執(zhí)行表達(dá)式3。
各種運(yùn)算符號的順序:
以上就是C語言基礎(chǔ)----詳解C中的運(yùn)算符的詳細(xì)內(nèi)容,更多關(guān)于C 運(yùn)算符的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C語言交換奇偶位與offsetof宏的實(shí)現(xiàn)方法
offsetof()是C自帶的一個(gè)宏,它的作用就是計(jì)算結(jié)構(gòu)體成員相對于首地址處的偏移量,下面這篇文章主要給大家介紹了關(guān)于C語言交換奇偶位與offsetof宏的實(shí)現(xiàn)方法,需要的朋友可以參考下2023-02-02Qt實(shí)現(xiàn)一個(gè)簡單的word文檔編輯器
本文主要介紹了Qt實(shí)現(xiàn)一個(gè)簡單的word文檔編輯器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07C語言實(shí)現(xiàn)動(dòng)態(tài)鏈表的示例代碼
本文主要介紹了C語言實(shí)現(xiàn)動(dòng)態(tài)鏈表的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05