C++中的數據類型、運算符和表達式


C語言中的數據類型能分為四種:基本數據類型、構造數據類型、指針數據類型和空類型。

1、基本數據類型

     基本數據類型可以分為三種:整型、字符型、浮點型

整形:短整型、基本整型、長整型、長長整型。

    一般情況下在不同的編譯器中相同的數據類型占用的字節數也不同。一下介紹在CodeBlock編譯器中的統計。

          類型名稱    字節數

          short[int]    2

          int         4

          long[int]     4

          long long[int]       8

   在C++中提供了可以計算字節數的方法sizeof(),如下例子:

    

 //sizeof(i)求字節數運算符
    short sh = 2;
    printf("short的字節數為:%d\n",sizeof(sh));
    int i = 1;
    printf("int的字節數為:%d\n",sizeof(i));
    long l = 1;
    printf("long的字節數為:%d\n",sizeof(l));
    long long ll = 24;
    printf("long long的字節數為:%d\n",sizeof(ll));
    float fl = 2.1111;
    printf("float的字節數為:%d\n",sizeof(fl));
    double dou = 2.333;
    printf("double的字節數為:%d\n",sizeof(dou));
    long double ld = 2.333;
    printf("long double的字節數為:%d\n",sizeof(ld));
    char ch = "A";
    printf("char的字節數為:%d\n",sizeof(ch));

運算結果如下:

 此外整型數據在內存中存儲的方式是以二進制的形式存儲的。實際上數值是以補碼的形式表示的。正數的補碼和原碼一致,如果該數是負數,它的補碼計算方式為:該數的絕對值的二進制、各位取反再加一得到補碼。

比如:

short s = 10;

變量s在內存中存放的方式:

0000 0000 0000 1010

short s = -10;

變量s在內存中存放的方式:

1111 1111 1111 0110

從上面可以看出第一個比特位為0表示正數,1表示負數。

字符型

字符型在C語言中只占用一個字節,而且在內存中是以對應的ASCII碼形式存放的,因此和整型的存儲形式是一樣的。

在C語言中也有轉義字符,這些轉義字符的特性是當從鍵盤上輸入這個字符時,顯示器上就會顯示這個字符,比如a、b、c、$、+和空格符都是可顯示字符。

在C語言中也有‘\’的用法比如‘\n’是換行等等... ...

下面是C語言中轉義字符的一個收集表:

 浮點型:單精度浮點型,雙精度浮點型,和長雙精度浮點型

浮點型的表示形式:十進制小數形式和指數形式。

十進制:123.123

指數形式:123e23

    注意:指數形式表示e(E)前后必須有數字,並且e(E)后面必須是整數。

浮點型各類型占用的字節數大小:

在上面也有用sizeof測試字節數大小的例子,這里就不再敘述了。

浮點型在內存中存放的形式

與整型數據的存放形式不同,浮點型數據是按照指數形式存儲的。系統把一個浮點型數據分成小數部分和指數部分分別存儲,即符號位+小數部分+指數部分。

例如:float f = 123.456的存儲;

 

運算符

C語言中運算符有多種,算術運算符、關系運算符、邏輯運算符、位運算符、賦值運算符、條件運算符、逗號運算符、指針運算符、求字節數運算符、強制類型轉化運算符、分量運算符、下邊運算符等。我們這里介紹下逗號指針求字節運算符。

逗號運算符

在C語言中提供一種特殊的運算符--逗號運算符,它能將兩個表達式連接起來比如:

3+5,6+9

稱為逗號表達式,又稱為“順序求值運算符”。逗號表達式的一般形式為

表達式1,表達式2

求解過程是先求解表達式1,再依次求解表達式2,3。整個逗號表達式的值是最后一個表達式的輸出

比如:b=(a= 3*5,a*4);

最后的結果是60

main(){
    int a;
    int b = (a=3*5,a*4);
    printf("%d",b);
}

逗號不止是能作為運算符號也能作為分隔符號出現的,比如:

printf("%d %d",a,b)

 指針運算符

*符號跟&符號

求字節運算符

作用:用來計算變量或者常量或者是一種數據類型占用的內存字節數。

基本形式:sizeof(變量名|常數|數據類型),完成之后返回一個整數值

表達式的形式跟Java基本一致

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM