<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            C語言

            C語言賦值運算符與賦值表達式

            時間:2025-05-29 07:39:18 C語言 我要投稿
            • 相關推薦

            C語言賦值運算符與賦值表達式

              我們都知道基本的賦值運算符是"=",他的優先級別低于其他的運算符,所以對該運算符往往最后讀取。下面和大家分享一下C語言賦值運算符與賦值表達式,一起來看看吧!

              C語言賦值運算符與賦值表達式1

              一、賦值運算符與賦值表達式

              賦值符號“=“就是賦值運算符,作用是將一個數據賦給一個變量或將一個變量的值賦給另一個變量,由賦值運算符組成的表達式稱為賦值表達式。一般形式為:

              變量名=表達式

              在程序中可以多次給一個變量賦值,每賦一次值,與它相應的存儲單元中的數據就被更新一次,內存中當前的數據就是最后一次所賦值的那個數據。

              例:a=12;此表達式讀作“將10的值賦值給變量a”。

              說明:

              a、如果賦值號兩邊的運算對象類型不一致,系統會自動進行類型轉換,轉換的規則:將賦值號右邊表達式的值的類型轉換成賦值號左邊變量的.類型,

              例:inty=3.5;在變量y中最終存儲的是整數3。

              b、可以將復制表達式的值再賦值給變量,形成連續賦值。

              例如:x=y=25是一個連續賦值表達式,x=y=25等價于x=(y=25),所以表達式x=y=25最終的值為25。

              二、復合的賦值運算符

              在賦值運算符之前加上其他運算符可以構成復合賦值運算符。其中與算術運算有關的復合運算符是:+=,—=,x=,/=,%=。

              兩個符號之間不可以有空格,復合賦值運算符的優先級與賦值運算符的相同。表達式n+=1等價于n=n+1,作用是取變量n中的值增1再賦給變量n,其他復合的賦值運算符的運算規則依次類推。

              如求表達a+=a—=axa的值,其中a的初值為12。

              步驟:

              (1)先進行“a—=axa“運算,相當于a=a—axa=12—144=—132。

              (2)再進行“a+=—132“運算,相當于a=a+(—132)=—132—132=—264。

              C語言賦值運算符與賦值表達式2

              其一般形式為:

              變量=表達式

              例如:

              x=a+b

              w=sin(a)+sin(b)

              y=i+++--j

              賦值表達式的功能是計算表達式的值再賦予左邊的變量。賦值運算符具有右結合性,因此a=b=c=5可理解為a=(b=(c=5))。

              在其它高級語言中,賦值構成了一個語句,稱為賦值語句。 而在C中,把“=”定義為運算符,從而組成賦值表達式。 凡是表達式可以出現的地方均可出現賦值表達式。

              例如:式子x=(a=5)+(b=8)是合法的。它的意義是把5賦予a,8賦予b,再把a,b相加,和賦予x,故x應等于13。

              在C語言中也可以組成賦值語句,按照C語言規定,任何表達式在其未尾加上分號就構成為語句。因此如x=8;a=b=c=5;都是賦值語句,在前面各例中我們已大量使用過了。

              類型轉換

              如果賦值運算符兩邊的數據類型不相同,系統將自動進行類型轉換,即把賦值號右邊的類型換成左邊的類型。具體規定如下:

              實型賦予整型,舍去小數部分。

              整型賦予實型,數值不變,但將以浮點形式存放,即增加小數部分(小數部分的值為0)。

              字符型賦予整型,由于字符型為一個字節,而整型為二個字節,故將字符的ASCII碼值放到整型量的低八位中,高八位為0。整型賦予字符型,只把低八位賦予字符量。

              【例3-18】

              #include

              int main(void){

              int a,b=322;

              float x,y=8.88;

              char c1=k,c2;

              a=y;

              x=b;

              a=c1;

              c2=b;

              printf("%d,%f,%d,%c",a,x,a,c2);

              return 0;

              }

              本例表明了上述賦值運算中類型轉換的'規則。a為整型,賦予實型量y值8.88后只取整數8。x為實型,賦予整型量b值322, 后增加了小數部分。字符型量c1賦予a變為整型,整型量b賦予c2 后取其低八位成為字符型(b的低八位為01000010,即十進制66,按ASCII碼對應于字符B)。

              注意:經大家反饋,筆者發現上面的例子容易造成誤解,現已對代碼進行更改,更改時間 2014-07-04 09:12:45,看評論的讀者請注意評論時間,不要混淆。

              更改后的代碼如下:

              #include

              int main(void){

              int a,c,b=322;

              float x,y=8.88;

              char c1=k,c2;

              a=y;

              x=b;

              c=c1;

              c2=b;

              printf("a=%d, x=%f, c=%d, c2=%c ", a, x, c, c2);

              return 0;

              }

              輸出結果:

              a=8, x=322.000000, c=107, c2=B

              復合的賦值運算符

              在賦值符“=”之前加上其它二目運算符可構成復合賦值符。如+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=。

              構成復合賦值表達式的一般形式為:

              變量 雙目運算符=表達式

              它等效于

              變量=變量 運算符 表達式

              例如:

              a+=5 等價于 a=a+5

              x*=y+7 等價于 x=x*(y+7)

              r%=p 等價于 r=r%p

            【C語言賦值運算符與賦值表達式】相關文章:

            Java賦值運算符與賦值表達式05-06

            C語言賦值運算符05-31

            C語言復合賦值運算符05-12

            C語言賦值運算符考點04-22

            C語言賦值運算符詳解01-04

            關于C語言賦值運算符06-18

            解析C語言編程中指針賦值的實例06-16

            C語言中判斷int、long型等變量是否賦值的方法06-10

            C語言的基本運算符和表達式08-10

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看