<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 基本數據類型 ### 什么是數據? 生活中時時刻刻都在跟數據打交道,比如體重數據、血壓數據、股價數據等。在我們使用計算機的過程中,會接觸到各種各樣的數據,有文檔數據、圖片數據、視頻數據,還有聊QQ時產生的文字數據、用迅雷下載的文件數據等。 C語言中,數據類型可分為:**基本數據類型**,**構造數據類型**,**指針類型**,**空類型四大類**。如圖所示: ![](https://box.kancloud.cn/0027809794023af841521034089f6d64_426x268.png) ### 整型、實型和字符型 基本數據類型中最簡單也是最常用的整型、實型與字符型。 | 數據類型 | 說明 | 字節 | 應用 | 示例 | | --- | --- | --- | --- | --- | | `char` | 字符型 | 1 | 用于存儲單個字符 | `char sex = 'M'` | | `int` | 整型 | 2 | 用于存儲整型 | `int height = 18;` | | `float` | 單精度浮點數 | 4 | 用于存儲小數 | `float price = 11.1;` | | `double` | 雙精度浮點型 | 8 | 用于存儲位數更多的小數 | `double pi = 3.1415926;` | #### 整型 整型數據是指不帶小數的數字。生活中有很多信息適合使用整型數據來表示,比如:人的年齡、班級的人數、書的總頁數等等。因此整型的類型比較多: | 數據類型 | 說明 | 字節 | 取值范圍 | | --- | --- | --- | --- | | `int` | 整型 | 2 | `(-23768~32767) -2^15~2^15-1` | | `short int` | 短整型(int 可省略) | 2 | `(-23768~32767) -2^15~2^15-1` | | `long int` | 長整形(int 可省略) | 4 | `(-2147483648~2147483647) -2^31~2^31-1` | | `unsigned int` | 無符號整形 | 2 | `(0~65535) 0~2^16-1` | | `unsigned short int` | 無符號短整形(int 可省略) | 2 | `(0~65535) 0~2^16-1` | | `unsigned long int` | 無符號長整形(int 可省略) | 4 | `(0~4294967295) 0~2^32-1` | > `int`、`short int`、`long int`是根據編譯環境的不同,所取范圍不同。而其中`short int`和`long int`至少是表中所寫范圍,但是`int`在表中是以16位編譯環境寫的取值范圍。 > 另外 c語言`int`的取值范圍在于他占用的字節數 ,不同的編譯器,規定是不一樣。ANSI標準定義`int`是占2個字節,TC是按ANSI標準的,它的`int`是占2個字節的。但是在VC里,一個`int`是占4個字節的。 #### 浮點數 浮點數據是指帶小數的數字。生活中有很多信息適合使用浮點型數據來表示,比如:人的體重(單位:公斤)、商品價格、圓周率等等。因為精度的不同又分為3種: | 數據類型 | 說明 | 字節 | 取值范圍 | | --- | --- | --- | --- | | `float` | 單精度型 | 4 | -3.4*10^-38~3.4*10^38 | | `double` | 雙精度型 | 8 | -1.7*10-308~1.7*10^308 | | `long double` | 長雙精度型 | 16 | -1.2*10^-4932~1.7*10^4932 | >注:C語言中不存在字符串變量,字符串只能存在字符數組中。 ## 自動類型轉換 數據類型存在自動轉換的情況,比如: ``` char a = 'a'; int x; double d; x = a; // 字符串類型可以自動轉換成整形 d = x; // 整形可以自動轉成為浮點型 ``` 自動轉換發生在不同數據類型運算時,在編譯的時候自動完成。自動轉換遵循的規則就好比小盒子可以放進大盒子里面一樣,下圖表示了類型自動轉換的規則。 ![](https://box.kancloud.cn/9e78c4e9edc692e458dbc29ab0bf3122_381x128.png) char類型數據轉換為int類型數據遵循ASCII碼中的對應值,ASCII碼請查看WIKI。 > 注:字節小的可以向字節大的自動轉換,但字節大的不能向字節小的自動轉換。 ## 強制類型轉換 強制類型轉換是通過定義類型轉換運算來實現的。其一般形式為: ?`(數據類型) (表達式)?` 其作用是把表達式的運算結果強制轉換成類型說明符所表示的類型,例如: ``` double tempOne = 6.777; int tempTwo = (int)tempOne; // 強制轉換為int類型 printf("%f\n", tempOne); // 6.777000 printf("%d\n", tempTwo); // 6 ``` 在使用強制轉換時應注意以下問題: 1. 數據類型和表達式都必須加括號,如把`(int)(x/2+y)`寫成`(int)x/2+y`則成了把x轉換成int型之后再除2再與y相加了。 2. 轉換后不會改變原數據的類型及變量值,只在本次運算中臨時性轉換。 3. 強制轉換后的運算結果不遵循四舍五入原則。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看