『壹』 c語言中,!(--x)什麼意思
C語言運算符,括弧裡面(---x)表示x的值減去1,相當於「x」變為「x-1」,括弧外面「!」表示取反(非0數變為0,0變為1)。
除了常見的三大類,算術運算符、關系運算符與邏輯運算符之外,還有一些用於完成特殊任務的運算符,比如位運算符。
(1)c語言中運算括弧怎麼表示擴展閱讀
C語言中++*x和*++x的區別
(1)「++「跟「*」的優先順序一樣,如果兩個同時出現,運算順序是從右往左(不是常規的從左往右)。即「++*x」即「++(*x)」,先取x的值,然後讓值自加1。(地址沒變,指針指向的值變了)。
(2)「*++x」即「*(++x)」,先讓x的自加1,就是x的地址加上這個指針類型的步長(比如說這個指針是int類型,那它的地址+4,以此類推),然後再取x的值。(地址變了,但是值沒變)
(3)另外的,int *x,「x」代表的是指針,指針即地址,*是取值符,*x就是取指針x里存的值。
『貳』 C語言中>>和<<如何使用
C語言中<< 代表左移運算符,>> 代表右移運算符,位移位運算符是將數據看成二進制數,對其進行向左或向右移動若干位的運算。
<< 代表左移運算符:左移運算符用來將一個數的各二進制位全部左移若干位,移動的位數由右操作數指定,右操作數必須是非負值,其右邊空出的位用0填補,高位左移溢出則舍棄該高位。
例如:設無符號短整型變數a為0111(對應二進制數為0000000100010001),則:a<<3 結果為0888(對應二進制數為0000100010001000)。
>> 代表右移運算符:右移運算是將一個二進制位的操作數按指定移動的位數向右移動,移出位被丟棄,左邊移出的空位或者一律補0,或者補符號位,這由不同的機器而定。在使用補碼作為機器數的機器中,正數的符號位為0,負數的符號位為1。
例如:var temp = 56 >> 2 變數temp的值為 14,因為56 (即二進制的 00111000)向右移兩位等於14 (即二進制的 00001110) 。
(2)c語言中運算括弧怎麼表示擴展閱讀:
相關運算規則:
1、在移位運算時,byte、short和char類型移位後的結果會變成int類型,對於byte、short、char和int進行移位時,規定實際移動的次數是移動次數和32的余數,也就是移位33次和移位1次得到的結果相同。
2、移動long型的數值時,規定實際移動的次數是移動次數和64的余數,也就是移動66次和移動2次得到的結果相同。
3、位移位運算符的優先順序:算術運算符優先於位移位運算符優先於關系運算符,位移位運算符是同級別的,結合性是自左向右。
『叄』 c語言中關於函數後面的小括弧
括弧後面是寫參數數的
int
max(int
x,int
y)代表這個max函數有2個參數
每個參數都是整型的,所以調用max函數用max(3,4)這樣的就可以
用max(1.1,2.2)這樣的數程序就會出錯
如果不說明參數的類型將無法進行函數中的運算及表示
『肆』 c語言中的括弧表達式
括弧表達式計算順序是從左到右,然後整個表達式返回的是最右邊表達式的值,如第一個表達式,先算最內層的括弧表達式的最左邊的值,再把其最右邊的值返回並賦值給b,所以b在此次運算之後變為3,之後b+2=5(但5隻是一個臨時值,b值還是3),之後15+b=18,並且這個值由於是最右的表達式會作為整個大括弧表達式的返回值,即b再一次被賦值為18,然後現計算b+=18得到36;
如此第二個就是-30吧,對了,賦值表達式是從右到左賦值的
『伍』 c語言運算符號的表示方法
1
算術運算符
用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運算,%)、自增(++)、自減(--)共七種。
2.關系運算符
用於比較運算。包括大於(>)、小於(<)、等於(==)、
大於等於(>=)
、小於等於(<=)和不等於(!=)六種。
3.邏輯運算符
用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4.位操作運算符
參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5.賦值運算符
用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6.條件運算符
這是一個三目運算符,用於條件求值(?:)。
7.逗號運算符
用於把若干表達式組合成一個表達式(,)。
8.指針運算符
用於取內容(*)和取地址(&)二種運算。
9.求位元組數運算符
用於計算數據類型所佔的位元組數(sizeof)。
10.特殊運算符
有括弧(),下標[],成員(→,.)等幾種。
優先順序1級
結合方向
左結合(自左至右)
(
)
圓括弧
[
]下標運算符
->
指向結構體成員運算符
.
結構體成員運算符(請注意它是一個實心圓點)
優先順序2級
結合方向
右結合(自右至左)單目運算符
!
邏輯非運算符
~
按位取反運算符
++
自增運算符
--
自減運算符
-負號運算符
(類型)
類型轉換運算符
*
指針運算符
&
地址與運算符
sizeof
長度運算符
優先順序3級
結合方向
左結合
雙目運算符
*
乘法運算符
/
除法運算符
%
取余運算符
優先順序4級
結合方向
左結合
雙目運算符
+
加法運算符
-
減法運算符
優先順序5級
結合方向
左結合
雙目運算符
<<
左移運算符
>>
右移運算符
優先順序6級
結合方向
左結合
雙目運算符
<、<=、>、>=
關系運算符
優先順序7級
結合方向
左結合
雙目運算符
==
等於運算符
(判斷)
!=
不等於運算符(判斷)
優先順序8級
結合方向
左結合
雙目運算符
&
按位與運算符
優先順序9級
結合方向
左結合
雙目運算符
^
按位異或運算符
優先順序10級
結合方向
左結合
雙目運算符
|
按位或運算符
舉例:0xfe|0xef
即為1111
1110
與1110
1111按位或運算則答案為:1111
1111
即0xff。
優先順序11級
結合方向
左結合
雙目運算符
&&
邏輯與運算符
優先順序12級
結合方向
左結合
雙目運算符
||
邏輯或運算符
優先順序13級
結合方向
右結合
三目運算符
?
:
條件運算符
優先順序14級
結合方向
右結合
雙目運算符
=
賦值運算符
+
=
加後賦值運算符
如s+=1表示s=s+1
-
=
減後賦值運算符
如s-=1表示s=s-1
*
=
乘後賦值運算符
/
=
除後賦值運算符
%
=
取模後賦值運算符
<
<=
左移後賦值運算符
>>=右移後賦值運算符
&=
按位與後賦值運算符
^=按位異或後賦值運算符
|=
按位或後賦值運算符
優先順序15級
結合方向
左結合
,
逗號運算符
『陸』 c語言中,!(--x)什麼意思
C語言運算符,括弧裡面(---x)表示x的值減去1,相當於「x」變為「x-1」,括弧外面「!」表示取反(非0數變為0,0變為1)。
除了常見的三大類,算術運算符、關系運算符與邏輯運算符之外,還有一些用於完成特殊任務的運算符,比如位運算符。
(6)c語言中運算括弧怎麼表示擴展閱讀
優先順序,C語言中,運算符的運算優先順序共分為15 級。1 級最高,15 級最低。 在表達式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算符 優先順序相同時,則按運算符的結合性所規定的結合方向處理。
結合性:C語言中各運算符的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算符的結合性是自左至右,即先左後右。如有表達式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。這種自左至右的結合 方向就稱為「左結合性」。
而自右至左的結合方向稱為「右結合性」。最典型的右結合 性運算符是賦值運算符。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。C語言運算符中有不少為右結合性,應注意區別,以避免理解錯誤。
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。所有的優先順序中,只有三個優先順序是從右至左結合的,它們是單目運算符、條件運算符、賦值運算符。其它的都是從左至右結合。
具有最高優先順序的其實並不算是真正的運算符,它們算是一類特殊的操作。()是與函數相關,[]與數組相關,而->及.是取結構成員。
其次是單目運算符,所有的單目運算符具有相同的優先順序,因此在我認為的 真正的運算符中它們具有最高的優先順序,又由於它們都是從右至左結合的,因此*p++與*(p++)等效是毫無疑問的。
另外在C語言里,沒有前置後置之分,因為++ -- 是右結合所以右側優先運算,表現為 "操作數後置優先順序比較高" 的假象,前置和後置的區分是因為運算符重載而後加入C++的
接下來是算術運算符,*、/、%的優先順序當然比+、-高了。
『柒』 c語言中中括弧什麼意思[ ]
該中括弧為數組標識。
int a[6];就是定義一個一維數組,這個數組名叫做 a ,共有6個元素;同理int b[6][6];就是定義一個二維數組,這個數組共有6*6個元素。
定義之後,就可以引用該數組的元素,但不能直接用 a[6] ,a此時包含的元素只有a[0],a[1],a[2],a[3],a[4],a[5]這6個。
C語言支持定義一系列相同連續的變數空間,其定義形式為type name[N];代表定義個數為N,每個元素類型均為type型的數組變數name。
在C中規定,數組元素的下標n是從0開始計數的,所以對於定義的a[100], 其合法的元素為a[0], a[1],.... , a[99]。
(7)c語言中運算括弧怎麼表示擴展閱讀
標識符(identifier)是指用來標識某個實體的一個符號,在不同的應用環境下有不同的含義。在計算機編程語言中,標識符是用戶編程時使用的名字。
用於給變數、常量、函數、語句塊等命名,以建立起名稱與使用之間的關系。標識符通常由字母和數字以及其它字元構成。
『捌』 C語言中「>>=,<<=,&=,^=,|=」分別表示什麼意思請舉例說明
1、C語言中的 >>= 意思為:右移後賦值
代碼示例為:
x >>=3;
右移後結果為:
(8)c語言中運算括弧怎麼表示擴展閱讀:
1、C語言運算符的優先順序順序
運算符的優先順序從高到低大致是:單目運算符、算術運算符、關系運算符、邏輯運算符、條件運算符、賦值運算符(=)和逗號運算符。
2、比特右移運算符的位移
比特右移(>>)運算符可以是算術(左端補最高有效位)或是邏輯(左端補 0)位移。例如,將 11100011 右移 3 比特,算術右移後成為 11111100,邏輯右移則為 00011100。因算術比特右移較適於處理帶負號整數,所以幾乎所有的編譯器都是算術比特右移。
『玖』 C語言中中括弧用什麼表示啊
你的意思可能是,比如數學里有個表達式:
{[(1+2)*2+3]+5}*5,那麼()叫小括弧、【】叫做中括弧、{ }叫大括弧,對吧?
C語言中是沒有中括弧這種說法,全部都只用()小括弧表示,比如要把上面那個數學表達式表示成C語言的表達式時,只需把所有的中括弧和大括弧換成小括弧:(( (1+2)*2+3 )+ 5 )*5. 程序執行的時候從最裡面的小括弧開始執行,一個個向外。