C語言運算子是怎麼運算的,C語言運算子

2021-05-24 06:21:07 字數 6676 閱讀 1324

1樓:節初蝶苦亭

%是除法取餘運算。用於整數與整

數運算。否則,不同的編譯器會得不同結內果。'%'為取餘運算子,容用於把它前面的整數值或表示式除以其後面的整數值或表示式,結果為不能被後面的整數或表示式整除的最小整數,它後面的數值應該為大於1的正整數。

如"13%7",就表示13

除以7餘6。

作為雙目運算子,左右運算元可以是數值,也可以是表示式。但'%'運算子的左右運算元必須是整數。負數取餘運算ms

vc++

編譯器:-4%

6=-46

%-4=2

擴充套件資料:

在整數的除法中,只有能整除與不能整除兩種情況。當不能整除時,就產生餘數,所以餘數問題在小學數學中非常重要。

取餘數運算:

amodb=

c表示整數a除以整數b所得餘數為c。

餘數的計算公式:c=a

-⌊a/b⌋*b

其中,⌊

⌋為向下取整運算子,向下取整運算稱為floor,用數學符號⌊⌋表示例:⌊

3.476

⌋=3,⌊6.7546⌋=6,⌊-3.14159⌋=-4如7mod3=

7-⌊7/3⌋*3=7-2*3=1

參考資料:餘數_搜狗百科

2樓:闢歌韻商聽

%是除法取餘運bai算。適du用於整數與整數zhi運算。否則,不同dao的編譯器會得不同內

結果。'%'為取餘運算子容,用於把它前面的整數值或表示式除以其後面的整數值或表示式,結果為不能被後面的整數或表示式整除的最小整數,它後面的數值應該為大於1的正整數。

作為雙目運算子,左右運算元可以是數值,也可以是表示式,但是左右兩邊的運算元必須是整數。

擴充套件資料:

c語言的運算子:

1.算術運算子:*-+

/%2.關係運算子:

><==!=

>=<=3.邏輯運算子:!

&&||

4.位運算子:<<

>>~|

^&5.賦值運算子:=及擴充套件賦值運算子

6.條件運算子:?:

7.逗號運算子:,

8.指標運算子:*和&

9.求位元組數運算子:sizeof

10.強制型別轉換運算子:(型別)

11.分量運算子:.

->12.下標運算子:[

]13.其他:如函式呼叫運算子:()

參考資料:

運算子----搜狗百科

3樓:揚清佳荀蔭

1級優先順序左來結合

()圓括號

下標運源算bai符du

->指向結構體成員運算子

.結構體成員運算子

2級優先順序右zhi

結合dao

!邏輯非運算子

~按位取反運算子

++自增運算子

--自減運算子

-負號運算子

(型別)型別轉換運算子

*指標運算子

&地址與運算子

sizeof長度運算子

3級優先順序左結合

*乘法運算子

/除法運算子

%取餘運算子

4級優先順序左結合

+加法運算子

-減法運算子

5級優先順序左結合

《左移運算子

>>右移運算子

6級優先順序左結合

<、<=、>、>=關係運算子

7級優先順序左結合

==等於運算子

!=不等於運算子

8級優先順序左結合

&按位與運算子

9級優先順序左結合

^按位或運算子

10級優先順序左結合

|按位異或運算子

11級優先順序左結合

&&邏輯與運算子

12級優先順序左結合

||邏輯或運算子

13級優先順序右結合

?:條件運算子

14級優先順序右結合

=+=-=*

=/=%=

>=<<=

&=^=|=全為賦值運算子

15級優先順序左結合

,逗號運算子

c語言運算子

4樓:百度文庫精選

內容來自使用者:wjian178

e68a84e8a2ad62616964757a686964616f31333433646432 1級優先順序(左結合)

() 圓括號;下標運算子;->指向結構體成員運算子;. 結構體成員運算子。

2級優先順序(右結合)

