站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        C語言入門之?dāng)?shù)據(jù)類型(6)

          算術(shù)表達(dá)式

           是由算術(shù)運(yùn)算符和括號(hào)連接起來的式子, 以下是算術(shù)表達(dá)式的例子:

        a+b  (a*2)/c (x+r)*8-(a+b)/7  ++i sin(x)+sin(y)  (++i)-(j++)+(k–)

           賦值運(yùn)算符和賦值表達(dá)式

           簡單賦值運(yùn)算符和表達(dá)式,簡單賦值運(yùn)算符記為“=”。由“= ”連接的式子稱為賦值表達(dá)式。其一般形式為: 變量=表達(dá)式 例如:

        x=a+b
        w=sin(a)+sin(b)
        y=i+++–j 賦值表達(dá)式的功能是計(jì)算表達(dá)式的值再賦予左邊的變量。

           賦值運(yùn)算符具有右結(jié)合性。因此:

        a=b=c=5

           可理解為

        a=(b=(c=5))

           在其它高級(jí)語言中,賦值構(gòu)成了一個(gè)語句,稱為賦值語句。 而在C中,把“=”定義為運(yùn)算符,從而組成賦值表達(dá)式。凡是表達(dá)式可以出現(xiàn)的地方均可出現(xiàn)賦值表達(dá)式。例如,式子x=(a=5)+(b=8)是合法的。它的意義是把5賦予a,8賦予b,再把a(bǔ),b相加,和賦予x ,故x應(yīng)等于13。

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

           如果賦值運(yùn)算符兩邊的數(shù)據(jù)類型不相同, 系統(tǒng)將自動(dòng)進(jìn)行類型轉(zhuǎn)換,即把賦值號(hào)右邊的類型換成左邊的類型。具體規(guī)定如下:

           1.實(shí)型賦予整型,舍去小數(shù)部分。前面的例2.9已經(jīng)說明了這種情況。

           2.整型賦予實(shí)型,數(shù)值不變,但將以浮點(diǎn)形式存放, 即增加小數(shù)部分(小數(shù)部分的值為0)。

           3.字符型賦予整型,由于字符型為一個(gè)字節(jié), 而整型為二個(gè)字節(jié),故將字符的ASCII碼值放到整型量的低八位中,高八位為0。

           4.整型賦予字符型,只把低八位賦予字符量。

        void main(){
          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);
        }
        int a,b=322;
        float x,y=8.88;
        char c1=’k’,c2;
        printf(“%d,%f,%d,%c”,a=y,x=b,a=c1,c2=b);

           本例表明了上述賦值運(yùn)算中類型轉(zhuǎn)換的規(guī)則。a為整型,賦予實(shí)型量y值888后只取整數(shù)8。x為實(shí)型,賦予整型量b值322, 后增加了小數(shù)部分。字符型量c1賦予a變?yōu)檎停土縝賦予c2 后取其低八位成為字符型(b的低八位為01000010,即十進(jìn)制66,按ASCII碼對(duì)應(yīng)于字符B)。

           復(fù)合賦值符及表達(dá)式

           在賦值符“=”之前加上其它二目運(yùn)算符可構(gòu)成復(fù)合賦值符。如
        +=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=。 構(gòu)成復(fù)合賦值表達(dá)式的一般形式為: 變量 雙目運(yùn)算符=表達(dá)式 它等效于 變量=變量 運(yùn)算符 表達(dá)式 例如:

           a+=5 等價(jià)于a=a+5  
           x*=y+7 等價(jià)于x=x*(y+7)  
           r%=p 等價(jià)于r=r%p

           復(fù)合賦值符這種寫法,對(duì)初學(xué)者可能不習(xí)慣, 但十分有利于編譯處理,能提高編譯效率并產(chǎn)生質(zhì)量較高的目標(biāo)代碼。逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式在

           逗號(hào)運(yùn)算符

           C語言中逗號(hào)“,”也是一種運(yùn)算符,稱為逗號(hào)運(yùn)算符。 其功能是把兩個(gè)表達(dá)式連接起來組成一個(gè)表達(dá)式, 稱為逗號(hào)表達(dá)式。

           其一般形式為: 表達(dá)式1,表達(dá)式2 其求值過程是分別求兩個(gè)表達(dá)式的值,并以表達(dá)式2的值作為整個(gè)逗號(hào)表達(dá)式的值。

        void main(){
          int a=2,b=4,c=6,x,y;
          y=(x=a+b),(b+c);
          printf(“y=%d,x=%d”,y,x);
        }
        a<–2,b<–4,c<–6,x<–0,y<–0
        x<–a+b,y<—b+c

           本例中,y等于整個(gè)逗號(hào)表達(dá)式的值,也就是表達(dá)式2的值,x是第一個(gè)表達(dá)式的值。對(duì)于逗號(hào)表達(dá)式還要說明兩點(diǎn):

           1.逗號(hào)表達(dá)式一般形式中的表達(dá)式1和表達(dá)式2 也可以又是逗號(hào)表達(dá)式。例如: 表達(dá)式1,(表達(dá)式2,表達(dá)式3) 形成了嵌套情形。因此可以把逗號(hào)表達(dá)式擴(kuò)展為以下形式: 表達(dá)式1,表達(dá)式2,…表達(dá)式n 整個(gè)逗號(hào)表達(dá)式的值等于表達(dá)式n的值。

           2.程序中使用逗號(hào)表達(dá)式,通常是要分別求逗號(hào)表達(dá)式內(nèi)各表達(dá)式的值,并不一定要求整個(gè)逗號(hào)表達(dá)式的值。

           3.并不是在所有出現(xiàn)逗號(hào)的地方都組成逗號(hào)表達(dá)式,如在變量說明中,函數(shù)參數(shù)表中逗號(hào)只是用作各變量之間的間隔符。

        [Practice] //arithmeticint a,b,c;
        float d;
        a=11;
        b=235;
        c=a+b-a*b;
        d=(float)c/(float)a;
        a=c/a;’Vtable
        a,2,0
        b,2,0
        c,2,0
        d,4,0.0
        of Vtable
        ‘Vupdate
        1,0;2,0;3,0
        4,0.0
        1,11
        2,235
        3,-2339
        4,-212.636368
        1,-212
        of Vupdate
        of Practice
        [Practice] //1int a,b,c1,c2;
        a=25;
        b=3243;
        c1=b/a;
        c2=b%a;’Vtable
        a,2,0
        b,2,0
        c1,2,0
        c2,2,0
        of Vtable
        ‘Vupdate
        1,0;2,0;3,0;4,0
        1,25
        2,3243
        3,129
        4,18
        of Vupdate
        of Practice
        [Practice] //1int a,b,c;
        a=25;
        b=40;
        c=a+b,c+35;’Vtable
        a,2,0
        b,2,0
        c,2,0
        of Vtable
        ‘Vupdate
        1,0;2,0;3,0
        1,25
        2,40
        3,65
        of Vupdate
        of Practice

           小結(jié)

           1.C的數(shù)據(jù)類型

           基本類型,構(gòu)造類型,指針類型,空類型

           2.基本類型的分類及特點(diǎn)

        類型說明符

        字節(jié)

        數(shù)值范圍

        字符型char

        1

        C字符集

        基本整型int

        2

        -32768~32767

        短整型short int

        2

        -32768~32767

        長整型 long int

        4

        -214783648~214783647

        無符號(hào)型 unsigned

        2

        0~65535

        無符號(hào)長整型 unsigned long

        4

        0~4294967295

        單精度實(shí)型 float  

        4

        3/4E-38~3/4E+38

        雙精度實(shí)型 double 

        8

        1/7E-308~1/7E+308

           3.常量后綴

        L或l 長整型
        U或u 無符號(hào)數(shù)
        F或f 浮點(diǎn)數(shù)

           4.常量類型

        整數(shù),長整數(shù),無符號(hào)數(shù),浮點(diǎn)數(shù),字符,字符串,符號(hào)常數(shù),轉(zhuǎn)義字符。

           5.數(shù)據(jù)類型轉(zhuǎn)換

           ·自動(dòng)轉(zhuǎn)換

           在不同類型數(shù)據(jù)的混合運(yùn)算中,由系統(tǒng)自動(dòng)實(shí)現(xiàn)轉(zhuǎn)換, 由少字節(jié)類型向多字節(jié)類型轉(zhuǎn)換。 不同類型的量相互賦值時(shí)也由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換,把賦值號(hào)右邊的類型轉(zhuǎn)換為左邊的類型。

           ·強(qiáng)制轉(zhuǎn)換

           由強(qiáng)制轉(zhuǎn)換運(yùn)算符完成轉(zhuǎn)換。

           6.運(yùn)算符優(yōu)先級(jí)和結(jié)合性

           一般而言,單目運(yùn)算符優(yōu)先級(jí)較高,賦值運(yùn)算符優(yōu)先級(jí)低。 算術(shù)運(yùn)算符優(yōu)先級(jí)較高,關(guān)系和邏輯運(yùn)算符優(yōu)先級(jí)較低。 多數(shù)運(yùn)算符具有左結(jié)合性,單目運(yùn)算符、三目運(yùn)算符、 賦值

           7.表達(dá)式

           表達(dá)式是由運(yùn)算符連接常量、變量、函數(shù)所組成的式子。 每個(gè)表達(dá)式都有一個(gè)值和類型。 表達(dá)式求值按運(yùn)算符的優(yōu)先級(jí)和結(jié)合性所規(guī)定的順序進(jìn)行。

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 在线亚洲欧美中文精品| 久久精品www人人爽人人| 蜜国产精品jk白丝AV网站| 国产福利电影一区二区三区,欧美国产成人精品一| 四虎国产精品永久在线看| 99精品视频在线观看婷| 99精品久久精品| 亚洲爆乳精品无码一区二区三区| 国产精品亚洲不卡一区二区三区| 成人国内精品久久久久影院| 亚洲国产另类久久久精品小说 | 人妻一区二区三区无码精品一区| 精品一区二区久久| 国产精品视频一区二区三区四| 亚洲av午夜成人片精品网站| 久99精品视频在线观看婷亚洲片国产一区一级在线| 国产亚洲精品资在线| 国产精品 日韩欧美| 亚洲精品国产成人99久久| 国产精品你懂的| 国产精品免费看久久久 | 国自产精品手机在线观看视频 | 亚洲国产精品碰碰| 日韩精品无码久久一区二区三| 国产精品亚洲不卡一区二区三区| 久久精品男人影院| 99精品免费视品| 97久久精品午夜一区二区| 国产成人精品无码片区在线观看| 热re99久久精品国99热| 久久精品国产亚洲av日韩| 无码国内精品久久人妻| 亚洲精品无码国产| 无码精品人妻一区二区三区漫画 | 在线观看日韩精品| 久久er热视频在这里精品| 国产成人亚洲合集青青草原精品| 国产91精品在线观看| 国产精品一二二区| 精品四虎免费观看国产高清午夜| 国产成人精品免费视频网页大全|