1樓:
你宣告為
無符來號char,則運算會按無符號源處bai理。
你宣告為有符號duchar,則運算會按有符號處zhi理。
例如:unsigned char c;
char d;
c='\376';
d = '\376';
printf("c=%d d=%d\n", c, d);
列印出:daoc=254 d=-2
2樓:匿名使用者
定義的意思是說這是無符號數,它可以表示0到255的所有數。11111110表示的是254。當你定義為unsigned int時,你就把它看成無符號數
在c語言中11種賦值運算子的具體含義,用法?
3樓:木子青耶
1.六個變數=表示式的賦值:
=是賦值運算子,/=是除後賦值,*=是乘後賦值,
%=是取模後賦值,+=是加後賦值,-= 是減後賦值,
2.<<=是左移後賦值,變數<<=表示式 左移就是將左邊的數的二進位制各位全部左移若干位,右邊的數指定移動位數,高位丟棄,低位補0, 移幾位就相當於乘以2的幾次方。
3.>>=是右移後,變數》=表示式,右移運算子是用來將乙個數的各二進位制位右移若干位,移動的位數由右運算元指定(右運算元必須是非負值),移到右端的低位被捨棄,對於無符號數,高位補0。
對於有符號數,某些機器將對左邊空出的部分用符號位填補(即「算術移位」),而另一些機器則對左邊空出的部分用0填補(即「邏輯移位」);
對無符號數,右移時左邊高位移入0;對於有符號的值,如果原來符號位為0(該數為正),則左邊也是移入0。
如果符號位原來為1(即負數),則左邊移入0還是1,要取決於所用的計算機系統,系統移入0或系統移入1。
移入0的稱為「邏輯移位」,即簡單移位;移入1的稱為「算術移位」。
4.&= 按位與後,變數&=表示式,按位與是指:參加運算的兩個資料,按二進位制位進行「與」運算。
如果兩個相應的二進位制位都為1,則該位的結果值為1;否則為0。
5.^= 按位異或後賦值,變數^=表示式,參與運算的兩個量按照對應的位進行異或運算,且
0^0→0, 0^1→1, 1^0→1, 1^1→0
乙個數與0異或仍保持不變,如a^0=a
乙個數與自己異或結果為0,如a^a=0
11.|=是按位或後賦值,變數|=表示式,參與運算的兩個量按照對應位進行或運算,且0|0→0, 0|1→1, 1|0→1, 1|1→1。
4樓:逍遙子家
1、= 賦值運算子:變數=表示式,如:a=3,將a的值賦為3;
2、/= 除后賦值:變數/=表示式,如:a/=3,即a=a/3;
3、*= 乘後賦值:變數*=表示式,如:a*=3,即a=a*3;
4、%= 取模後賦值:變數%=表示式,如:a%=3,即a=a%3;
5、+= 加後賦值:變數+=表示式,如:a+=3,即a=a+3;
6、-= 減後賦值:變數-=表示式,如:a-=3,即a=a-3;
7、<<= 左移後賦值: 變數<<=表示式,左移就是將《左邊的數的二進位制各位全部左移若干位,《右邊的數指定移動位數,高位丟棄,低位補0, 移幾位就相當於乘以2的幾次方;
8、>>= 右移後賦值:變數》=表示式,右移運算子是用來將乙個數的各二進位制位右移若干位,移動的位數由右運算元指定(右運算元必須是非負值),移到右端的低位被捨棄,對於無符號數,高位補0;
對於有符號數,某些機器將對左邊空出的部分用符號位填補(即「算術移位」),而另一些機器則對左邊空出的部分用0填補(即「邏輯移位」);
9、&= 按位與後賦值:變數&=表示式,按位與是指參加運算的兩個資料,按二進位制位進行「與」運算。如果兩個相應的二進位制位都為1,則該位的結果值為1,否則為0;
10、^= 按位異或後賦值:變數^=表示式,參與運算的兩個量按照對應的位進行異或運算,且0^0→0、0^1→1、 1^0→1、 1^1→0。此外,乙個數與0異或仍保持不變,即a^0=a,乙個數與自己異或結果為0,即a^a=0;
11、|= 按位或後賦值: 變數|=表示式,參與運算的兩個量按照對應位進行或運算,且
0|0→0、0|1→1、1|0→1、1|1→1。
簡單的最常用的運算子是「=」,它的作用是將乙個表示式的值賦給乙個左值,乙個表示式或者是乙個左值,或者是乙個右值。所謂左值是指乙個能用於賦值運算左邊的表示式,左值必須能夠被修改,不能是常量。一般用變數作左值,指標和引用也可以作左值。
在基本賦值運算子之外,還有適合於所有二元算術和字串運算子的"組和運算子",這樣可以在乙個表示式中使用它的值並把表示式的結果賦給它,例如: <?php。
賦值運算子的意思
5樓:學雅思
賦值運算子的意思是將運算子右側的物件或者數值傳遞給左側的物件或者變數。
基本的賦值運算子是「=」。一開始可能會以為它是「等於」,其實不是的。它實際上意味著把右邊表示式的值賦給左邊的運算數。
賦值運算表示式的值也就是所賦的值。也就是說,「$a = 3」的值是 3。
擴充套件資料賦值運算將原變數的值拷貝到新變數中(傳值賦值),所以改變其中乙個並不影響另乙個。這也適合於在很密集的迴圈中拷貝一些值例如大陣列。
1、= 賦值運算子:變數=表示式如:a=3;將a的值賦為32、/= 除后賦值:
變數/=表示式 如:a/=3;即a=a/33、*= 乘後賦值:變數*=表示式 如:
a*=3;即a=a*34、%= 取餘後賦值:變數%=表示式 如:a%=3;即a=a%35、+= 加後賦值:
變數+=表示式 如:a+=3;即a=a+36:-= 減後賦值:
變數-=表示式 如:a-=3;即a=a-3
6樓:哇哎西西
1、= 賦值運算子:變數=表示式,如:a=3,將a的值賦為3;
2、/= 除后賦值:變數/=表示式,如:a/=3,即a=a/3;
3、*= 乘後賦值:變數*=表示式,如:a*=3,即a=a*3;
4、%= 取模後賦值:變數%=表示式,如:a%=3,即a=a%3;
5、+= 加後賦值:變數+=表示式,如:a+=3,即a=a+3;
6、-= 減後賦值:變數-=表示式,如:a-=3,即a=a-3。
7樓:匿名使用者
a+=b 等同於 a = a+b
a-=b 等同於 a = a-b
a*=b 等同於 a = a*b
a/=b 等同於 a = a/b
a%=b 等同於 a = a%b
a&=b 等同於 a = a&b &表示按位與a>>=b 等同於 a = a>>b >>表示右移a<<=b 等同於 a = a<
一開始可能會以為它是「等於」,其實不是的。它的作用是將乙個表示式的值賦給乙個左值。乙個表示式或者是乙個左值,或者是乙個右值。
所謂左值是指乙個能用於賦值運算左邊的表示式。左值必須能夠被修改,不能是常量。我們現在是用變數作左值,以後還可以看到,指標和引用也可以作左值。
復合的賦值運算子,又稱為帶有運算的賦值運算子,也叫賦值縮寫。
例如:i=i+j;可表示為 i+=j;這裡+=是復合賦值運算子。
同樣的共有10種這樣的運算子,它們是:
+= 加賦值;
-= 減賦值;
*= 乘賦值;
/= 除賦值;
%= 求餘賦值;
&= 按位與賦值;
| = 按位或賦值;
^= 按位異或賦值;
<<= 左移位賦值;
>>= 右移位賦值。
8樓:匿名使用者
是將=後的數字與前面進行運算後複製給前面的變數a+=b相當於a=a+b的意思
至於復合位運算子也是一樣的,資料進行與或非後進行賦值!
c語言的運算子的優先順序:邏輯運算子、條件運算子、賦值運算子、關係運算子、算術運算子。它們之間的優先順序
9樓:反轉的天空之城
1、最高端:出現同級別運算子時的結合方向是從左往右(下面級別沒寫結合順序時,預設是從左往右)。
( )圓括號
[ ]下標運算符號
->指向結構體成員運算子
.結構體成員運算子
2、第二級:!、~、++、--、-、(型別)、*、&、sizeof。
這一級都是單目運算符號,這一級的結合方向是從右向左。
比如出現*p++,這時*和++同級別,先算右邊,再左邊。
所以*p++等價於*(p++),而不是(*p)++。
3、第**:+、-、*、/、%
這一級都是算術運算子,結合順序和數學學習中一致的,先乘除取餘數,後加減。
4、第四級:<<、>>
這是左移、右移運算子,位運算時可能需要用到。
5、第五級:<、<=、>、>=、!=、==
這些運算子也稱為關係運算子,其中<、<=、>、>=高於!=、==。
6、第六級:&、^、|
這三個符號也是位運算符號,其中內優先順序,&>^>|。
7、第七級:&&、||
邏輯與&&優先順序大於邏輯或||。
8、第八級:? :
也稱為條件運算符號,是c語言中唯一的乙個三目運算子,結合順序是從右往左。
9、第九級:=、+=、-+、*=、/=、%=
這些運算子也叫做賦值運算子,除此之外,>>=、<<=、&=、^=、|=這些賦值運算子也在這一級別內,結合順序是從右往左。
10、最低階:,
逗號運算子也稱為順序求值運算子,在c語言中,運算級別最低。
c語言是一種計算機程式語言,它既具有高階語言的特點,又具有組合語言的特點。它由美國貝爾研究所的d.m.
ritchie於2023年推出,2023年後,c語言已先後被移植到大、中、小及微型機上,它可以作為工作系統設計語言,編寫系統應用程式,也可以作為應用程式設計語言,編寫不依賴計算機硬體的應用程式。它的應用範圍廣泛,具備很強的資料處理能力,不僅僅是在軟體開發上,而且各類科研都需要用到c語言,適於編寫系統軟體,三維,二維圖形和動畫,具體應用比如微控制器以及嵌入式系統開發。
運算子用於執行程式**運算,會針對乙個以上運算元專案來進行運算。例如:2+3,其運算元是2和3,而運算子則是「+」。
在vb2005中運算子大致可以分為5種型別:算術運算子、連線運算子、關係運算子、賦值運算子和邏輯運算子。
10樓:
邏輯——算數——關係——條件判斷——賦值
11樓:匿名使用者
這個可以找一本c++的書看一下,上面有一章就是專門介紹這個的,有個表,一目了然,便於記憶,希望你能多看看書!
12樓:匿名使用者
一般而言,單目運算子優先順序較高,賦值運算子優先順序低。算術運算子優先順序較高,關係和邏輯運算子優先順序較低。多數運算子具有左結合性,單目運算子、三目運算子、賦值運算子具有右結合性。
恩,問這個問題的人太多了,懶得繼續回答,直接貼上來自己看。。。
優先順序運算子
名稱或含義
使用形式
結合方向說明1
陣列下標
陣列名[常量表示式]
左到右()
圓括號(表示式)/函式名(形參表)
.成員選擇(物件)
物件.成員名
->成員選擇(指標)
物件指標->成員名2-
負號運算子
-表示式
右到左單目運算子
(型別)
強制型別轉換
(資料型別)表示式
++自增運算子
++變數名/變數名++
單目運算子
--自減運算子
--變數名/變數名--
單目運算子
*取值運算子
*指標變數
單目運算子
&取位址運算子
&變數名
單目運算子
!邏輯非運算子
!表示式
單目運算子
~按位取反運算子
~表示式
單目運算子
sizeof
長度運算子
sizeof(表示式)3/
除表示式/表示式
左到右雙目運算子*乘
表示式*表示式
雙目運算子
%餘數(取模)
整型表示式/整型表示式
雙目運算子4+
加表示式+表示式
左到右雙目運算子-減
表示式-表示式
雙目運算子
5<<左移變數《表示式
左到右雙目運算子
>>右移變數》表示式
雙目運算子
6>大於表示式》表示式
左到右雙目運算子
>=大於等於
表示式》=表示式
雙目運算子
<小於表示式《表示式
雙目運算子
<=小於等於
表示式<=表示式
雙目運算子7==
等於表示式==表示式
左到右雙目運算子
!=不等於
表示式!= 表示式
雙目運算子8&
按位與表示式&表示式
左到右雙目運算子9^
按位異或
表示式^表示式
左到右雙目運算子10|
按位或表示式|表示式
左到右雙目運算子
11&&
邏輯與表示式&&表示式
左到右雙目運算子
12||
邏輯或表示式||表示式
左到右雙目運算子
13?:
條件運算子
表示式1? 表示式2: 表示式3
右到左三目運算子14=
賦值運算子
變數=表示式
右到左/=
除后賦值
變數/=表示式
*=乘後賦值
變數*=表示式
%=取模後賦值
變數%=表示式
+=加後賦值
變數+=表示式
-=減後賦值
變數-=表示式
<<=左移後賦值
變數<<=表示式
>>=右移後賦值
變數》=表示式
&=按位與後賦值
變數&=表示式
^=按位異或後賦值
變數^=表示式
|=按位或後賦值
變數|=表示式15,
逗號運算子
表示式,表示式,...
左到右從左向右順序運算
說明:同一優先順序的運算子,運算次序由結合方向所決定。
簡單記就是:! > 算術運算子 > 關係運算子 > && > || > 賦值運算子
c語言(冪)運算子,C語言 (冪)運算子
運算子是 按位異或 1 異或是乙個數 算符。他應用於邏輯運算。2 例如 真異或假的結果是真,假異或真的結果也是真,真異或真的結果是假,假異或假的結果是假。就是說兩個值不相同,則異或結果為真。反之,為假。3 在計算機應用中,普遍運用,異或的邏輯符號 shift 6 形象表示為 真 假 真 假 真 真 ...
C語言運算子C語言運算子是怎麼運算的
內容來自使用者 wjian178 e68a84e8a2ad62616964757a686964616f31333433646432 1級優先順序 左結合 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子。2級優先順序 右結合 邏輯非運算子 按位取反運算子 字首增量運算子 字首減量運算子 正...
c語言運算子中問號是什麼意思C語言運算子中問號是什麼意思
問號是條件運算子的意思,跟冒號組合使用。條件運算子優先順序高於賦值 逗號運算子,低於其他運算子。表示式為 表示式1?表示式2 表示式3。先求解表示式1,若其值為真 非0 則將表示式2的值作為整個表示式的取值,否則 表示式1的值為0 將表示式3的值作為整個表示式的取值。擴充套件資料條件運算子具有右結合...