Ⅰ 在c語言中11種賦值運算符的具體含義,用法
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填補(即「邏輯移位」)。注意:對無符號數,右移時左邊高位移入0;對於有符號的值,如果原來符號位為0(該數為正),則左邊也是移入0。如果符號位原來為1(即負數),則左邊移入0還是1,要取決於所用的計算機系統。有的系統移入0,有的
系統移入1。移入0的稱為「邏輯移位」,即簡單移位;移入1的稱為「算術移位」。
9.&=
按位與後賦值
變數&=表達式
按位與是指:參加運算的兩個數據,按二進制位進行「與」運算。如果兩個相應的二進制位都為1,則該位的結果值為1;否則為0。這里的1可以理解為邏輯中的true,0可以理解為邏輯中的false。按位與其實與邏輯上「與」的運算規則一致。邏輯上的「與」,要求運算數全真,結果才為真。若,A=true,B=true,則A∩B=true
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
這些位運算都是與二進制碼有關的,所以多弄弄也就會了
Ⅱ 賦值運算符的意思
賦值運算符的意思是將運算符右側的對象或者數值傳遞給左側的對象或者變數。
基本的賦值運算符是「啟雀=」。一開始可能會以為它是「等於」,其實不是的。它實際上意味著把右邊表達式的值賦給左邊的運算數。
賦值運算表達氏慶式的值也就是所賦的值。也就是說,「$a = 3」的值是 3。
擴展資悄核早料
賦值運算將原變數的值拷貝到新變數中(傳值賦值),所以改變其中一個並不影響另一個。這也適合於在很密集的循環中拷貝一些值例如大數組。
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
Ⅲ 請問下c語言中的賦值是什麼意思,最好把C語言裡面的術語都解釋下,謝謝了
我說個通俗版的吧,你看要是還有什麼不明白,再說
「賦值」就是將一個數值或字元賦給一個變數,這樣這個變數的值就是這個數值或字元了。
比如:
int a;
a = 10;
這樣就把10賦值給a了.
變數常量:
變數就是沒有固定值,只是用字母或其它合法名稱表示,可以隨意給定值的量。
常量就是有固定值得量(可以是字母也可以是數字)
比如:
int a; //a就是變數
你可以
a=10; //把10賦值給a,
也可以
a=20; //再把20賦值給a.
常量就是你定義過賦了值然後就不可以變了。
函數:
每個程序都有一個主函數
int main (int argc, char *argv[])
{...}
寫小程序時,直接寫成
int main()
{
...主程序內容...
return 0;
}
但是如果都寫到主函數中可讀性能很差,有時候用好幾次的功能你就要寫好幾次,不方便使用,所以把那些功能抽象出來
int main()
{
getData(); //調用"讀取數據"函數(調用可以認為是你用什麼功能的時候,就把能實現這個功能的東西叫出來(打出來))
processData(); //調用"處理數據"函數
outputData(); //調用"輸出數據"函數
return 0;
}
然後你再具體實現這三個函數,
實現方法就是在主程序前先聲明函數(聲明可以認為是用一個標準的方法定義),然後把需要的語句寫進去.
另外你可以看看潭浩強編的關於C/C++方面的書(比如《C程序設計》(第二版)還有實驗和上機指導,非常好的C語言入門書籍),看過可以理解的好些
看書的時候要仔細看看小程序,很多大程序的核心程序或是演算法都是一些小程序實現的。
Ⅳ C語言中賦值運算符&=的含義
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<<b <<表示左移
a|=b 等同於 a = a|b |表示按位或
a^=b 等同於 a = a^b ^表示按位異或
基本的賦值運算符是「=」。他的優先順序別低於其他的運算符,所以對該運算符往往最後讀取。
一開始可能會以為它是「等於」,其實不是的。它的作用是將一個表達式的值賦給一個左值。一個表達式或者是一個左值,或者是一個右值。
所謂左值是指一個能用於賦值運算左邊的表達式。左值必須能夠被修改,不能是常量。我們現在是用變數作左值,以後還可以看到,指針和引用也可以作左值。
復合的賦值運算符,又稱為帶有運算的賦值運算符,也叫賦值縮寫。
例如:i=i+j;可表示為 i+=j;這里+=是復合賦值運算符。
同樣的共有10種這樣的運算符,它們是:
+= 加賦值;
-= 減賦值;
*= 乘賦值;
/= 除賦值;
%= 求余賦值;
&= 按位與賦值;
| = 按位或賦值;
^= 按位異或賦值;
<<= 左移位賦值;
>>= 右移位賦值。
Ⅳ c語言,位符合賦值運運算元, =,&=,^=!=, 分別什麼含義啊
c語言,位符合賦值運運算元, <<=,>>=,&=,^=!=, 分別什麼含義啊?
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填補(即「邏輯移位」)。注意:對無符號數,右移時左邊高位移入0;對於有符號的值,如果原來符號位為0(該數為正),則左邊也是移入0。如果符號位原來為1(即負數),則左邊移入0還是1,要取決於所用的計算機系統。有的系統移入0,有的
系統移入1。移入0的稱為「邏輯移位」,即簡單移位;移入1的稱為「算術移位」。
9.&= 按位與後賦值 變數&=表示式 按位與是指:參加運算的兩個資料,按二進位制位進行「與」運算。如果兩個相應的二進位制位都為1,則該位的結果值為1;否則為0。這里的1可以理解為邏輯中的true,0可以理解為邏輯中的false。按位與其實與邏輯上「與」的運算規則一致。邏輯上的「與」,要求運算數全真,結果才為真。若,A=true,B=true,則A∩B=true
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
這些位運算都是與二進位制碼有關的,所以多弄弄也就會了
C語言中復合賦值運運算元 :<<= , >>= ,&= ,^= , |= 分別表示什麼啊 ? 請高手指點
運運算元= 這種組合是賦值語句的一種簡寫形式,例如:
a+=b其實就是a=a+b,只不過你說的是邏輯運運算元,道理是一樣的.
<<是左移,>>是右移,&是與,|是或,^是異或,都是針對2進位制運算的.
C語言中算術運運算元和賦值運運算元哪個優先順序高?
算術運運算元高! 表示式優先順序()(小括弧) [](陣列下標) .(結構成員) ->(指標型結構成員)↑最高帆罩仿!(邏輯非) .(位取反) -(負號) ++(加1) --(減1) &(變數地址) │*(指標所指內容) type(函式說明) sizeof(長度計算) │*(乘) /(除) %(取模) │+(加) -(減) │<<(位左移) >>(位右移) │<(小於) <=(小於等於) >(大於) >=(大於等於) │==(等於) !=(不等於) │&(位與) │^(位異或) │|(位或) │&&(邏輯與) │||(邏輯或) │態纖?:(?表示式) │= += -=(聯合操作) │,(逗號運運算元) │最低 1. .的優先順序高於*。->操作符用於消除這個問題。 *p.f變成了*(p.f)而不是(*p).f2. []高於*,於是int *ap[]中的ap變成了元素為int指標的陣列。3. 函式()高於*,因此,int *fp()不再是函式指標了,而是一個函式,返回int *。4. 逗號運運算元在所有運運算元中優先順序最低,所以,i = 1, 2就成了(i = 1), 2而不是i = (1, 2)。 逗號運運算元的值是最右邊運算元的值,逗號運運算元結合性從左至右,因此又稱為順序求值運運算元。5. 在表示式中如果有布林操作、算術運算、位操作等混合計算,始終應該在適當的地方加上括弧。 x = f() + g() * h(); 乘法先於加法執行,但是g()和h()的呼叫可能以任何順序出現。同樣,f()可能在乘法之前呼叫,也可能在乘法之後呼叫。 優先順序和結合性規則告訴你哪些符號組成一個意群,大部分這樣的意群內部如何進行計算的次序是未定義的。有些操作符,如&&和||等,其運算元的計算順序是確定的,它們使用短路原則。 C語言中記住兩個優先順序就夠了:乘法和除法先於加法和減法,在涉及其他操作符時一律加上括弧。結合性用於在幾個操作符具有相同的優先順序時確定先執行哪一個。每個操作符擁有某一級別的優先順序,同時也擁有左結合性或者右結合性。 所有的賦值符(包括復合賦值符)都具有右結合性(從右到左執行),因此可以使用連等的賦值形式。唯一的三目運運算元?:也是具有右結合性的。 所有優先順序相同的操作符,它們的結合性也相同,這是必須如此的。在函式呼叫中,各個引數的計算順序是不確定的
附錄C C語言運運算元優先順序和結合性
優先順序 運運算元 含義 運算型別 結合性
1 ( )
[ ]
->
, 圓括弧
下標運運算元
指向結構體成員運運算元
結構體成員運運算元 單目 自左向右
2 !
~
++ --
(型別關鍵字)
+ -
*
&
sizeof 邏輯非運運算元
按位取反運運算元
自增、自尖運運算元
強制型別轉換
正、負號運運算元
指標運運算元
地址運運算元
長度運運算元 單目 自右向左
3 * / % 乘、除、求余運運算元 雙目 自左向右
4 + - 加、減運運算元 雙目 自左向右
5 <<
>> 左移運運算元
右移運運算元 雙目 自左向右
6 < <= > >= 小於、大於、小於等於、大於等於 關系 自左向右
7 = = != 等於、不等於 關系 自左向右
8 & 按位與運運算元 位運算 自左向右
9 ^ 按位異或運運算元 位運算 自左向右
10 | 按位或運運算元 位運算 自左向右
11 && 邏輯與運運算元 位運算 自左向右
12 || 邏輯或運運算元 位運算 自左向右
13 ? : 條件運運算元 三目 自右向左
14 = += -= *=
/= %= << = >>= &= ^= |= 賦值運運算元 雙目 自右向左
15 , 逗號運算 順序 自左向右
C語言中的算術自反賦值運運算元怎麼運算?
算術自反賦值運運算元有加賦值(+=、雙目中綴)、減賦值(-=、雙目中綴)、乘賦值(*=、雙目中綴)、除賦值(/=、雙目中綴)、模賦值(%=、雙目運算)。前一個運算物件必須是變數,後一個運算物件是表示式。運算規則是先計算右邊表示式的值,再和左邊變數進行相應的運算,然後將結果賦予左邊的變數。例如說 x += b; 其運算就是 x = x + b ; x -= b; 其運算就是 x = x - b ; x *= b; 其運算就是 x = x * b ; x /= b; 其運算就是 x = x / b ; x %= b; 其運算就是 x = x % b ; 說白了就是那種型別運算的簡寫。。。。。
c語言 復合賦值運運算元的問題,請指教!
第一步:a=a/(a-6),a的值傳遞給第二步進行下一步計算
第二步:a=a*a,a的值傳遞給第三步進行下一步計算
第三步:a=a+a,a的最終結果在這里
記住兩句話:
1、=賦值號,自右向左進行;
2、a+=1相當於a=a+1。這個a/=a-6先把a-6看成一個數,a/=1不就是a=a/1嘛;
我新手,c語言關系運算符和賦值運運算元,哪個優先順序高?比如a=b>c怎麼理解?
下面的是優先順序排序上面的高下面的低,左右高低有描述。
() [] -> . left to right
! ~ ++ -- + - * (type) sizeof right to left
* / % left to right
+ - left to right
<< >> left to right
< <= > >= left to right
== != left to right & left to right
^ left to right
| left to right
&& left to right
|| left to right
?: right to left
= += -= *= /= %= &= ^= |= <<= >>= right to left
, left to right
========================
a=b>c 相當於 a = (b> c)
在c語言中,邏輯運運算元和賦值運運算元那個更優先計算呢?
邏輯運運算元
C語言中算術運運算元、關系運算符、邏輯運運算元、賦值運運算元等運運算元的優先順序 求大神幫忙
解析:
(1) 記住加減乘除就可以了
(2) 其它的,直接加括弧
(3) 應付考試:多做練習題
(4) 職場程式猿:直接加括弧
Ⅵ c語言賦值是什麼
C語言中的結構體變數可以用另一個變數對其進行賦值或初始化。
簡單結構體(不包含指針成員)直接賦值沒有問題。但是稍微復雜一點的結構體裡面會有指針成員,那麼以上的淺拷貝則會有問題。
賦值會直接將結構體的指針變數被賦值,賦值之前其所指向的內存單元丟失,賦值之後若該指針指向的內存單元被其它指針釋放掉,那麼繼續使用該成員指針的話則有可能導致內存泄漏。
概述:
在C語言中,結構體(struct)指的是一種數據結構,是C語言中聚合數據類型(aggregate data type)的一類。結構體可以被聲明為變數、指針或數組等,用以實現較復雜的數據結構。
結構體同時也是一些元素的集合,這些元素稱為結構體的成員(member),且這些成員可以為不同的類型,成員一般用名字訪問。
C++提供了許多種基本的數據類型(如int、float、double、char等)供用戶使用。但是由於程序需要處理的問題往往比較復雜,而且呈多樣化,已有的數據類型顯得不能滿足使用要求。
Ⅶ c語言賦值規則是什麼
其一般形式為:變數=表達式。
由於在賦值符「=」右邊的表達式也可以又是一個賦值表達式,因此,下述形式變數=(變數=表達式);是成立的,從而形成嵌套的情形。
賦值語句:
將確定的數值賦給變數的語句叫做賦值語句。
各程序設計語言有自己的賦值語句,賦值語句也有不同的類型。
所賦「值」可以是數字,也可以是字元串和表達式。
注意很多語言都使用「等於號」(即「=」)來作為賦值號,所以可能和和平時的理解不同,在使用的時候應予以注意。
Ⅷ c語言中什麼是賦值什麼是錯
對於如下說明,語法和語義都正確的賦值是:C、s=&a[1];
A、語法上正確(可能引起編譯警告)。若非靜態變數或全局變數,否則s沒有被初始化,是隨機值,*s的值無法確定,即沒有確定的語義;若是靜態變數或全局變數,s被初始化為0,對地址0的解引用操作沒有確定的語義。
B、錯誤。理由同上,對隨機地址的操作不具有確定的語義(s[0]等價於*s)。另外對隨機地址單元的寫操作(賦值)引起的後果不可預料。
C、正確,將a[1]的地址鎮喊賦值給指針s。
D、語法錯誤,c(int)和a(const int*)的類型不匹配,會引起編譯錯誤。
(8)c語言賦符值解釋擴展閱讀:
將確定的數值賦給變數的語句叫做賦值語句。各程扮吵序設計語言有自己的賦值語句,賦值語句也有不同的類型。所賦「值」可以是數字,也可以是字元串和表達式。
例如,給變數a賦值一個數為12,則格式為:a = 12 [注意:變數(即a)只能是一字母,而賦予的值可以是一個式子,當它是御缺野式子時,a的值就是這個式子的結果。
Ⅸ 在C語言中賦值運算符有什麼作用
賦值符號"="
就是賦值運算符,作用是將一個數據賦給一個變數或將一個變數的值賦給另一個變數,由賦值運算符組成的表達式稱為賦值表達式。一般形式為:
變數名=表達式
在程序中可以多次給一個變數賦值,每賦一次值,與它相應的存儲單元中的數據就被更新一次,內存中當前的數據就是最後一次所賦值的那個數據。
例:a=12;此表達式讀作
將10的值賦值給變數a。
說明:a、如果賦值號兩邊的運算對象類型不一致,系統會自動進行類型轉換,轉換的規則:將賦值號右邊表達式的值的類型轉換成賦值號左邊變數的類型,
例:int y=3.5;在變數y中最終存儲的是整數3。
b、可以將復製表達式的值再賦值給變數,形成連續賦值。
例如:x=y=25
是一個連續賦值表達式,
x=y=25等價於x=(y=25),所以表達式
x=y=25
最終的值為25。