1樓:匿名使用者
後自增自減抄相當於這bai
樣一個du
函式x++()
可以這樣zhi理解:
(i=x; x=x-1; i) > (y+x) ? 10 : ...
第二題:dao
(i=x; x+=1; i) * (j=x; x-=1; j) != ...
2樓:
第一題bai因為1>0 而值為10
第二du題,答案為4無爭議。
你說的zhi問題dao是編譯器專
的問題,例屬如 x++*x--+--x 的問題,類似vc6.0編譯器會先將x++或x--的x值都取出來然後再做運算
可能和正常的理解不太一樣,但編譯器就是這樣編譯的,你可以多用幾個例子試一試,就知道了 。
3樓:小小孩love靛藍
第一題,x--是一個copy賦值語句,相當於baix=x-1,再將自減後的dux進行操作。x-->(y+x)?10:12.5>y++?'a':'z'
從左zhi至右:經x--,x變為0,所以第二個daox為0。
第二題也一樣,x++,x先變為1,再經x--變為0。
x--,和x++一樣,都是先賦值再進行操作。
c語言中,有哪些算術運算子?
4樓:哇哎西西
c語言中算術運算子有以下這些
例項:#include
int main()
當上面的**被編譯和執行時,它會產生下列結果:
line 1 - c 的值是 31
line 2 - c 的值是 11
line 3 - c 的值是 210
line 4 - c 的值是 2
line 5 - c 的值是 1
line 6 - c 的值是 21
line 7 - c 的值是 22
擴充套件資料:
c語言中,除了算數運算子,還提供以下運算子:
1、關係運算子
2、邏輯運算子
3、位運算子
4、賦值運算子
5、雜項運算子
運算子優先順序:
c語言中,運算子的運算優先順序共分為15 級。1 級最高,15 級最低。
在表示式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算子 優先順序相同時,則按運算子的結合性所規定的結合方向處理。
運算子結合性:
c語言中各運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算子的結合性是自左至右,即先左後右。
如有表示式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。這種自左至右的結合 方向就稱為「左結合性」。而自右至左的結合方向稱為「右結合性」。
最典型的右結合 性運算子是賦值運算子。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。c語言運算子中有不少為右結合性,應注意區別,以避免理解錯誤。
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
所有的優先順序中,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。其它的都是從左至右結合。
具有最高優先順序的其實並不算是真正的運算子,它們算是一類特殊的操作。()是與函式相關,與陣列相關,而->及.是取結構成員。
其次是單目運算子,所有的單目運算子具有相同的優先順序,因此在我認為的 真正的運算子中它們具有最高的優先順序,又由於它們都是從右至左結合的,因此*p++與*(p++)等效是毫無疑問的。
5樓:之何勿思
七個,如下:
+ - * / % ++ --
雙目運算子+和-具有相同的優先順序,它們的優先順序比運算子*、/和%的優先順序低,而運算子*、/和%的優先順序又比單目運算子 +(正號) 和 -(負號) 的優先順序低。
6樓:晟睿教育
基本表示式 1級
基本表示式(primary expressions),主要是用於運算子之間,做為運算數。
標識,常量,字串文字量,優先順序提升表示式最優先執行。
優先順序提升表示式是指圓括號包圍的表示式,如「( expression )」
字尾表示式 2級
postfix-expression [ expression ],陣列下標運算。
postfix-expression ( argument-expression-list),函式呼叫,括號內的引數可選。
postfix-expression . identifier,成員訪問,
postfix-expression -> identifier,成員訪問,->號之前應為指標。
postfix-expression ++,字尾自增
postfix-expression --,字尾自減
int unamed = ; //unamed表示一個不可見的變數名。
int* a = unamed;
單目/一元運算 3級
++ unary-expression 字首自增
-- unary-expression 字首自減
unary-operator cast-expression 單目轉型表式式, 包括 取地址& ,提領 * , 正號+ ,負號- 位反~ 邏輯否!。
sizeof unary-expression 求型別長度,對表示式求型別長度
sizeof ( type-name ) 求型別長度
強制型別表示式 4級
( type-name ) cast-expression,強制表示式成為type-name指定的型別。
乘法表示式 5級
「 * 」 乘法運算子;「 / 」除法運算子;「 % 」 取餘運算子。
加法運算子 6級
「 + 」加法運算子;「 - 」減法運算子。
移位運算子 7級
<< 左移運算子;>> 右移運算子。
關係運算子 8級
<、<=、>、>=關係運算子。
相等運算子 9級
「 == 」等於運算子;「 != 」不等於運算子。
位與運算子 10級
「 & 」按位與運算子
位異或運算子 11級
「 ∧ 」按位異或運算子(bitwise exclusive or operator)。
位或運算子 12 級
「 | 」按位或運算子(bitwise inclusive or operator)。
邏輯與運算子 13級
「&&」邏輯與運算子。
邏輯或運算子 14 級
「 || 」邏輯或運算子。
三元條件運算子 15級
? :條件運算子。
賦值運算子 16 級
=、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=賦值運算子。
逗號運算子 17級
「,」逗號運算子。
7樓:匿名使用者
七個+ - * / % ++ --
加減乘除不用我說了吧
"%"求餘,就是算除法,值是他的餘數
"/"這個是除法,但是有一點注意,兩邊運算元全為整數時,值是取整的。
「++」是自加,比如說i++就是i的值自動加1,規則是i++是鮮賦值再自加,++i是先自加再賦值。舉個例子a=i++這個是先把i的值賦給a,然後i再自加。a=++i是i先自加,然後把自加之後的值賦給a。
「--」是自減,和自加的規則相同,只是值是自動減一。
c語言的運算子可分為以下幾類:
1. 算術運算子:用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、自增(++)、自減(--)共七種。
2. 關係運算子:用於比較運算。包括大於(>)、小於(<)、等於(= =)、大於等於(>=)、小於等於(<=)和不等於(!=)六種。
3. 邏輯運算子:用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4. 位操作運算子:參與運算的量,按二進位制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5. 賦值運算子:用於賦值運算,分為簡單賦值(=)、複合算術賦值(+=,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6. 條件運算子:這是一個三目運算子,用於條件求值(?:)。
7. 逗號運算子:用於把若干表示式組合成一個表示式(,)。
8. 指標運算子:用於取內容(*)和取地址(&)二種運算。
9. 求位元組數運算子:用於計算資料型別所佔的位元組數(sizeof)。
10. 特殊運算子:有括號(),下標,成員(→,.)等幾種。
8樓:匿名使用者
(1)關係運算子
< 小於
<= 小於等於
> 大於
>= 大於等於
以上四個優先順序相同(高)
== 等於
!= 不等於
這兩個優先順序相同(低)
關係運算子的優先順序低於算術運算子
關係運算子的優先順序高於賦值運算子
(2)邏輯運算子
&& 邏輯與 就是and的意思|| 邏輯或 就是or的意思
! 邏輯非 就是not的意思
他們的優先次序為 !-&&-||即 !的優先順序最高其中&&和||的優先順序低於關係運算子 !的優先順序高於運算子(3)算術運算子
+ 加法
- 減法
* 乘法
/ 除法
% 模運算子 即求餘運算 兩邊必須是整數 如7%4=3需要說明的是 / 即除法中 5/3的結果是1 把小數部分捨去
c語言中運算子優先順序排序C語言中運算子優先順序排序
c語言中運算子優先順序排序如下 分為優先順序15級 1 圓括號 下標運算子 分量運算子的指向結構體成員運算子 結構體成員運算子 2 邏輯非運算子 按位取反運算子 自增自減運算子 負號運算子 型別轉換運算子 型別 指標運算子和取地址運算子 長度運算子 sizeof 3 乘法運算子 除法運算子 取餘運算...
c語言中的自增運算
b 和 b的區別 b 首先返回b的值 然後b自增1 b首先b自增1,然後返回b的值 y a a a 執行順序如下 a a 1 a 1 y a y 1 y y a y 2 a a 1 a 2 y y a y 4 a a 1 a 3 a,先做自增,再使用a的值 a 先使用a的值,再做自增 y a a a...
C語言中邏輯非是什麼意思,C語言中邏輯運算子非與或的優先順序怎麼說
邏輯與 是 邏輯非 否 比如 李宇春是男人,這句話就是 邏輯非 陳冠希是男人,這句話就是 邏輯與 邏輯非bai 是c語言中邏輯運算中的一種du,其運算子號zhi為英文半形嘆dao號,即 運算回為單目運算,即只有答一個運算元,與其後面的常量或變數相結合進行運算。c語言中的邏輯運算結果均只有真和假兩種,...