計算機二級C語言數據類型及其運算

從而使C語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。下面是小編整理的關於計算機二級C語言數據類型及其運算,希望大家認真閱讀!

計算機二級C語言數據類型及其運算

  ·數據類型

  ·存儲類型

  ·作用域

在本課中,我們只介紹數據類型說明。其它說明在以後各章中陸續介紹。所謂數據類型是按被說明量的性質,表示形式,佔據存儲空間的多少,構造特點來劃分的。在C語言中,數據類型可分爲:基本數據類型,構造數據類型,指針類型,空類型四大類。

  1.基本數據類型

基本數據類型最主要的特點是,其值不可以再分解爲其它類型。也就是說,基本數據類型是自我說明的。

  2.構造數據類型構造數據類型

是根據已定義的一個或多個數據類型用構造的方法來定義的。也就是說,一個構造類型的值可以分解成若干個“成員”或“元素”。每個“成員”都是一個基本數據類型或又是一個構造類型。在C語言中,構造類型有以下幾種:

  ·數組類型

  ·結構類型

  ·聯合類型

  3.指針類型

指針是一種特殊的,同時又是具有重要作用的數據類型。其值用來表示某個量在內存儲器中的地址。雖然指針變量的取值類似於整型量,但這是兩個類型完全不同的量,因此不能混爲一談。4.空類型在調用函數值時,通常應向調用者返回一個函數值。這個返回的函數值是具有一定的數據類型的,應在函數定義及函數說明中給以說明,例如在例題中給出的max函數定義中,函數頭爲: int max(int a,int b);其中“int ”類型說明符即表示該函數的返回值爲整型量。又如在例題中,使用了庫函數 sin,由於系統規定其函數返回值爲雙精度浮點型,因此在賦值語句s=sin (x);中,s 也必須是雙精度浮點型,以便與sin函數的返回值一致。所以在說明部分,把s說明爲雙精度浮點型。但是,也有一類函數,調用後並不需要向調用者返回函數值, 這種函數可以定義爲“空類型”。其類型說明符爲void。在第五章函數中還要詳細介紹。在本章中,我們先介紹基本數據類型中的整型、浮點型和字符型。其餘類型在以後各章中陸續介紹。

對於基本數據類型量,按其取值是否可改變又分爲常量和變量兩種。在程序執行過程中,其值不發生改變的量稱爲常量,取值可變的量稱爲變量。它們可與數據類型結合起來分類。例如,可分爲整型常量、整型變量、浮點常量、浮點變量、字符常量、字符變量、枚舉常量、枚舉變量。在程序中,常量是可以不經說明而直接引用的,而變量則必須先說明後使用。

  整型量

整型量包括整型常量、整型變量。整型常量就是整常數。在C語言中,使用的整常數有八進制、十六進制和十進制三種。

  整型常量

1.八進制整常數八進制整常數必須以0開頭,即以0作爲八進制數的前綴。數碼取值爲0~7。八進制數通常是無符號數。

以下各數是合法的八進制數:

015(十進制爲13) 0101(十進制爲65) 0177777(十進制爲65535)

以下各數不是合法的八進制數:

256(無前綴0) 03A2(包含了非八進制數碼) -0127(出現了負號)

  2.十六進制整常數

十六進制整常數的前綴爲0X或0x。其數碼取值爲0~9,A~F或a~f。

以下各數是合法的十六進制整常數:

0X2A(十進制爲42)  0XA0 (十進制爲160)  0XFFFF (十進制爲65535)

以下各數不是合法的十六進制整常數:

5A (無前綴0X)  0X3H (含有非十六進制數碼)

  3.十進制整常數

十進制整常數沒有前綴。其數碼爲0~9。

以下各數是合法的十進制整常數:

237 -568 65535 1627

以下各數不是合法的十進制整常數:

023 (不能有前導0) 23D (含有非十進制數碼)

在程序中是根據前綴來區分各種進制數的。因此在書寫常數時不要把前綴弄錯造成結果不正確。4.整型常數的後綴在16位字長的機器上,基本整型的'長度也爲16位,因此表示的數的範圍也是有限定的。十進制無符號整常數的範圍爲0~65535,有符號數爲-32768~+32767。八進制無符號數的表示範圍爲0~0177777。十六進制無符號數的表示範圍爲0X0~0XFFFF或0x0~0xFFFF。如果使用的數超過了上述範圍,就必須用長整型數來表示。長整型數是用後綴“L”或“l”來表示的。例如:

十進制長整常數 158L (十進制爲158) 358000L (十進制爲-358000)

八進制長整常數 012L (十進制爲10) 077L (十進制爲63) 0200000L (十進制爲65536)

十六進制長整常數 0X15L (十進制爲21) 0XA5L (十進制爲165) 0X10000L (十進制爲65536)

長整數158L和基本整常數158 在數值上並無區別。但對158L,因爲是長整型量,C編譯系統將爲它分配4個字節存儲空間。而對158,因爲是基本整型,只分配2 個字節的存儲空間。因此在運算和輸出格式上要予以注意,避免出錯。無符號數也可用後綴表示,整型常數的無符號數的後綴爲“U”或“u”。例如: 358u,0x38Au,235Lu 均爲無符號數。前綴,後綴可同時使用以表示各種類型的數。如0XA5Lu表示十六進制無符號長整數A5,其十進制爲165。