!邏輯非運算子;~按位取反運算子;++字首增量運算子;--字首減量運算子;+正號運算子;-負號運算子;(型別)型別轉換運算子;*指標運算子;&地址運算子;sizeof長度運算子。

3級優先順序(左結合)

*乘法運算子;/除法運算子;%取餘運算子。

4級優先順序(左結合)

+加法運算子;-減法運算子。

5級優先順序(左結合)

<>右移運算子。

6級優先順序(左結合)

<、、>=關係運算子。

7級優先順序(左結合)

==等於運算子;!=不等於運算子。

8級優先順序(左結合)

&按位與運算子。

9級優先順序(左結合)

^按位異或運算子。

10級優先順序(左結合)

|按位或運算子。

11級優先順序(左結合)

&&邏輯與運算子。

12級優先順序(左結合)

||邏輯或運算子。

13級優先順序(右結合)

? :條件運算子。

14級優先順序(右結合)

=、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <>=賦值運算子。

15級優先順序(左結合)

,逗號運算子。  運算。c語言運算子中有不少為右結合性,應注意區別,以避免理解錯誤。運算子優先順序等級口訣及註釋運算子應用舉例

5樓:聽不清啊

~和《都是位運算子,~是按位取反運算子,《是左移運算子。以i=3為例,~(1<

先計算1<<3(值為00001000),i再變為4

再按位取反,得11110111,將其賦值給p1

c語言中按位與(&)運算子是什麼意思

6樓:蟲心菜

是將二進位制數按照位的對應相與,得到一個新的二進位制數。1與0為0;1與1為1;0與0為0。

分析如下:

就是二進位制的每一位相與。

比如:1010 0011& 0000 1111,結果為0000 0011。也就是與上0相當於把那位數清0,與上1相當於把那位保留。

擴充套件資料

1、按位與運算子"&"是雙目運算子。 其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 ,否則為0。參與運算的數以補碼方式出現。

例如:9&5可寫算式如下: 00001001 (9的二進位制補碼)&00000101 (5的二進位制補碼) 00000001 (1的二進位制補碼)可見9&5=1。

按位與運算通常用來對某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 運算 ( 255 的二進位制數為11111111)。

7樓:生活如歌

比如:1010 0011

& 0000 1111

------------------------0000 0011

也就是與上0相當於把那位數清0,與上1相當於把那位保留

8樓:鞏採南檢豐

一個位元組有

8位也就

是有一個8位的2進位制數,比如

0000

0001

表示的是1

,0111

1111

表示127,而位運算

實際就是

2進位制的運算

&按位與

比如3&7

意思是0000

0011位與

0000

0111,結果是

3也就是0000

0011。意思是如果2個數字同一為一,有0為0。

|按位或

比如3|7

意思是0000

0011位或

0000

0111,

結果是7也就是0000

0111.意思是2個數字對比有一為一,同0為0.

^按位異或

比如3^7

結果就是4

0000

0100,

就是說2個數 每一位數字不同則為1相同則為0 ~

取反 這個意思是

把每一位上的數字取反

為0則變為1

為1則變為0

如~3。

<<左移表示把這個數字整體

向左移動多少位

如1<<2,表示把1向左移動2位

也就是說把

0000

0001

向左移動2位

就是0000

0100.

也就是說1變成了100。

>>右移就是把這個數的

末尾多少位

去掉如17>>3

表示0001

0001

的最後3位去掉

就變成了

0000

0010

9樓:匿名使用者

就是二進位制的每一位相與

假如a=0b0111(0b表示二進位制),b=0b1000,那麼a&b=

表示他們的每一位相與 結果是0b0000,不是二進位制的化成二進位制,希望對你有幫助。

10樓:匿名使用者

取地址操作符!就是取出&後物件或者變數的,儲存位置的地址

c語言邏輯運算子 我不明白&&和||到底是怎麼運算的

11樓:匿名使用者

1 形式:

&&的形式為a&&b。

||的形式為a||b。

2 計算規則:

&&只有當a和b的值均非0時,結果為1,否則結果為0。

||只有當a和b的值均為0時,結果為0,否則結果為1。

3 優先順序:

&&的優先順序比||高,所以在寫在一起時,先計算&& 再計算||。

相同符號時,自左向右計算。

4 短路原則:

對於&&,如果左運算元a為0,那麼結果必然為0, 右運算元b將不參與計算。

對於||,如果左運算元a非0,那麼結果必然為1, 右運算元b將不參與計算。

12樓:匿名使用者

邏輯運算,方式子成立是即為真時整個式子值就為1反之為0,而對於值來說只要不是0就為真,如i&&j&&k=1,i,j=3都為真,所以整個式子為真等於1。另外要注意的是當&&左邊為假時不進行右邊計算,如(i=0)&&(j=3);l為0假右邊j=3不進行運算,所以j還是等於2,手機寫的真不方便。

13樓:**

i&&j&&k,先判斷i&&j,因為i和j都大於0,所以這個命題是真的,所以i&&j這個表示式等於1,再判斷後面的1&&k(ps:如果i&&j這個表示式等於0,後面的就不用判斷了,整個表示式就是0了)

。因為k大於0,所以1&&k就等於1,整個表示式就等於1了。

14樓:匿名使用者

邏輯正即為1,否則就為0,所以i&&j&&k=1

至於後面的就是因為&&這個運算子了,如果它的前一個為0的話那後面的就會直接忽略

不過你的結果貌似有點問題。。。。

c語言 運算子%是怎麼運算的

15樓:噠噠噠噠蝸牛啊

c語言中%的作用:%作為運算子是用來取餘的

運算子(operator)是可以對資料進行相應操作的符號。如對資料求和操作,用加法運算子 '+',求積操作使用乘法運算子 '*' ,求餘數用運算子'%'。等等

例如 :

一、25%4=1 ;25除以4商6餘數是1

二、33%5=3  ;33除以5商6餘數是3

擴充套件資料:

c語言常用的運算子

1. 算術運算子

用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、自增(++)、自減(--)共七種。

2.關係運算子

用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。

3.邏輯運算子

用於邏輯運算。包括與(&&)、或(||)、非(!)三種。

4.位操作運算子

參與運算的量,按二進位制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。

5.賦值運算子

用於賦值運算,分為簡單賦值(=)、複合算術賦值(+=,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。

6.條件運算子

這是一個三目運算子,用於條件求值(?:)。

7.逗號運算子

用於把若干表示式組合成一個表示式(,)。

8.指標運算子

用於取內容(*)和取地址(&)二種運算。

9.求位元組數運算子

用於計算資料型別所佔的位元組數(sizeof)。

10.特殊運算子

有括號(),下標,成員(→,.)等幾種。

c語言運算子,C語言 運算子 是怎麼運算的

9 7 是 1.幾,舍位後不是鐵定是 1嗎?不是的,不能通過舍位來判定,不同的機器結果不同,可能是 1,也可能是 2 什麼叫向上取整 向下取整 向上取整指當計算的結果不為整數時取大於計算結果的整數,向下取整指當計算的結果不為整數時取小於計算結果的整數。當計算結果為整數時直接取整數。計算結果處於兩個整...

c語言運算子是怎麼運算的C語言運算子是怎麼運算的

c語言中 的作用 作為運算子是用來取餘的 運算子 operator 是可以對資料進行相應操作的符號。如對資料求和操作,用加法運算子 求積操作使用乘法運算子 求餘數用運算子 等等 例如 一 25 4 1 25除以4商6餘數是1 二 33 5 3 33除以5商6餘數是3 擴充套件資料 c語言常用的運算子...

C語言運算子問題

在嵌入式環境下,因為記憶體,執行速度等和pc機相比,是有所限制的,所以為了節省空間,提升速度等原因,會使用位操作。至於使用,dwjchdu 已經回答了,可以參照。在程式中節省空間使用方法如下例 define last bit on 0x1 define next bit on 0x2if x las...