站長資訊網
        最全最豐富的資訊網站

        C語言入門之數據類型(6)

          算術表達式

           是由算術運算符和括號連接起來的式子, 以下是算術表達式的例子:

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

           賦值運算符和賦值表達式

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

        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;都是賦值語句,在前面各例中我們已大量使用過了。

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

           1.實型賦予整型,舍去小數部分。前面的例2.9已經說明了這種情況。

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

           3.字符型賦予整型,由于字符型為一個字節, 而整型為二個字節,故將字符的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);

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

           復合賦值符及表達式

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

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

           復合賦值符這種寫法,對初學者可能不習慣, 但十分有利于編譯處理,能提高編譯效率并產生質量較高的目標代碼。逗號運算符和逗號表達式在

           逗號運算符

           C語言中逗號“,”也是一種運算符,稱為逗號運算符。 其功能是把兩個表達式連接起來組成一個表達式, 稱為逗號表達式。

           其一般形式為: 表達式1,表達式2 其求值過程是分別求兩個表達式的值,并以表達式2的值作為整個逗號表達式的值。

        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等于整個逗號表達式的值,也就是表達式2的值,x是第一個表達式的值。對于逗號表達式還要說明兩點:

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

           2.程序中使用逗號表達式,通常是要分別求逗號表達式內各表達式的值,并不一定要求整個逗號表達式的值。

           3.并不是在所有出現逗號的地方都組成逗號表達式,如在變量說明中,函數參數表中逗號只是用作各變量之間的間隔符。

        [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

           小結

           1.C的數據類型

           基本類型,構造類型,指針類型,空類型

           2.基本類型的分類及特點

        類型說明符

        字節

        數值范圍

        字符型char

        1

        C字符集

        基本整型int

        2

        -32768~32767

        短整型short int

        2

        -32768~32767

        長整型 long int

        4

        -214783648~214783647

        無符號型 unsigned

        2

        0~65535

        無符號長整型 unsigned long

        4

        0~4294967295

        單精度實型 float  

        4

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

        雙精度實型 double 

        8

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

           3.常量后綴

        L或l 長整型
        U或u 無符號數
        F或f 浮點數

           4.常量類型

        整數,長整數,無符號數,浮點數,字符,字符串,符號常數,轉義字符。

           5.數據類型轉換

           ·自動轉換

           在不同類型數據的混合運算中,由系統自動實現轉換, 由少字節類型向多字節類型轉換。 不同類型的量相互賦值時也由系統自動進行轉換,把賦值號右邊的類型轉換為左邊的類型。

           ·強制轉換

           由強制轉換運算符完成轉換。

           6.運算符優先級和結合性

           一般而言,單目運算符優先級較高,賦值運算符優先級低。 算術運算符優先級較高,關系和邏輯運算符優先級較低。 多數運算符具有左結合性,單目運算符、三目運算符、 賦值

           7.表達式

           表達式是由運算符連接常量、變量、函數所組成的式子。 每個表達式都有一個值和類型。 表達式求值按運算符的優先級和結合性所規定的順序進行。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品水嫩水嫩| 日韩精品免费视频| 国产精品欧美日韩| 热久久国产欧美一区二区精品 | 中文字幕精品无码一区二区| 精品亚洲永久免费精品| 无码精品人妻一区二区三区免费看 | 69久久精品无码一区二区| 中文字幕精品亚洲无线码一区应用| 99免费精品国产| 99re6这里有精品热视频| 亚洲国产精品福利片在线观看| 国产一级精品高清一级毛片| 久久亚洲国产精品一区二区| 国产精品熟女高潮视频| 亚洲日韩精品一区二区三区无码| 日本精品视频在线观看| 国产精品最新国产精品第十页| 女人香蕉久久**毛片精品| AAA级久久久精品无码片| 久久国产精品77777| 亚洲精品国产av成拍色拍| 亚洲国产成人精品久久久国产成人一区二区三区综 | 国产在线精品福利大全| 国产成人精品免费视频大全| 九九精品在线观看| 99视频在线观看精品| 成人午夜视频精品一区| 国产精品亚洲日韩欧美色窝窝色欲 | 一区二区三区四区精品视频| 精品在线免费观看| 免费精品一区二区三区第35| 国产精品欧美亚洲韩国日本不卡| 国产精品视频一区二区三区四| 精品国产第一国产综合精品 | 久久国产精品-国产精品| 国产精品免费精品自在线观看| 成人精品视频在线观看| 996久久国产精品线观看| 国产成人精品久久一区二区三区| 99精品在线观看|